บทที่ 3...

18
บทที 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)

Upload: others

Post on 31-Dec-2019

15 views

Category:

Documents


0 download

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 หลงจากคลกเลอกโปรแกรมจะท างานสกพก ซงอาจใชเวลาพอสมควร

46

หลกจากนนจะขนหนาตาง ส าหรบเลอกโทรศพทฯจ าลอง ใหเลอกทสรางไวแลวกด Ok

47

รอสกคร โปรแกรมจะท างาน หนาตางแสดงสถานะการท างานจะแสดงดานลาง แจงการท างานตางๆ

เมอโทรศพทฯจ าลอง แสดงขนมาแลว เราอาจจะตองท าการกดเลอน เพอ unlock screen ทหนา จอ

48

หลกจากนน เราจะเหน app อยางงาย ชอ My Application แสดงขนมาตามรป

เปนอนเสรจขนตอนการทดสอบการรนแอพฯผานโทรศพทฯจ าลอง

49

แตถาหากไมมการสรางโทรศพทฯจ าลอง หรอตองการสรางเพมจ าลองมอถอ / แทบเลตรนอน สามารถสรางโทรศพทฯจ าลองขนมาใชงานเพมเตมได โดยเลอก Create Virtual Device..แลวท าการก าหนดคาเหมอนกบการสรางโทรศพทฯจ าลองอนทผานมา

50

แบบฝกหดทายบท

1. จงใหความหมายของ Android Emulator 2.ใหนสตสราง Android Virtual Device มาซก 3 รน คอ Android 4 ,5, 6 โดยศกษาคมอ การตดตงใหละเอยด 3.จากโจทยขอ 2 ใหนกศกษาสราง AVD Manager พรอมแสดงขอความให ใสชอรหสนกศกษา , ชอนกศกษา ,คณะ , สาขา ,ชอวชา ทง 3 รน android 4 ,5,6