13
เนือหาที ้ มี่ การปรับปรุง บทที่ 2 : ติดตังเครื ้ ่องมือพัฒนาแอปพลิเคชันสํ ่ าหรับอุปกรณแอนดรอยด บทที่ 4 : ทดสอบการติดตอระหวางอุปกรณแอนดรอยดและบอรด IOIO-Q บทที่ 5 : เริ่มตนกับการสรางแอปพลิเคชัน่
108 ซ.สุขุมวิท 101/2 ถ.สุขุมวิท แขวงบางนา เขตบางนา กรุงเทพฯ 10260 โทรศัพท0-2747-7001-4 โทรสาร 0-2747-7005 อีเมล tech@inex.co.th เว็บไซตwww.inex.co.th
14
15
ในการพัฒนาแอปพลิเคชัน่ ผูพั ฒนาตองดาวนโหลดซอฟตแวรซึงเป ่ นเครืองมื ่ อสําคัญจากอินเทอรเน็ตเพือ่ นํามาติดตังลงในคอมพิ ้ วเตอร จากนันจึ ้ งเริมต ่ นพัฒนาแอปพลิเคชันให ่ กับอุปกรณแอนดรอยดตอไป โดยซอฟตแวร ทีสํ่ าคัญทังหมดมี ้ ดังนี้ 1. Eclipse 2. Java Development Kit (JDK) 3. Android Software Development Kit (Android SDK)
2.1 ซอฟตแวรสําหรับการพัฒนาแอปพลิเคชัน่ 2.1.1 Eclipse Eclipse เปนซอฟตแวรสําหรับพัฒนาโปรแกรมภาษาจาวาทีรองรั ่ บการพัฒนาแอปพลิเคชันสํ ่ าหรับอุปกรณ แอนดรอยด เปนที่นิยมมากทีสุ่ ด เพราะเปนโอเพนซอรสซอฟตแวรทีพั่ ฒนาขึ้นมาเพือใช ่ งานโดยนักพัฒนาเอง ทําให Eclipse มีพัฒนาการอยางตอเนื่องและรวดเร็ว Eclipse มีจุดเดนที่เรียกวา Plug-in Development Environment (PDE) ทีเพิ ่ มความสามารถในการพั ่ ฒนา ซอฟตแวรไดมากขึ้น ทังยั ้ งรองรับการนํา plug-in มาติดตั้งเพิมให ่ กับ Eclipse ได ซึงชุ ่ ดพัฒนาอุปกรณแอนดรอยด ก็เปนการนํา plug-in สําหรับพัฒนาแอปพลิเคชันมาติ ่ ดตั้งลงใน Eclipse เชนกัน นอกจากนี้ยังรองรับการทํางานได กับไฟลหลายชนิด อาทิ HTML, JAVA, C และ XML เปนตน และทีสํ่ าคัญทีสุ่ ดก็คือ ใชงานกับระบบปฎิบัติการ Windows, Linux และ Mac OS ได
2.1.2 Java Development Kit (JDK) เปนชุดคําสังในการพั ่ ฒนาโปรแกรมดวยภาษาจาวา และบรรจุเครืองมื ่ อในการพัฒนาโปรแกรม อาทิ Java Compiler, Java Debugger หรือ Java VM (Java Virtual Machine) เปนตน อันเปนหัวใจสําคัญสําหรับการพัฒนา โปรแกรมดวยภาษาจาวา
2.1.3 Android Software Development Kit (Android SDK) Android SDK เปนชุดโปรแกรมทีทาง ่ Google ไดพัฒนาขึ้นมาเพือแจกจ ่ ายใหผูพั ฒนาแอปพลิเคชัน่ โดย บรรจุโปรแกรมและไลบรารีตางๆ ทีจํ่ าเปนตอการพัฒนาแอปพลิเคชันสํ ่ าหรับอุปกรณแอนดรอยด เชน อีมูเลเตอร (Emulator) หรือตัวจําลองการทํางานที่ทําใหผูพัฒนาสามารถสรางแอปพลิเคชั่นและทดลองบนตัวจําลองซึ่งมี ลักษณะการทํางานเหมือนกับอุปกรณแอนดรอยดจริงๆ กอนทีจะทํ ่ าการติดตังลงในอุ ้ ปกรณแอนดรอยดจริงตอไป
16
2.2 การติดตังเครื ้ องมื ่ อทางซอฟตแวร 2.2.1 การติดตั้งซอฟตแวรบนระบบปฏิบัติการ Windows สําหรับการติดตั้งซอฟตแวรบนวินโดวสทีนํ่ ามาอธิบายนี้ ขออางอิงกับ Windows 7 รุน 64 บิต สําหรับ บนระบบปฏิบัติการวินโดวสในเวอรชันอืน่ อาจมีความแตกตางบางเล็กนอย
2.2.1.1 ติดตัง้ Java Development Kit (JDK) (1) ดาวนโหลด Java Development Kit (JDK) จาก http://www.oracle.com/technetwork/java/javase/ downloads/index.html ในตัวอยางนีเป ้ นเวอรชัน 7 Update 21 ถามีเวอรชันลาสุดทีใหม ่ กวาใหใชเวอรชันนันๆ ้ แทน
17
(2) จะปรากฏหนาตางตอบรับการยอมรับในลิขสิทธิ์ ใหคลิกเลือกทีช่ อง Accept License Agreement แลว เลือกระบบปฏิบัติการที่ใชงานทีช่ อง Download ในทีนี่ ้เลือกเปน Windows x64
(3) หลังจากดาวนโหลดตัวติดตังแล ้ ว รันไฟลติดตัง้ จะพบหนาตางสําหรับเริมติ ่ ดตังโปรแกรมปรากฏขึ ้ นมา ้ คลิกปุม Next
18
(4) ปรากฏหนาตางแสดงรายชือไฟล ่ ตางๆ ทีต่ องการติดตัง้ เลือกทีอยู ่ ของไฟล ทีต่ องการติดตังลงบนเครื ้ อง ่ คอมพิวเตอร ในตัวอยางนีติ้ ดตั้งไวที่ C:\Program Files\Java\jdk1.7.0_21\ จากนันรอให ้ การติดตังดํ ้ าเนินการไป จนเสร็จ
(5) ลําดับตอไปเปนการติดตั้ง Java Runtime Environment (JRE) ซึงเป ่ นซอฟตแวรสําหรับประมวล ผลของภาษาจาวา เลือกที่อยูของไฟลที่ตองการติดตั้งลงบนคอมพิวเตอร ในตัวอยางนี้ติดตั้งไวที่ C:\Program Files\Java\jre7\ รอใหการติดตั้งดําเนินไปจนเสร็จสิน้ คลิกปุม Close เพือสิ ่ ้นสุดการติดตั้งโปรแกรม
19
2.2.1.2 ติดตัง้ Android SDK (1) ดาวนโหลด Android SDK จาก http://developer.android.com/sdk/index.html ซึงได ่ รวมตัวติดตั้ง ADT (Android Developer Tools) และ Eclipse ไวแลว คลิกปุม Download the ADK ADT Bundle for window ถาหากใชระบบปฏิบัติการอื่น ใหคลิกที่แถบขอความ DOWNLOAD FOR OTHER PLATFORMS
20
(2) หนาตาง Get the Android SDK ปรากฏขึ้น คลิกเลือกทีช่ อง I have read and agree with the above terms and conditions และชอง 64-bit
(3) เมือได ่ ไฟลติดตังมาแล ้ ว ทําการแตกไฟลไปทีโฟลเดอร ่ adt-bundle-windows-x86_64-20130219\eclipse ดับเบิลคลิกที่ไอคอน eclipse เพือรั ่ นโปรแกรมใหทํางาน
21
(4) เมือเป ่ ดโปรแกรมขึ้นมาแลว จะพบกับโลโกของโปรแกรม จากนั้นหนาตาง Workspace Launcher ปรากฏขึ้นมา ซึงเป ่ นหนาตางสําหรับกําหนดทีอยู ่ ของโฟลเดอรทีใช ่ เก็บไฟลโปรแกรมภาษาจาวาทีสร ่ างขึ้น ใน ตัวอยางนีเก็ ้ บไวที่ C:\Workspace จากนั้นคลิกเลือกเครื่องหมายถูกที่ชอง Use this as the default and do not ask again เพือไม ่ ใหถามซํ้าอีกครั้งเมื่อเปดใชงานในครั้งตอไป คลิกปุม OK เพือผ ่ านขั้นตอนนี้ไป
(5) โปรแกรมจะเปดขึ้นมา พรอมกับหนาตาง Welcome to Android Development ใหคลิกปุมกากะบาท เพือป ่ ดหนาตางนี้
22
(6) ไปที่ Window > Android SDK Manager เพือตั ่ งค ้ าใหกับ Android SDK ในโปรแกรม Eclipse
(7) หนาตาง Android SDK Manager ปรากฏขึ้นมา มีรายชือแพ็ ่ กเกจใหดาวนโหลด ใหเลือกทีช่ อง Tools และ Extras สําหรับชองอืนๆ ่ ทีเป ่ นชื่อแอนดรอยดแตละเวอรชันจะเปนชุดพัฒนาโปรแกรมสําหรับระบบปฏิบัติ การแอนดรอยดเวอรชันนั้นๆ ผูใช งานเลือกติดตั้งไดมากกวาหนึงเวอร ่ ชันตามตองการ ซึงมี ่ ผลกับแอปพลิเคชันที ่ ่ จะสรางขึ้น ในตัวอยางนีเลื ้ อกติดตั้ง 5 แพ็กเกจหลักคือ Android 1.5 (API 3), Android 2.2 (API 8), Android 2.3.3 (API 10), Android 4.1.2 (API 16) และ Android 4.2.2 (API 17) ในหนังสือเลมนี้ใช Android 4.2.2 (API 17) ในการสรางแอปพลิเคชันเป ่ นหลัก สวน Android 1.5 (API 3) และ Android 2.3.3 (API 8) จะเปนเรื่องของไฟล ไลบรารีทีต่ องเพิมเข ่ ามาเพือใช ่ เขียนแอปพลิเคชันให ่ ทํางานรวมกับบอรด IOIO และ IOIO-Q ได สําหรับเวอรชันของแอปพลิเคชันที ่ ่เลือกนั้นสงผลตอการสรางแอปพลิเคชัน่ โดยเปนการกําหนดวา ตอง การแอปพลิเคชันที ่ สร ่ างขึนนั ้ นรองรั ้ บอุปกรณแอนดรอยดเวอรชันใดเปนอยางนอย โดยเวอรชันทีใหม ่ กวาสามารถ รองรับแอปพลิเคชันเวอร ่ ชันเกาได แตเวอรชันเกาจะไมรองรับแอปพลิเคชันของเวอร ่ ชันใหมกวาได เนืองจากใน ่ เวอรชันทีใหม ่ กวาจะมีคุณสมบัติ ความสามารถ และลูกเลนสําหรับแอปพลิเคชันเพิ ่ มเข ่ ามา ทําใหมีความหลากหลาย ในการสรางแอปพลิเคชันเพิ ่ มมากขึ ่ ้น ดังนั้นจึงควรเลือกใหเหมาะสม เพราะผูใช คนอืนๆ ่ นั้นอาจไมไดใชเวอรชัน เดียวกับผูพั ฒนาแอปพลิเคชัน่ จึงควรทํารองรับไวดวย เพือให ่ แอปพลิเคชันที ่ ่ทําขึ้นรองรับกับอุปกรณแอนดรอยด ไดหลากหลาย
23
เมือเลื ่ อกแพ็กเกจที่ตองการติดตั้งแลว คลิกปุม Install x Package… (x คือจํานวนแพ็กเกจที่จะทําการติด ตั้ง) เพือติ ่ ดตั้งแพ็กเกจที่เลือกไว
(8) โปรแกรมจะแสดงหนาตาง Choose Packages to Install เพือยื ่ นยันแพ็กเกจทีต่ องการติดตัง้ คลิกเลือก แตละแพ็กเกจตางๆ ทีต่ องการ แลวเลือก Accept License ก็จะเครื่องหมายถูกสีเขียวขางหนาแพ็กเกจตางๆ จากนัน้ ก็ใหคลิก Accept เพือตอบรั ่ บจนครบทุกหัวขอที่ตองการ แลวคลิก Install
รอจนกระทังติ ่ ดตังแพ็ ้ กเกจเสร็จ ระยะเวลาในการติดตังขึ ้ นอยู ้ กั บความเร็วอินเทอรเน็ต ในกรณีทีเลื ่ อก ติดตั้งชุดพัฒนาแอปพลิเคชันบนแอนดรอยด ่ ทุกเวอรชัน อาจตองใชเวลานานพอสมควร
24
(9) เมื่อติ ดตั้งแพ็กเกจเรียบรอยทังหมดแล ้ ว ทีแถบด ่ านลางของหนาตางจะมีขอความ Done loading packages แสดงขึ้นมา พรอมกับปุม Installpackages กลายเปนสีเทา
(10) ปดหนาตาง Android SDK Manager แลวไปที่ Window > Preferences
25
(11) หนาตาง Preference ปรากฏขึ้นมา เลือกที่ Android จะเห็นวามี SDK ทีได ่ ติดตั้งจากขั้นตอนกอน หนาแสดงขึ้นมา เปนอันเสร็จสินการติ ้ ดตั้งซอฟตแวรสําหรับพัฒนาแอปพลิเคชันบนอุ ่ ปกรณแอนดรอยด
26
59
IOIO-Q
การทดสอบการทํางานของบอรด IOIO และ IOIO-Q แบงออกเปน 2 กรณีคือ เชือมต ่ อบอรด IOIO กับอุปกรณแอนดรอยดผานพอรต USB โดยใชสาย microUSB และเชือมต ่ อบอรด IOIO กับอุปกรณแอนดรอยด แบบไรสายผานบลูทูธ
4.1 เตรียมการอุปกรณแอนดรอยด 4.1.1 การเปดใชงาน USB Debugging บนอุปกรณแอนดรอยดเวอรชันตํ่ากวา 4.2.1 ไมวาการเชือมต ่ อกับบอรด IOIO และ IOIO-Q ของอุปกรณแอนดรอยดจะเปนแบบใชงายหรือไรสายก็ตาม ทีอุ่ ปกรณแอนดรอยดจะตองมีการเตรียมความพรอมเพือรองรั ่ บการติดตอกับบอรด IOIO หรือ IOIO-Q เสียกอน ทังนี ้ ้เนื่องจากการติดตอของบอรด IOIO-Q กับอุปกรณแอนดรอยดเปนแบบ ADB หรือ Android Debug Bridge ขั้นตอนของการเตรียมการอุปกรณแอนดรอยดกอนเชื่อมตอกับ IOIO-Q งายมาก เพียงเลือกเขาไปยังเมนู Settings > Applications > Development ใหคลิกหรือแตะเลือกเพือทํ ่ าเครื่องหมายถูกที่ชอง USB Debugging ดังรูปที่ 4-1
รูปที่ 4-1 ตัวอยางการเปดใชงาน USB Debugging บนอุปกรณแอนดรอยดเวอรชันตํ่ากวา 4.2.1
60
4.1.2 การเปดใชงาน USB Debugging บนอุปกรณแอนดรอยดเวอรชัน 4.2.1 ขึนไป ้ ในอุปกรณแอนดรอยดเวอรชัน่ 4.2.1 เปนตนมา ระบบไดทําการซอนเมนู Developer options ไว หาก ตองการเปด จึงตองมีขั้นตอนเพิมเติ ่ ม โดยเขาไปทีเมนู ่ About phone > Build number แลวแตะเลือกเปนจํานวน 3 ถึง 4 ครั้ง ตามรูป จนกระทังมี ่ ขอความ You are now a developer! แสดงขึ้นมาดังรูปที่ 4-2
รูปที่ 4-2 ตัวอยางการเปดเมนู Developer options บนอุปกรณแอนดรอยดเวอรชัน 4.2.1 ขึนไป ้ จากนั้นเมนู Developer options ปรากฏขึ้นมาในหนาเมนู Setting หลัก ทําการแตะเลือกเขาไปเพือตั ่ งค ้ า USB debugging โดยแตะเลือกเพื่อทําเครื่องหมายถูกที่ชอง USB Debugging จะแสดงหน าตาง Allow USB debugging? ขึ้นมา จากนั้นแตะเลือกปุม OK ก็จะเปนการเปดใชงาน USB Debugging บนอุปกรณแอนดรอยด เวอรชัน 4.2.1 ขึ้นไปทีมี่ การซอนเมนู Developer options เอาไว ดังรูปที่ 4-3
รูปที่ 4-3 การเปดใชงาน USB Debugging บนอุปกรณแอนดรอยดเวอรชัน 4.2.1 ขึนไป ้
61
4.2 การเชือมต ่ ออุปกรณแอนดรอยดกับ IOIO-Q แบบใชสาย microUSB (4.2.1) ติดตั้งบอรด IOIO-Q ลงบนบอรด IOIO Activity ดังรูปที่ 4-4 (4.2.2) จายไฟในยาน +6.5V ถึง +9V ใหกับบอรด IOIO-Q เนืองจากในการเชื ่ ่อมตอผานสาย microUSB อุปกรณแอนดรอยดไมไดจายไฟเลียงให ้ กับบอรด IOIO-Q แตตัว IOIO-Q เองกลับเปนฝายจายไฟเลียงไปยั ้ งอุปกรณ แอนดรอยดแทน ทังยั ้ งเปนการประจุแรงดันใหกับแบตเตอรี่ภายในอุปกรณแอนดรอยดดวย (4.2.3) ตอสาย microUSB ระหวางบอรด IOIO-Q กับอุปกรณแอนดรอยด ทีแถบ ่ Notification ของอุปกรณ แอนดรอยด จะมีการแจงวากําลังประจุแบตเตอรีอยู ่ และมีการเชือมต ่ อ USB Debugging ในกรณีทีไม ่ มีการแจง ตอง ตรวจสอบการเปดใชงาน USB Debugging ใหมอีกครั้ง (4.2.4) ในกรณีที่ใชบอรด IOIO ตนฉบับ (ไมใช IOIO-Q) ติดตอกับอุปกรณแอนดรอยดไมได ใหหมุนตัว ตานทานปรับคาไดทีตํ่ าแหนง CHG บนบอรด IOIO เพือปรั ่ บแรงดันไฟฟาทีจ่ ายใหอุปกรณแอนดรอยดมากขึน้ ใน การปรับตัวตานทานตองกระทําอยางระมัดระวังเพื่อปองกันความเสียหายที่อาจเกิดขึ้นกับตัวบอรดได สังเกตที่ บอรด IOIO จะมี LED สีเหลืองกะพริบหนึงครั ่ ้ง นั่นหมายความวาบอรด IOIO เชือมต ่ อกับอุปกรณแอนดรอยด เปนทีเรี่ ยบรอยแลว แตถาหากใชบอรด IOIO-Q จะไมพบปญหาในลักษณะนี้ นอกจากนันในอุ ้ ปกรณแอนดรอยดบางรุนเมือใช ่ การติดตอผาน USB Debugging ไประยะหนึง่ เมือต ่ อกับ บอรด IOIO ในครั้งตอไป จะไมแสดงการเปดใชงาน USB Debugging แตยังคงใชงานไดตามปกติ
รูปที่ 4-4 บอรด IOIO-Q เมื่อติดตั้งลงบนบอรด รูปที4-5 ่ แสดง Notification แจงการใช USB Debugging บนอุปกรณแอนดรอยด IOIO Activity
62
รูปที่ 4-6 ตอบลูทูธดองเกิลเขากับบอรด IOIO-Q ทีติ่ ดตั้งบนบอรด IOIO Activity
4.3 การเชือมต ่ ออุปกรณแอนดรอยดกับ IOIO-Q แบบไรสายผานบลูทูธ (4.3.1) ตอบลูทูธดองเกิลเขากับบอรด IOIO-Q ดังรูปที่ 4-6 จะเห็น LED แสดงสถานะ (STATUS-LED) ติดกะพริบหนึ่งครั้ง เปนการแจงใหทราบวา IOIO-Q ติดตอกับบลูทูธดองเกิลไดแลว (4.3.2) ทีอุ่ ปกรณแอนดรอยด ทําการเลือกไปที่ Setting > Wireless and Networks > Bluetooth Settings เลือกเครื่องหมายถูกที่ Bluetooth เพือเป ่ ดการใชงานบลูทูธ รอสักครูเพือให ่ อุปกรณคนหาสัญญาณจากบลูทูธดอง เกิล หากพบ จะแสดงเปนชื่ออุปกรณนําหนาดวย IOIO แลวตอดวยหมายเลขประจําตัวของบลูทูธดองเกิล จากนั้น ทําการจับคู (pairing) กับบลูทูธดองเกิล
63
(4.3.3) ในการจับคูสัญญาณกับบลูทูธดองเกิล ระบบจะใหใสเลขรหัสของการจับคู ซึงก็ ่ คือ 4545 จากนั้น เลือกปุม OK
(4.3.4) ถาเชือมต ่ อไดแลวจะปรากฏขอความวา Paired แตอุปกรณแอนดรอยดบางรุนจะแสดงข อความ Paired but not connected แทน ซึงก็ ่ หมายความวา เชือมต ่ อไดแลวเชนกัน
64
4.4 กรณีทีอุ่ ปกรณแอนดรอยดคนหาสัญญาณของบลูทูธดองเกิลไมพบ มีขันตอนการแก ้ ไขปญหาดังนี้ (4.4.1) ถอดบลูทูธดองเกิลออกจากบอรด IOIO หรือ IOIO-Q (4.4.2) นําบลูทูธดองเกิลไปตอกับคอมพิวเตอรแทน ถาคอมพิวเตอรทีใช ่ ยังไมไดติดตั้งไดรเวอรสําหรับ บลูทูธดองเกิลตองทําการติดตั้งใหเรียบรอยกอน ปดบลูทูธที่มากับคอมพิวเตอร (ถามี) (4.4.3) จากนั้นใชอุปกรณแอนดรอยดคนหาบลูทูธดองเกิลอีกครั้ง หากไมมีอะไรผิดพลาด จะพบชือของ ่ อุปกรณบลูทูธดองเกิลนีเป ้ นชือคอมพิ ่ วเตอรทีเชื ่ อมต ่ ออยู ในกรณีทีอุ่ ปกรณแอนดรอยดตัวนันๆ ้ เคยเชือมต ่ อบลูทู ธกับคอมพิวเตอรตัวที่ใชงานนี้มากอน ใหยกเลิกการจับคูเสียกอน (4.4.4) เมืออุ ่ ปกรณแอนดรอยดคนหาบลูทูธดองเกิลพบแลว อยาเพิงจั ่ บคู ใหถอดบลูทูธดองเกิลออกจาก คอมพิวเตอร แลวนําไปตอกับบอรด IOIO หรือ IOIO-Q กอน (ทุกขั้นตอนในหัวขอนีต้ องเปนดําเนินการอยางตอ เนื่อง และตองจายไฟเลียงแก ้ บอรด IOIO หรือ IOIO-Q ตลอดเวลา) จากนันจึ ้ งดําเนินการจับคูกับบลูทูธดองเกิลอีก ครั้ง ในระหวางการเชือมต ่ อชื่อของบลูทูธดองเกิลยังคงเปนชื่อคอมพิวเตอรอยู เมือจั ่ บคูเสร็จแลว ก็จะเปลี่ยนเปน ชือของบอร ่ ด IOIO ในภายหลัง ในรูปที่ 4-7 แสดงขันตอนโดยสรุ ้ ปของการแกปญหาในกรณีทีอุ่ ปกรณแอนดรอยดคนหาบอรด IOIO หรือ IOIO-Q ทีต่ อกับบลูทูธดองเกิลไมพบ
รูปที่ 4-7 แนวทางในการแกปญหาอุปกรณแอนดรอยดคนหาบอรด IOIO หรือ IOIO-Q ทีต่ อกับบลูทูธ ดองเกิลไมพบ
65
4.5 การทดสอบ ตอไปนี้เปนการทดสอบการเชือมต ่ อระหวางบอรด IOIO หรือ IOIO-Q กับบลูทูธดองเกิล (4.5.1) ดาวนโหลดโปรแกรมทดสอบไดที่ https://www.sparkfun.com/tutorial/ioio/HelloIOIO.zip จากนัน้ ทําการแตกไฟล เลือกเขาไปยังโฟลเดอร HelloIOIO\bin\ ก็จะพบไฟล HelloIOIO.apk ใหคัดลอกไปเก็บไวใน SD การดของอุปกรณแอนดรอยด แลวติดตั้งแอปพลิเคชันดั ่ งกลาวลงในอุปกรณแอนดรอยด (4.5.2) เปด HelloIOIO ขึ้นมา โดยแอปพลิเคชันนี ่ ้เปนแอปพลิเคชันสํ ่ าหรับทดสอบ LED แสดงสถานะ ทีอยู ่ บนบอรด IOIO-Q เมือแตะปุ ่ มในโปรแกรม LED แสดงสถานะบนบอรด IOIO-Q ก็จะติดหรือดับตามสถานะ ของปุมในโปรแกรมที ได ่ เลือกไว
หนาตางของแอปพลิเคชัน่ Hello IOIO สําหรับการเชือมต ่ อผานพอรต USB จะใชงานแอปพลิเคชั่นไดทันทีทีเป ่ ดขึ้นมา แตในกรณีทีใช ่ การเชือม ่ ตอผานบลูทูธ หลังจากเปดแอปพลิเคชันขึ ่ นมา ้ จะตองรอสักครูเพื อให ่ อุปกรณแอนดรอยดเชือมต ่ อกับบอรด IOIOQ กอน จึงจะทํางานได ดังนั้นในการสรางแอปพลิเคชั่นขึ้นมาใชงาน จึงควรมีการแจงใหผูใชงานทราบดวยวา บอรด IOIO-Q กับอุปกรณแอนดรอยดไดเชือมต ่ อกันเรียบรอยแลว ซึงจะกล ่ าวถึงวิธีดังกลาวในหัวขอของการสรางแอปพลิเคชัน่ ตอไป
65
การสรางโปรเจ็กตใน Eclipse ก็คือ การสรางพื้นที่สําหรับสรางแอปพลิเคชั่น เพราะแอปพลิเคชันแต ่ ละ ตัวไมไดมีเพียงไฟลเดียว แตจะมีไฟลยอยมากมายตามความซับซอนของโปรแกรม รวมถึงการเก็บไฟลภาพหรือ เสียงทีใช ่ ในแอปพลิเคชันด ่ วย ไฟลทังหมดได ้ รับการเก็บแยกไวใหเปนกลุม เมือต ่ องการทําแอปพลิเคชันไปเผยแพร ่ หรือติดตั้ง จึงนําขอมูลในโปรเจ็กตนั้นๆ มาทําใหเปนไฟลหนึงไฟล ่ ทีมี่ นามสกุลเปน .apk ในภายหลัง เนืองจากขั ่ นตอนการสร ้ างแอปพลิเคชันสํ ่ าหรับอุปกรณแอนดรอยดมีขันตอนพอสมควร ้ จึงไดทําการสรุป เปนแผงผังถึงกระบวนการตางๆ ดังในรูปที่ 5-1 โดยแบงออกเปน 2 กระบวนการหลักคือ 1. การเตรียมการขันต ้ น ซึงกระทํ ่ าเพียงครั้งเดียวหากไมมีการอัปเกรดเวอรชันของซอฟตแวร โดยใน ขันตอนนี ้ ประกอบด ้ วยการดาวนโหลดและติดตังโปรแกรมที ้ ใช ่ ในการพัฒนา ซึงส ่ วนใหญไดอธิบายไปแลวในบท ที่ 3 จะมีเพิมเติ ่ มในบทนีก็้ คือ การดาวนโหลดและนําเขาหรืออิมพอรตไลบรารีของ IOIO 2. การพัฒนาแอปพลิเคชัน่ กระบวนการนีมี้ ขันตอนมากพอสมควร ้ ซึงต ่ องขอใหดําเนินการตามลําดับ อยางเครงครัด ในกระบวนการนี้ประกอบดวย การเริ่มตนสรางไฟลโปรเจ็กดวย Eclipse, กําหนดชือและเวอร ่ ชัน ของระบบปฏิบัติการแอนดรอยดทีต่ องการใหแอปพลิเคชันที ่ ่สรางขึ้นนี้ทํางานได, เพิมไลบรารี ่ ของ IOIO เพือใช ่ เชือมต ่ อกับบอรด IOIO, ออกแบบหนาตาของแอปพลิเคชัน, ่ เขียนโปรแกรมภาษาจาวาซึงเป ่ นโปรแกรมหลักของ แอปพลิเคชัน่ และการเพิมเติ ่ มโปรแกรมเพือสร ่ างการเขาถึงระบบการเชือมต ่ อของอุปกรณแอนดรอยดผานพอรต USB หรือบลูทูธ (User permission) ไปจนถึงการติดตั้งแอปพลิเคชันที ่ ่พัฒนาแลวลงในอุปกรณแอนดรอยดเพือ่ ทดสอบการทํางาน สําหรับการอธิบายขันตอนในการพั ้ ฒนาแอปพลิเคชันสํ ่ าหรับอุปกรณแอนดรอยดในบทนี้ จะเริมต ่ นตังแต ้ ขั้นตอนการเตรียมการหลังจากดาวนโหลดและติดตั้งโปรแกรมที่ใชในการพัฒนาแอปพลิเคชัน่ โดยขั้นตอนกอน หนานี้ไดนําเสนอไปกอนหนาแลวในบทที่ 3 และ 4
66
IOIO
รูปที่ 5-1 แผนภาพแสดงขันตอนของกระบวนการพั ้ ฒนาแอปพลิเคชันสํ ่ าหรับอุปกรณแอนดรอยดที่ เชือมต ่ อกับบอรด IOIO หรือ IOIO-Q
67
5.1 การเตรียมการเพือสร ่ างไฟลโปรเจ็กต 5.1.1 การนําเขาไฟลไลบรารี การสรางไฟลโปรเจ็กตเพือใช ่ ในการสรางแอปพลิเคชันเบื ่ องต ้ นเพือใช ่ งานกับบอรด IOIO และ IOIO-Q เริมต ่ นจากการนําเขาหรืออิมพอรตไลบรารีของบอรด IOIO กอน โดยมีขั้นตอนดังนี้ (5.1.1.1) ดาวนโหลดไฟลไลบรารีสําหรับบอรด IOIO และ IOIO-Q เพือนํ ่ ามาติดตังลงในโปรแกรม ้ Eclipse จาก https://github.com/ytai/ioio/wiki/Downloads ซึ่งอยูที่หัวข อ Client Software and IOIO Application ่ ากันไดดีที่สุด หากดาวนโหลดเวอรชันอืนต ่ อง Firmware Images แนะนําใหดาวนโหลดเวอรชัน 3.26 เนืองจากเข แกไขขอผิดพลาดมากและมีขั้นตอนทีซั่ บซอน
(5.1.1.2) ทีโปรแกรม ่ Eclipse เลือกเมนู File > Import… เพือนํ ่ าเขาไฟลไลบรารีทีดาวน ่ โหลดมา
68
(5.1.1.3) โปรแกรมจะแสดงหนาตาง Import ขึนมา ้ ใหเลือก General > Existing Project into Workspace แลวคลิกปุม Next
(5.1.1.4) ถัดไปเปนการเลือกทีอยู ่ ของไฟล ทีต่ องการอิมพอรตเขามา โดยเลือกอิมพอรตจากไฟล .zip โดยตรง หรือเลือกจากทีอยู ่ ของโฟลเดอร ก็ได เมือเลื ่ อกแลว โปรแกรมจะแสดงรายชือโปรเจ็ ่ กตทีพบ ่ ใหเลือกเฉพาะโปรเจ็กต ไลบรารี ประกอบดวย IOIOLib, IOIOLibAccessory และ IOIOLibBT แลวคลิกทําเครืองหมายถู ่ กทีช่ อง Copy projects into workspace เพือคั ่ ดลอกไฟลไลบรารีลงในทีอยู ่ เดี ยวกันกับไฟลใน workspace จากนันคลิ ้ กปุม Finish
69
(5.1.1.5) โปรแกรมทําการอิมพอรตโปรเจ็กตไลบรารีเขามาใน Eclipse จะพบวาทีรู่ ปโฟลเดอรของโปรเจ็กต ไลบรารีจะมีเครืองหมายตกใจสี ่ แดงปรากฏอยู
(5.1.1.6) คลิกเมาสปุมขวาที ่โปรเจ็กตใดก็ไดในหนาตาง Package Explorer แลวเลือกที่ Properties
70
(5.1.1.7) หนาตาง Properties ปรากฏขึน้ เลือกที่ Java Compiler แลวเลือก Configure Workspace Settings…
71
(5.1.1.8) หนาตาง Preferences (Filtered) ปรากฏขึ้นมา ในชอง Compiler compliance level: ใหเลือก เปน 1.6 จากนันคลิ ้ กปุม Apply เพือตั ่ งค ้ าคอมไพเลอรใหเปนเวอรชัน 1.6 หากพบวาเลือกเปน 1.6 อยูแล ว ใหเปลียน ่ เปนเวอรชันอื ่ น่ เชน 1.5 หรือ 1.7 แลวกดปุม Apply จากนั้นเลือกเปนเวอรชัน 1.6 แลวกด Apply อีกครั้ง ขั้นตอน นี้คอนขางสําคัญ ขอใหดําเนินการตามอยางเครงครัด
(5.1.1.9) เมือกดปุ ่ ม Apply โปรแกรมจะมีการแจงเตือนการเปลี่ยนแปลง ใหคลิกปุม Yes
72
(5.1.1.10) จะเห็นวาทีโปรเจ็ ่ กต IOIOLib ในหนาตาง Package Explorer เกิดการเปลียนเครื ่ องหมายตกใจ ่ สีแดงเปนเครื่องหมายกากบาทสีแดง
(5.1.1.11) ใหทําเหมือนกับขั้นตอนที่ (5.1.1.6) ถึง (5.1.1.9) อีกครั้ง แตใหเปลี่ยนจาก 1.6 เปน 1.5 หรือ 1.7 แทน แลวคลิกปุม Apply
73
(5.1.1.12) เมือเปลี ่ ่ยนเปน 1.5 หรือ 1.7 แลว ใหทําเหมือนกับขั้นตอนที่ (5.1.1.6) ถึง (5.1.1.9) อีกครั้ง แต คราวนี้ใหเปลี่ยนจาก 1.5 หรือ 1.7 กลับมาเปน 1.6 เหมือนเดิม (5.1.1.13) สําหรับคอมพิวเตอรบางเครืองที ่ มี่ การติดตังไม ้ สมบูรณ ในสวนของโปรเจ็กต IOIO LibAccessory อาจมีเครืองหมาย ่ กากบาทอยูแม วาจะไดทําตามวิธีในขันตอนที ้ ่ (5.1.1.6) ถึง (5.1.1.9) ไปแลว ใหคลิกเมาสปุมขวาที ่ โปรเจ็กตแลวเลือก Properties
(5.1.1.14) หนาตาง Properties ปรากฏขึนมา ้ เลือกที่ Android ทีแถบด ่ านซาย ทีช่ อง Project Build Target ใหคลิกเปลี่ยนเครืองหมายถู ่ กไปยังชอง Google APl Platform 2.3.3 ดังรูป แลวคลิก Apply เพือยื ่ นยันการเปลียน ่ แปลง จากนั้นคลิกปุม OK
74
(5.1.1.15) เครืองหมายกากบาทที ่ หน ่ าโปรเจ็กตแตละโปรเจ็กตจะหายไป เปนการเสร็จสินการเพิ ้ มไลบรา ่ รีลงใน Eclipse แลว ในการใชงานครั้งตอไปก็ไมตองเพิมไฟล ่ ไลบรารีอีก เวนแตวาตองการเพิ่มไลบรารีเวอรชัน ใหมเขามาแทน ก็ใหลบของเกาออกจากโปรแกรมกอน
ขั้นตอนการนําเขาไฟลไลบรารีของ IOIO จะกระทําครั้งแรกเพียงครั้งเดียว เวนแตจะมีการ เปลียนหรื ่ อเพิ่มไฟลไลบรารีเขามาใหม
5.1.2 เตรียมไฟลโปรเจ็กต (5.1.2.1) ทีหน ่ าตางของโปรแกรม eclipse เลือกทีเมนู ่ File > New > Android Application Project
75
(5.1.2.2) จะพบกับหนาตาง New Android Application ทีใช ่ ตังค ้ าพืนฐานของแอปพลิ ้ เคชันที ่ จะสร ่ างขึน้ Application Name คือ ชือของแอปพลิ ่ เคชัน่ ในที่นี้เลือกใชเปน IOIO _Project Project Name คือ ชือโปรเจ็ ่ กตไฟลของแอปพลิเคชัน่ ในที่นี้เลือกใชเปน IOIO _Project Package Name คือ ชือแพ็ ่ กเกจ เปรียบเสมือนทีเก็ ่ บไฟล Class ของแอปพลิเคชัน่ การตังชื ้ อให ่ ใชรูปแบบ com.XXX. Project Name หรือ com.XXX.XXX. Project Name โดยในทีนี่ เลื ้ อกใชเปน com.inex.sia.ioio_project Minimum Requires SDK คือเวอรชันของ SDK ตํ่าทีสุ่ ดทีรองรั ่ บ ไมตองเปลียนแปลงค ่ า กําหนดเปน API8:Android 2.2 (Froyo) สวนคาอืนๆ ่ ทีเหลื ่ อใหกําหนดตามรูป จากนั้นคลิกปุม Next
(5.1.2.3) ตอไปเปนหนาตาง Configure Project ใชเลือกทีอยู ่ ของโปรเจ็ กต Workspaces ในทีนี่ ้ไดมีการ ตั้งคาทีอยู ่ ไว ตั้งแตตนแลว จึงไมตองเปลี่ยนแปลง คลิกปุม Next เพือผ ่ านขั้นตอนนี้ไป
76
(5.1.2.4) ตอไปเปนหนาตาง Configure Launcher Icon ใชเปลี่ยนแปลงคุณสมบัติตางๆ ของไอคอนแอ ปพลิเคชัน่ โดยรองรับการใสรูปภาพ, คลิปอารต หรือขอความ ใสกรอบสีเหลี ่ ยมหรื ่ อวงกลม และยังเปลียนสี ่ พืน้ หลังไดดวย
77
(5.1.2.5) ลําดับตอไปเปนหนาตาง Create Activity ในทีนี่ ้เลือก Blank Activity แลวคลิกปุม Next
(5.1.2.6) ตอไปเปนหนา Blank Activity ทีได ่ เลือกมา โดยเปลี่ยนชื่อ Active Name เปน Main Layout , Name เปน main (ตองเปนตัวอักษรพิมพเล็ก) และ Navigation Type เปนคาเดิมคือ None แลวคลิกปุม Finish
78
(5.1.2.7) สังเกตทีหน ่ าตาง Package Explorer จะพบวา มีโปรเจ็กตทีสร ่ างขึนมาแสดงอยู ้ ในหน าตางดานขาง
(5.1.2.8) คลิกเมาสปุมขวาที ่ IOIO_Project แลวเลือกที่ Properties
79
(5.1.2.9) เลือกที่ Android แลวคลิกปุม Add.. เพือเพิ ่ มไฟล ่ ไลบรารีของบอรด IOIO ใหกับโปรเจ็กต
(5.1.2.10) เลือกไฟลไลบรารี แลวคลิกปุม OK
80
(5.1.2.11) เพิมไลบรารี ่ ใหครบทั้งหมด จากนั้นคลิกปุม OK เพือป ่ ดหนาตาง Properties
81
5.1.3 การสรางแอปพลิเคชัน่ หลังจากทีได ่ เตรียมการสรางไฟลโปรเจ็กตเรียบรอยแลว ตอไปเปนการทดลองสรางแอปพลิเคชันเพื ่ อควบ ่ คุมการติด-ดับของ Stat LED บนบอรด IOIO-Q ผานการแตะทีหน ่ าจอแอปพลิเคชัน่ (5.1.3.1) ที่หนาตาง Project Explorer ที่อยูทางซ ายมือของโปรแกรม Eclipse ใหเลือกที่ Project name > res > layout > main.xml หนาตาง main.xml จะแสดงขึ้นมาทีโดยไฟล ่ main.xml จะเปนไฟลสําหรับจัดการ กับหนาตาของแอปพลิเคชัน่ ในหนึงแอปพลิ ่ เคชันมี ่ ไดมากกวาหนึงไฟล ่ สําหรับตัวอยางนีจะใช ้ เพียงไฟลเดียว เมือ่ เปดขึ้นมาก็จะพบกับหนาตางสําหรับออกแบบหนาตาแอปพลิเคชันที ่ ่มีขอความวา Hello World ซึงในหน ่ านี้ออก แบบและปรับปรุงการแสดงผลได 2 แบบคือ แบบแสดงภาพกราฟก (Graphical Layout) โดยเลือกอุปกรณตางๆ จากชอง Palette ทางซายมือมาวางลงในพืนที ้ ่หนาจอไดทันที อีกแบบหนึงคื ่ อ แบบคําสั่ง XML ซึงเป ่ นการสราง ภาพกราฟกโดยใชคําสั่ง XML โดยทั้งสองคําสั่งนี้มีความสัมพันธกัน เมือสร ่ างใน Graphical Layout แลวไปทีหน ่ าคําสั่ง XML จะพบวา มีคําสั่งเพิมขึ ่ ้นมาตามทีสร ่ างไวใน Graphical Layout หากมีการแกไขคําสั่ง XML ทีหน ่ า Graphical Layout ก็จะเปลี่ยนไปตามทีแก ่ ไขดวย
82
(5.1.3.2) ใหลบ Text View หรือขอความ Hello World ออก แลวลาก ToggleButton มาวางไวกลางหนา จอแทน เพือใช ่ เปนปุมกดเป ดหรือปด LED บนบอรด IOIO และ IOIO-Q หรือแกไขคําสั่ง XML ดังนี้ <RelativeLayout xmlns:android=”http://schemas.android.com/apk/res/android” xmlns:tools=”http://schemas.android.com/tools” android:layout_width=”match_parent” android:layout_height=”match_parent” tools:context=”.Main” > <ToggleButton android:id=”@+id/toggleButton1" android:layout_width=”wrap_content” android:layout_height=”wrap_content” android:layout_centerHorizontal=”true” android:layout_centerVertical=”true” android:text=”ToggleButton” /> </RelativeLayout>
83
(5.1.3.3) จะเห็นวา ทางดานขวาบนหนาตาง Graphical Layout ทีแถบ ่ Outline จะมีชือ่ toggleButton ขึ้นมาอยูใน RelativeLayout และในแถบ Properties จะเปนแถบหนาตางสําหรับรับคาคุณสมบัติตางๆ
(5.1.3.4) ลําดับตอไปเปนการสรางโปรแกรมใหกับแอปพลิเคชัน่ โดยไปทีหน ่ าตาง Package Explorer ให เลือกที่ Project name > src > Package name > Main.java หนาตางโปรแกรมของ Main.java ปรากฏขึนมา ้ จะเห็น วา มีคําสังเริ ่ มต ่ นเตรียมมาใหกับ Main.java เรียบรอยแลว โดยไฟล Main.java ก็คือโปรแกรมหลักของแอปพลิเคชัน่ ซึงมี ่ ไดมากกวาหนึงไฟล ่ ทําการลบคําสังที ่ ไม ่ ใชออกไปใหเหลือดังรูป
84
(5.1.3.5) แกไขโปรแกรมใหไดดังนี้ package com.inex.sia.ioio_project; import ioio.lib.api.DigitalOutput; import ioio.lib.api.exception.ConnectionLostException; import ioio.lib.util.BaseIOIOLooper; import ioio.lib.util.IOIOLooper; import ioio.lib.util.android.IOIOActivity; import android.os.Bundle; import android.widget.Toast; import android.widget.ToggleButton; public class MainActivity extends IOIOActivity { ToggleButton toggleButton1; public void onCreate (Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); toggleButton1 = (ToggleButton)findViewById(R.id.toggleButton1); } class Looper extends BaseIOIOLooper { DigitalOutput Out; public void setup() throws ConnectionLostException { Out = ioio_.openDigitalOutput(0, false); runOnUiThread(new Runnable() { public void run() { Toast.makeText(getApplicationContext(), “Connected!”, Toast.LENGTH_SHORT).show(); } } ); } public void loop() throws ConnectionLostException { dout.write(!toggleButton1.isChecked()); try { Thread.sleep(50); } catch (InterruptedException e) { e.printStackTrace(); } } } protected IOIOLooper createIOIOLooper() { return new Looper(); } }
85
(5.1.3.6) เมือเริ ่ ่มพิมพแกไขคําสั่ง IOIOActivity จะพบวา มี Error เกิดขึ้น ตองแกไขโดยนําเมาสไป วางที่ IOIOActivity จะมีกรอบหนาตางแสดงขึ้นมา ใหเลือก Import ‘IOIOActivity’ (ioio.lib.util.android)
จากนั้นมาสรางออบเจ็กตของคลาส DigitalOutput จะพบวา มี Error แสดงขึ้นมาเชนกัน แกไขโดย นําเมาสไปวางที่ DigitalOutput มีกรอบหนาตางแสดงขึ้นมา ใหเลือก Import ‘DigitalOutput’ (ioio.lib.api)
86
เมือเรี ่ ยกใชคําสั่ง Thread.sleep(time) จะเกิด Error ขึ้นมา เชนกัน แกไขโดยนําเมาสไปวาง ที่ Thread.sleep(time) มีกรอบหนาตางแสดงขึ้นมา ใหเลือก Surround with try/catch เพือดั ่ กจับขอผิดพลาดที่ เกิดขึ้น จะไดคําสั่ง try/catch มาครอบคําสั่งทีผิ่ ดพลาดดังรูป
87
จะไดคําสั่งของโปรแกรมที่ไดแกไขสมบูรณดังรูป
88
(5.1.3.7) สุดทายทีหน ่ าตาง Package Explorer ใหเลือกที่ Project name > AndroidManifest.xml หนาตาง ของ AndroidManifest.xml จะแสดงขึนมา ้ โดยไฟล AndroidManifest.xml เปนไฟลทีใช ่ กําหนดคาตางๆ ใหกับแอ ปพลิเคชัน่ เชน รูปไอคอน หรือชือแอปพลิ ่ เคชัน่ เปนตน จะสังเกตเห็นวา มีแถบอยูด านลางจํานวนหลายแถบ ใหเลือก ไปทีแถบ ่ AndroidManifest.xml (แถบสุดทาย) ซึงเป ่ นการกําหนดคาดวยคําสัง่ XML แลวเพิมคํ ่ าสังดั ่ งนี้ <uses-permission android:name=”android.permission.INTERNET” /> <uses-permission android:name=”android.permission.BLUETOOTH” /> <uses-permission android:name=”android.permission.BLUETOOTH_ADMIN” />
โดยที่คําสั่ง User Permission เปนการขออนุญาตเขาถึงการใชงานบางอยาง เนืองจากระบบ ่ แอนดรอยดมีการปองกันการเขาใชงานในพืนที ้ ที่ อาจเกิ ่ นจําเปน จึงตองมีการขอเขาถึงระบบบางสวนทีต่ องการใช งาน ในการสรางแอปพลิเคชันสํ ่ าหรับ IOIO และ IOIO-Q เบืองต ้ น จะตองมีการเขาถึงการใชงานอินเทอรเน็ตและ บลูทูธทุกครั้ง จึงตองมีการรองขอเพือเข ่ าไปดําเนินการติดตอกับอุปกรณในสวนนั้น ในกรณีทีใช ่ ไลบรารีทีเป ่ นเวอรชันตํ่ากวา 3.0 ลงไป ซึงไม ่ รองรับการใชงานบลูทูธ จึงไมจําเปนตอง ขออนุญาตเขาถึงการใชงานบลูทูธแตอยางใด เมือดํ ่ าเนินการมาถึงตรงนี้ โปรแกรมก็พรอมสําหรับการติดตั้งลงบนอุปกรณแอนดรอยดแลว
89
5.2 การติดตังแอปพลิ ้ เคชันลงบนอุ ่ ปกรณแอนดรอยด เมือทํ ่ าการสรางแอปพลิเคชันเสร็ ่ จแลว สิงที ่ ต่ องทําตอไปคือ นําแอปพลิเคชั่นไปติดตั้งลงในอุปกรณแอ นดรอยดเพือทดสอบการทํ ่ างาน ซึงมี ่ ขั้นตอนดังนี้ (5.2.1) เลือกทีโปรเจ็ ่ กตแลวคลิกเมาสปุมขวา เลือกไปทีเมนู ่ Run As > Android Application ในกรณีที่ มีการแจงเตือนขอผิดพลาด ตองแกไขใหเรียบรอยกอน
(5.2.2) โปรแกรมจะแสดงหนาตางใหบันทึกไฟล Main.java ทีแก ่ ไขแลว คลิกปุม Yes เพือยื ่ นยันการบันทึก
90
(5.2.3) แอปพลิเคชันควบคุ ่ ม LED บนบอรด IOIO ในหัวขอกอนหนานี้จะไดรับการติดตั้งลงบนอุปกรณ แอนดรอยด และเริมทํ ่ างานทันทีทีติ่ ดตั้งเสร็จ
(5.2.4) เชือมต ่ อบอรด IOIO หรือ IOIO-Q กับอุปกรณแอนดรอยดผานสาย USB หรือบลูทูธ เพื่อทดสอบ การทํางาน (5.2.5) เมืออุ ่ ปกรณแอนดรอยดและบอรด IOIO-Q เชือมต ่ อกันแลว จะมีขอความ Connected! ปรากฏขึน้ ที่หนาจอแอปพลิเคชันชั ่ ่วขณะ จากนั้นใหกดปุมบนหน าจอของแอปพลิเคชั่นใหเปลี่ยนเปน ON สังเกตที่ LED ตําแหนง Stat บนบอรด IOIO-Q ตองติดสวาง หากกดปุมซํ้าอีกครั้ง จะเปนการสังให ่ LED ดับ (หรือ OFF)
91
(5.2.6) สําหรับการติดตั้งครังต ้ อไป โปรแกรมก็จะติดตั้งแอปพลิเคชันลงบนอุ ่ ปกรณตัวเดิมอัตโนมัติ หรือ ตองการกําหนดใหเลือกอุปกรณแอนดรอยดทุกครังก็ ้ ได โดยเลือกทีโปรเจ็ ่ กตแลวคลิกเมาสปุมขวา เลือกไปทีเมนู ่ Run As > Run Configurations… หรือคลิกที่ลูกศรชี้ลงทีอยู ่ ข างๆปุม Run (ปุมวงกลมสีเขียวที่มีลูกศรชี้ไปทาง ขวามือ) แลวเลือก Run Configurations…
92
(5.2.7) โปรแกรมจะแสดงหนาตาง Run Configurations ขึ้นมา ทีช่ องซายมือใหเลือก Android Application > ชือโปรเจ็ ่ กตที่สราง ที่ชองกลางใหเลือกทีแถบ ่ Target แลวเลือก Deployment Target Selection Mode เปน Manual คลิกปุม Apply เพือยื ่ นยันการเปลี่ยนแปลง
(5.2.8) จากนันรั ้ นแอปพลิเคชัน่ โปรแกรมแสดงหนาตางเลือกอุปกรณแอนดรอยดทีต่ องการติดตัง้ คลิกปุม OK เพือเริ ่ ่มทํางาน
93
5.3 อุปกรณแอนดรอยดจําลองบนคอมพิวเตอร ในการพัฒนาแอปพลิเคชันสํ ่ าหรับแอนดรอยดนั้น ทาง Google ไดแจก Emulator Software ทีจํ่ าลองเปน อุปกรณแอนดรอยดได มีชือเรี ่ ยกวา Android Virtual Device หรือ AVD ชวยใหผูพั ฒนาแอปพลิเคชันสามารถ ่ ทดสอบแอปพลิเคชันบน ่ AVD ได โดยมันสามารถทํางานไดใกลเคียงกับอุปกรณแอนดรอยดทัวไป ่ แตไมสามารถ เชือมต ่ อกับบอรด IOIO ได เนืองไม ่ รองรับการเชือมต ่ อผานทางบลูทูธและ USB ดังนั้นจึงเหมาะในการนํามาใช ทดสอบขนาดหนาจอของอุปกรณแอนดรอยดเมือรั ่ นแอปพลิเคชันที ่ ่สรางขึน้ ทังนี ้ ้เพือให ่ แอปพลิเคชั่นที่สรางขึ้น รองรับหนาจอหลายๆ ขนาด การสราง AVD มีขั้นตอนดังนี้ (5.3.1) เลือกที่ Window > AVD Manager
(5.3.2) โปรแกรมจะแสดงหนาตาง Android Virtual Manager ขึ้นมา คลิกปุม New… เพือสร ่ าง AVD
94
(5.3.3) กําหนดคาตางๆ ตามตองการ ดังนี้ Name: ชื่อของ AVD Target: เวอรชันของอุปกรณแอนดรอยด มีใหเลือกตามทีได ่ ติดตั้งไว CPU/ABI: เปนระบบประมวลทีใช ่ โปรแกรมจะเลือกใหเองโดยอัตโนมัติ SD Card: กําหนดขนาดของ SD การด ไมควรกําหนดพื้นที่มากมากเกินไป เพราะโปรแกรมจะ จองพื้นที่เทากับในฮารดดิสกคอมพิวเตอรเพื่อใชเปนพื้นที่ของ SD การดสําหรับ AVD Snapshot: เลือกใชการถายภาพบนหนาจอ AVD Skin: เปนการกําหนดขนาดของหนาจอ AVD โดยเลือกจากที่มีอยูแล วหรือกําหนดเองก็ได Hardware: กําหนดคุณสมบัติทางฮารดแวรใหกับอุปกรณ คลิกปุม New… เพื่อเลือกการตังค ้ า ได โปรแกรมก็จะแสดงหนาตางขึนมาให ้ เลือกคุณสมบัติทางฮารดแวรและใหกําหนดคา อาทิ Device RAM Size, Accelerometer, Camera Support และ Keyboard Support เปนตน
95
(5.3.4) จากตัวอยางกําหนดคาตางๆ ดังนี้ Name: AndroidPhone_800x480 Target: Android 2.3.3 – API Level 10 SD Card: Size 50 MiB Snapshot: Enable Skin: Resolution 800 x 480 Hardware: • Abstracted LCD Density = 240, • Max VM application heap size = 24 • Device ram size = 256
(5.3.5) จากนั้นคลิกปุม Create AVD เพือสร ่ าง AVD ขึ้นมาตามทีได ่ กําหนดไว
96
(5.3.6) ทีหน ่ าตาง Android Virtual Device Manager จะแสดงชือ่ AVD ขึ้นมา คลิกเลือกปุม Start… เพือให ่ AVD ทํางานไดทันที
(5.3.7) เปดใชงาน AVD โดยเลือกจากหนาตาง Android Device Chooser จากการกดปุม Run ไดเชนกัน มีรายชือ่ AVD ใหเลือกทีช่ อง Launch a new Android Virtual Device เลือก AVD ทีต่ องการแลวกดปุม Start…
97
(5.3.8) หนาตาง Launch Option จะปรากฏขึนมา ้ เพือกํ ่ าหนดคาขนาดหนาจอของ AVD ทีจะแสดงและ ่ รายละเอียดเล็กนอย ในหนาตางนีไม ้ ตองกําหนดคาใดๆ ใหคลิกปุม Launch ไดเลย
(5.3.9) AVD จะถูกเปดขึ้นมาและเตรียมความพรอม รอสักครูหนึ่ง AVD ก็จะเขาสูหนาจอของระบบ แอนดรอยด ใชการคลิกเมาสทีหน ่ าจอโปรแกรมแทนการใชนิวแตะหน ้ าจอ เพียงเทานีก็้ สามารถติดตังแอปพลิ ้ เคชัน่ เพือทดสอบบนอุ ่ ปกรณแอนดรอยดจําลองไดแลว
98