บทที่ 3...
TRANSCRIPT
บทท 3 การเรมตนพฒนาโปรแกรม สาระบทเรยน
1. การเรมตนสรางโปรเจกต (project) และแอพพลเคชน (application) 2. การก าหนดโทรศพทจ าลอง (emulator) เพอการทดลองเรยกโปรแกรมท างาน 3. การเรยกโปรแกรมท างานบนโทรศพทจ าลอง
การเรมตนสรางโปรเจกต
เนอหาในบทนมวตถประสงคเพอใหนสตเรมฝกพฒนาแอพพลเคชนบนระบบแอนดรอยด (Android)
ได และเปนการเรมตนเรยนรการใชงานเครองมอตางๆ ไปพรอมๆ กน ซงในทนจะเรมสอนการพฒนาแอพ
พลเคชนแสดงขอความ Hello World ซงเปนแอพพลเคชนแรกๆ ทถกใชเปนตวอยางในการพฒนาเบองตน
ของการเขยนโปรแกรมนอกจากนแอพพลเคชน Hello World ยงถกใชเปนตวตรวจสอบการท างานของ
คอมไพเลอร (Compiler)และสวนส าคญตางๆ ของเครองมอทไดตดตงในบททผานมา และยงเปนตวชวยใน
การตรวจสอบขอผดพลาดระหวางการตดตงไอดอ (Integrated Development Environment -IDE) อก
ดวย ดงนนการฝกพฒนาแอพพลเคชนในบทน จงเปนพนฐานส าหรบการพฒนาแอพพลเคชนประยกตใน
ขนสงตอไป ทงนการฝกพฒนาแอพพลเคชนจะเปนการเรยนรดวยตวอยาง ซงผศกษาสามารถพฒนาแอพ
พลเคชนตามขนตอนและสามารถน าไปใชงานไดจรง โดยไมมงเนนถงการอธบายในรายละเอยดเชงลกของ
ก า ร ใ ช ง า น แ ต ล ะ ฟ ง ก ช น น ส ต ส า ม า ร ถ ห า ข อ ม ล เ พ ม เ ต ม ไ ด จ า ก เ ว บ ไ ซ ต ต า ง ๆ เ ช น
http://developer.android.com/
เรมตนสรางแอพพลเคชน
1. เมอจะเรมพฒนาแอพแอนดรอยด อนดบแรกตองสรางโปรเจกตใหมในแอนดรอยดสตดโอ ดงนนให
เรยกโปรแกรมแอนดรอยดสตดโอขนมาท างานซงจะพบกบหนาจอหนาจอ Welcome to Android Studio
(ตอไปเรยกวา หนาจอ Welcome)
34
2. คลก Start a new Android Studio project จะปรากฏวนโดว Create New Project
3. ในชอง Application name จะตองตงชอแอพพลเคชน โดยในทนใหพมพค าวา My Application ชอทพมพในชองน คอชอแอพทผ ใชจะเหนเมอเราสงขน Google Play Store 4. ในชอง Company Domain ใหพมพชอโดเมนของเวบไซทของเรา โดยทนใหพมพวา example.com ตามรปกได ชอแพกแกจ (Package name) คอชอทเปน ID ประจ าตวแอพพลเคชน โดยแอพพลเคชนตางๆ จะทชอแพกเกจของแอพฯ ทโปรแกรมก าหนดใหนเกดจาการน าชอโดเมนทก าหนดวา example.com
35
และระบชอแอพวา My Application กจะไดชอแพกเกจเปน com.example.myapplication โดยการตงชอแพจเกจในลกษณะนจะสามารถชวยลดโอกาสซ ากนไดของชอแอพฯ 5. ส าหรบชอง Project locationใหระบโฟลเดอร(folder) ทตองการใชจดเกบไฟลตางๆ ของโปรเจกตน ในทนจะใช รปแบบตามน หรอ สามารถเปลยนสงทอย(path) ได เชน D:\MyApplication 6. คลกNext เพอไปยงหนาถดไป
หนาจอนส าหรบระบวาตองการสรางแอพฯทรนบนอปกรณประเภทใดบาง รวมทงเวอรชนขนต าของแอน
ดรอยดทสามารถรนแอพฯของคณได โดยยงระบเวอรชนต าเทาใดกจะยงมจ านวนอปกรณทรนแอพของคณ
ไดมากขนเทานน
36
หนาจอนส าหรบเลอกรปแบบของแอกทวตทตองการ โดยแอกทวต (Activity) กคอหนาจอ (UI screen) ของแอพ ซงแอนดรอยดสตดโอเตรยมแอกทวตส าเรจรปมาใหหลายรปแบบ 7.คลกเลอก Empty Activity เพอสรางแอกทวตทเปนหนาจอวางๆ 8. คลป next เพอไปยงหนาจอถดไป
37
9. ในชอง Activity Name ใหพมพวา Main Activity เพอก าหนดชอไฟล .java ของแอกทวต ซงจะกลายเปนชอคลาส(class) ในไฟลนนดวย (ชอไฟล .java และชอคลาสในไฟลตองเปนชอเดยวกน ตามกฎ ของภาษา java ) ไฟล .java จะเกบค าสงจาวาทเปนรายละเอยดการท างานในแอกทวตนน 10. ในชอง Layout Name ใหพมพวา Activity_Main เพอก าหนดชอใหกบ layout file ของแอกทวต ซง Layout จะมนามสกล .xml และท าหนาทก าหนดหนา UI ของแอกทวต 11. คลก Finish เพอเสรจการสรางโปรเจกต
หลงจากคลก Finish กจะเขาสหนาจอหลกของแอนดรอยดสตดโอซงเปนสภาพแวดลอมทเราจะใชในการ
พฒนาแอพฯ โดยจะมไดอะลอก Tip of the Day ทแนะน าเคลบลบการใชแอนดรอยดสตดโอปรากฎขนมา
ใหคลกป ม close เพอปดไดอะลอกไป
38
การก าหนดโทรศพทจ าลอง (emulator) เพอการทดลองเรยกโปรแกรมท างาน
การพฒนาแอพฯแอนดรอยดนน ไมจ าเปนตองมเครองแอนดรอยดจรงเพอทดสอบการท างานของแอพฯ เนองจากเครองมอแอนดรอยด(SDK) ไดเตรยมโทรศพทแอนดรอยดจ าลอง (Android Virtual Device AVD) มาใหแลว มนคอโปรแกรมทจ าลองการท างานของเครองแอนดรอยจรงขนมาในคอมพวเตอรของเรา โดยเราสามารถก าหนดเวอรชนของแอนดรอยดทรนรวมถงคณสมบตอนๆ เชนหนาจอ และความจของ SD card ได โดยกอนทเราจะแอพฯดวยโทรศพทจ าลอง เราจ าเปนตองสรางโทรศพทแอนดรอยดจ าลองขนกอน การจดการและตงคาโทรศพทแอนดรอยดจ าลอง บนแอนดรอยดสตดโอนนสามารถเปดหนาตางส าหรบการจดการและตงคาโทรศพทแอนดรอยดจ าลองดวยตวจดการจดการและตงคาโทรศพทแอนดรอยดจ าลอง(AVD Manager) ไดอย 2 วธคอ กดป มไอคอนลดทอยแถบขางบนของหนาจอโปรแกรม
39
หรอเลอกไปท Tools > Android > Android Device Monitor
ตวอยางหนาตางตวจดการฯ
ในทนจะมการสรางโทรศพทแอนดรอยดจ าลองใหม 1 รายการ ซงจ าลองมอถอ Nexus 5 ทรนแอนดรอยด 5.0(Lollipop) ดวยการกดเลอกท Create Virtual Device... กจะมหนาตางส าหรบเลอกอปกรณทจะสราง โดยจะมการแยกหมวดหมใหดวยวาเปน TV, Phone, Wear หรอ Tablet ดงรปท .....
40
เลอกเปน Nexus 5 แลวกดป ม Next
Device Name ชอของโทรศพทแอนดรอยดจ าลองทจะสราง Screen > Screen size ขนาดหนาจอ หนวยเปนนว Screen > Resolution ความละเอยดของหนาจอ หนวยเปนพกเซล Memory RAM ในโทรศพทฯจ าลอง(ไมตองก าหนดเยอะ เพราะจะรบกวนจากหนวยความจ า(RAM) จากคอมทใชนนเอง) Input ก าหนดป ม Input ส าหรบโทรศพทฯจ าลองโดยจดการฯกจะมรายชอเครองใหเลอกประมาณ
41
หนงอยแลว สามารถกดเลอกไดเลย แตถาตองการก าหนดคาเองกใหกดทป ม New Hardware Profile กจะมหนาตางก าหนดคาขอมลโทรศพทฯจ าลอง (Device Profile)ให
เมอเสรจแลวกกดป ม Finish เพอสรางเปนโทรศพทฯจ าลองกจะแสดงใหเหนในรายชอใหเลอกสรางไดแลว
ตอไปเลอกวาเราจะใชแอนดรอยดรน(version)อะไร เลอก version แลวกด Next
ส าหรบป ม Import Hardware Profiles จะเปนการสรางขอมลโทรศพทฯจ าลอง จากไฟลทก าหนดคามาใหเรยบรอยแลว จงท าใหสามารถสราง Profile ขนแลวแลวแจกจายไปยงเครองอนๆได ในกรณทตองการคดลอก(clone) แกไข(edit) ลบ(delete) หรอสงออก(export) เปนไฟลเพอไปน าเขา (import) ทเครองอนกเพยงแคคลกขวาทขอมลโทรศพทฯจ าลองตวนนๆ
ส าหรบการโคลนจะเปนการน าขอมลโทรศพทฯจ าลองทมอยแลวมาแกไขนนเอง
42
เมอเลอกขอมลโทรศพทฯจ าลองตองการไดแลวใหกดป ม Next หนาถดมาจะเปนการเลอกวาโทรศพทฯจ าลอง จะใช System Image เปนแบบไหน ซงจะมใหเลอกตามเวอรชนแอนดรอยดดวย (แนะน าใหเลอกอนทม ABI เปน armeabi-v7a)
อนไหนทมค าวา Downloads ตอทายกหมายความวาเครองนนๆยงไมไดดาวนโหลด System Image ของตวนนๆมา กจะท าการดาวนโหลดมาตดตงใหโดยอตโนมต เมอก าหนด System Image เรยบรอยแลว กจะเปนหนาสรปโทรศพทฯจ าลองทจะสราง
43
และทส าคญกคอมเมน Startup size and orientation ใหดวย เพอเอาไวก าหนดวาอตราสวนหนาจอทจะแสดงบนคอมพวเตอร เพราะวาโทรศพทฯจ าลองบางตวมหนาจอขนาดใหญมากเชน Nexus 6 ดงนนจงก าหนดไดวาจะใหสเกลทแสดงบนหนาจอคอมเปนเทาไรแทน โดยองหนวย dp ของอปกรณ(Device)ตอ px บนหนาจอคอมฯ
และถากดป ม Show Advanced Settings กจะสามารถก าหนดรายละเอยดปลกยอยของโทรศพทฯจ าลองไดดวย
44
เมอก าหนดเสรจทงหมดแลวกใหกดป ม Finish กจะเหนโทรศพทฯจ าลองแสดงอยในหนาตวจดการฯ
45
ถาตองการเปดโทรศพทฯจ าลองขนมา กใหกดป มลกศรสเขยว ถาตองการแกไขขอมลโทรศพทฯจ าลอง ใหมอกครงใหกดป มรปดนสอ และจะมเมนยอยอยในลกศรสเทาอกท ซงทงหมดนตอง Double Click เพอเลอก (คลกทเดยวไมตด)
การเรยกโปรแกรมท างานบนโทรศพทจ าลอง เราสามารถรนแอพฯทสรางขนท างานโดยสงจากเมนแอนดรอยดสตดโอเลอก Run > Run app หลงจากคลกเลอกโปรแกรมจะท างานสกพก ซงอาจใชเวลาพอสมควร
47
รอสกคร โปรแกรมจะท างาน หนาตางแสดงสถานะการท างานจะแสดงดานลาง แจงการท างานตางๆ
เมอโทรศพทฯจ าลอง แสดงขนมาแลว เราอาจจะตองท าการกดเลอน เพอ unlock screen ทหนา จอ
48
หลกจากนน เราจะเหน app อยางงาย ชอ My Application แสดงขนมาตามรป
เปนอนเสรจขนตอนการทดสอบการรนแอพฯผานโทรศพทฯจ าลอง
49
แตถาหากไมมการสรางโทรศพทฯจ าลอง หรอตองการสรางเพมจ าลองมอถอ / แทบเลตรนอน สามารถสรางโทรศพทฯจ าลองขนมาใชงานเพมเตมได โดยเลอก Create Virtual Device..แลวท าการก าหนดคาเหมอนกบการสรางโทรศพทฯจ าลองอนทผานมา