IOIO-Q updated manual

Page 1

    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    


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.