contents · ที่เราคุ นเคย และใช งานกันเป...
Post on 14-Aug-2020
3 Views
Preview:
TRANSCRIPT
สารบญ I
บทท 1 เตรยมความพรอมกอนพฒนา Android Apps .............................1การดาวนโหลดและตดตง JAVA SDK ................................................................................2
การดาวนโหลดและตดตงโปรแกรม Eclipse ........................................................................3
การดาวนโหลดและตดตง Android SDK ............................................................................4
การเปดโปรแกรม Eclipse .................................................................................................5
บทท 2 ความรเบองตนในการพฒนา Android Apps ...............................7ขนตอนการสรางโปรเจกตในโปรแกรม Eclipse ...................................................................7
ตวอยางการออกแบบสวนแสดงผลอยางงาย ....................................................................11
การบนทก Android Project ............................................................................................19
การเปด Android Project เดม .........................................................................................21
การทดสอบรน Android Project บน Android Emulator (AVD) ..........................................23
การสราง Android Emulator .................................................................................23
ทดสอบการทางานของ Android Apps ....................................................................25
การสราง Android Emulator ใหตรงกบยหอและรนในทองตลาด ........................................27
การเตรยมไฟล apk ใหพรอมใชงานจรง ...........................................................................29
การตดตงไฟล apk บนอปกรณจรง ..................................................................................32
บทท 3 การแจงเตอน ..................................................................... 37การแสดงแถบขอความดวย Toast Notification .................................................................37
การปรบแตงการแจงเตอนแบบ Toast Notification ...........................................................41
พนฐานการแสดงไดอะลอกบอกซแบบ Alert .....................................................................46
การแสดง Alert Dialog แบบมการตรวจสอบปมกด ...........................................................49
การแจงเตอนแบบ Notification ........................................................................................54
บทท 4 การสรางสวนแสดงผลแบบรายการดวย ListActivity ..................... 61พนฐานการสรางสวนแสดงผลแบบรายการดวยคลาส ListActivity ......................................62
การสรางรายการใน ListActivity จากไฟล XML .................................................................65
การแสดงรปภาพในสวนแสดงผลแบบรายการ ListActivity ................................................71
Contents
Andr
oid
Prog
ram
min
g
Professional Android ProgrammingII
บทท 5 การสราง Android Apps แบบหลายหนาจอ ...............................79พนฐานการสราง ListActivity แบบเปลยนสวนแสดงผลได ................................................79
การสรางสวนแสดงผลทม 2 Activity และปมเปลยนสวนแสดงผลไป-มา .............................84
การรบ-สงขอมลระหวาง Activity .....................................................................................96
บทท 6 พนฐานการทางานกบรปภาพ ................................................. 103พนฐานการแสดงรปภาพดวย ImageView ......................................................................103
การแสดงรปภาพและพาธไฟลจาก Gallery .....................................................................107
การแสดงรปภาพแบบ Gallery ดวย GridView.................................................................112
การสรางแกลอรดวย GridView ......................................................................................119
การวาดขอความลงในรปภาพและบนทกรปภาพ .............................................................124
บทท 7 ระบบเมนใน Android ......................................................... 135ทาความรจกกบระบบเมนใน Android Apps ...................................................................135
การสรางเมนแบบ Popup ดวยคลาส PopupMenu .........................................................140
การสรางเมนใหกบแถบ Action Bar ...............................................................................143
การใสรปภาพในเมนของ Action Bar .............................................................................146
การสรางเมนแชรขอมลระหวาง App .............................................................................149
บทท 8 การสรางสวนแสดงผลแบบรายการดวย ListView ...................... 157พนฐานการลงส ............................................................................................................157
การลงสแบบไลโทนส (Gradient Color) ..........................................................................160
พนฐานการสรางสวนแสดงผลแบบรายการดวย ListView ................................................164
พนฐานการลงสใน ListView แบบไลโทนส ......................................................................168
การสรางรายการแบบ 2 บรรทดและมรปกากบ...............................................................172
การคนหาในสวนแสดงผลแบบรายการ ...........................................................................183
บทท 9 Animation ..................................................................... 189การสรางขอความแบบตวเลอน (Marquee) .....................................................................189
แอนเมชนประเภทเคลอนยายตาแหนง ..........................................................................191
การทาแอนเมชนแบบ Fade-In กบรายการใน ListView ...................................................196
สารบญ III
บทท 10 ทางานกบคลปวดโอ .......................................................... 201การเลนคลปวดโอดวย VideoView .................................................................................201
การเลนวดโอโดยอาศย App อนๆ.................................................................................204
การเลนคลปวดโอแบบมแถบควบคม .............................................................................208
การแสดงรปภาพและเลนคลปวดโอแบบมแถบควบคม ....................................................209
บทท 11 การใชงานกลอง .............................................................. 217การถายรปและการแสดงรปจากกลองดวยคลาส Intent ...................................................217
การถายและเลนคลปวดโอ ............................................................................................221
การใชงานกลองหนาทากระจกสองหนา .........................................................................227
การถายรปและ Crop รปภาพแบบ Instagram ................................................................233
บทท 12 การทดสอบ Android Apps บน VirtualBox ......................... 243การดาวนโหลด VirtualBox ............................................................................................244
การตดตง VirtualBox ....................................................................................................245
การกาหนดให Android ใน VirtualBox สามารถเชอมตอกบภายนอก ...............................249
ปญหาการใช Android ใน VirtualBox ............................................................................250
การรน Android ใน VirtualBox ......................................................................................250
การกาหนดขนาดสวนแสดงผลของ Android ใน VirtualBox .............................................251
การเชอมตอ Android ใน VirtualBox เขากบโปรแกรม Eclipse ........................................252
การกาหนดใหโปรเจกตของ Android ทดสอบดวย .........................................................254
Android ใน VirtualBox .................................................................................................254
การทดสอบรนโปรเจกตดวย Android ใน VirtualBox.......................................................256
การแกไขปญหากรณไมสามารถรนโปรเจกต ...................................................................257
การแกไขปญหาไมสามารถตรวจสอบการด LAN .............................................................259
บทท 13 การใชงานแผนท (Google Maps Android V2)..................... 261พนฐานการใชงานระบบแผนท ......................................................................................262
การขอใชบรการแผนท Google Maps Android V2 .........................................................266
การแกไขโปรเจกตเพอทดสอบระบบแผนท .....................................................................270
การปกหมดสถานท (Marker) ในแผนท ..........................................................................272
การกาหนดประเภทของแผนท .......................................................................................276
การแสดงตาแหนงปจจบนของเรา ..................................................................................278
การซมในแผนทตามตาแหนงทเราสนใจ .........................................................................279
การปกหมด, ลบ และเคลอนยายหมดดวยวธการสมผส ..................................................282
Andr
oid
Prog
ram
min
g
Professional Android ProgrammingIV
บทท 14 การทางานรวมกบ Youtube .............................................. 287การดาวนโหลด Youtube API ........................................................................................287
การตดตง Youtube API ในโปรแกรม Eclipse .................................................................288
การขอเปดบรการ Youtube และ Youtube API key ........................................................291
การสรางตวเลนคลปวดโอจาก Youtube ใน Android Apps .............................................294
วธการสรางรายการวดโอ (Playlists) บนเวบ Youtube .....................................................297
การสรางตวเลนรายการวดโอในเวบ Youtube .................................................................300
บทท 15 ทางานกบ Facebook ....................................................... 303การดาวนโหลด Facebook SDK ....................................................................................303
การสราง Facebook Apps เพอเชอมตอกบ Android Apps ............................................304
การกาหนดให Android Project อางอง Facebook SDK .................................................306
การอางอง Facebook SDK ใหกบโปรเจกต Android ......................................................309
การระบ App ID ของ Facebook ใหกบโปรเจกต Android ...............................................310
การสรางรหส Key Hashes ใหกบ Facebook .................................................................311
การกาหนดสทธใหกบ Facebook Apps .........................................................................315
การสราง Android Apps แบบ Facebook Login ............................................................315
การทา Android Apps ทสามารถโพสตขอความใน Facebook .......................................323
การโพสตรปภาพใน Facebook .....................................................................................332
ภาคผนวก.............................................................................340ปญหาของ Eclipse และ Android SDK รนเกากบ Android 4.4.x ขนไป ..........................340
โครงสรางโปรเจกต Android แบบใหมของ Eclipse .........................................................342
Index .................................................................................343
เตรยมความพรอมกอนพฒนา Android Apps
1
ในปจจบนคงไมมใครกลาปฏเสธไดวา การพฒนา Android Apps มบทบาทเพมมากขนเรอยๆ
อกแพลตฟอรมหนง หลายคนใชอปกรณมอถอ, แทบแลตทากจกรรมตางๆ ไมวาจะเปนการแชท, สงเมล,
เลนเกม ดคลปวดโอ เปนตน
บอยครงทเราใชงาน App ตางๆ ซงมอยมากมายหลายประเภท แลวเกดความคดทวา เราอยาก
สราง App ทมการทางานแบบนบาง, มขนตอนทเปนมตรตอผใชงาน, มสวนแสดงผลทรองรบความตองการ
ของเรา ณ เวลานนๆ ไดอยางลงตว
หนงสอเลมนเปนการนาเสนอเนอหาการพฒนา Android Apps ดวย Eclipse เรมตนตงแต
พนฐานการสราง App งายๆ เรยงลาดบไปจนกระทงถงการนาเสนอเทคนคตางๆ ทเหนใน App มาตรฐาน
ทเราคนเคย และใชงานกนเปนอยางด ไมวาจะเปน Google Map, Facebook, Instagram, Youtube เปนตน
ผอานจะไดศกษาวา เทคนคและการทางานบางสวนของ App มาตรฐานเหลาน มขนตอน มทมา
และมวธการอยางไร โดยทผเขยนตงโจทยของหนงสอเลมนไววา “เปนเนอหาทใชงานไดจรง”
รปภาพแสดงผลการทางานทลงในหนงสอเลมน โดยสวนใหญผเขยนทดสอบในเครองจรง เพอ
ใหคณเหนสวนแสดงผลทแทจรง
Andr
oid
Prog
ram
min
g
Professional Android Programming2
การดาวนโหลดและตดตง JAVA SDKเรมตนใหผอานไปทเวบไซต http://www.oracle.com/technetwork/java/javase/downloads/index.
html ดงรปท 1-1
รปท 1-1
แสดงการดาวนโหลด Java SDK
กรอก URL1
คลก2
คลก3
จากรปท 1-1 ใหผอานดาวนโหลด Java SDK ตามระบบปฏบตการของผอาน ในกรณนผเขยน
ดาวนโหลดแบบ Windows 64 บต (x64) จากนนขอใหผอานตดตง Java SDK ตามขนตอนทปรากฏขนมาจน
เสรจสมบรณ
บทท 1 เตรยมความพรอมกอนพฒนา Android Apps 3
การดาวนโหลดและตดตงโปรแกรม Eclipseการพฒนา Android Apps ผเขยนเลอกใชโปรแกรม Eclipse เปนหลก มขนตอนการดาวนโหลดและ
ตดตง ดงน
1. ใหผอานไปทเวบไซต http://developer.android.com/sdk/index.html แลวคลกปม
เพอดาวนโหลดโปรแกรม Eclipse แบบ Bundle (กงสาเรจรป)
2. ใหผอานเลอกดาวนโหลดโปรแกรม Eclipse ตามระบบปฏบตการทผอานใชงาน ในกรณนผเขยน
เลอกแบบ 64 บต
กรอก URL1.1รปท 1-2
แสดงการดาวนโหลดโปรแกรม Eclipse แบบ Bundle
คลก1.2
เลอก 2.1เลอก2.2
คลก2.3
Andr
oid
Prog
ram
min
g
Professional Android Programming4
จากรปท 1-3 หลงจากทผอานดาวนโหลดเสรจแลวขอใหขยายไฟล zip ทไดมา ในกรณนผเขยน
เกบไวทพาธ D:\
การดาวนโหลดและตดตง Android SDKขนตอนตอมาเปนการดาวนโหลดและตดตง Android SDK โดยการดบเบลคลกท SDK Manager.exe
จะปรากฏไดอะลอกบอกซ Android SDK Manager และใหผอานเลอกการตดตงดงรปท 1-4
3. ไดไฟลดงรป
รปท 1-3
แสดงการดาวนโหลด Eclipse แบบ 64 บต
รปท 1-4
แสดงการดาวนโหลดและตดตง Android SDK
จากรปท 1-4 ผอานสามารถเลอกดาวนโหลด Android SDK ตามเวอรชนทผอานสนใจไดอยางอสระ
โดยการคลกเลอกรายการใหมเครองหมายถก จากนนคลกปม สวนรายการทมคาวา Installed
หมายถง มการตดตงในเครองของผอานแลว
เลอก 3
เลอก 5
เลอก 6
เลอก 2
เลอก 1
เลอก8
เลอก 9
เลอก 4
คลก10
เลอก7
บทท 1 เตรยมความพรอมกอนพฒนา Android Apps 5
ในขนตนนผเขยนแนะนาวา การดาวนโหลดและตดตง Android SDK ในแตละเวอรชนควรทจะ
ประกอบดวยรายการ SDK Platform, ARM EABI v** System Image และ Google APIs โดยพบวา ณ เวลา
ทเรยบเรยงหนงสอเลมนสามารถพฒนาไดถง Android เวอรชน 4.4 (KitKat)
ในกรณนผเขยนเลอกดาวนโหลดและตดตง Android SDK เวอรชน 4.4, 4.2 และเวอรชน 2.2 เพอ
พฒนา Android Apps ตงแตเวอรชน 2.2 ถงเวอรชน 4.4
เมอใดกตามท Android มเวอรชนใหมออกมา ผอานสามารถดาวนโหลด Android SDK เวอรชน
ใหมเพมเตมไดตามทตองการได
ในกรณทตองการพฒนา Android Apps ใหครอบคลมเวอรชน 4.4.x ขนไป ผเขยนแยกอธบาย
รายละเอยดในภาคผนวก
การเปดโปรแกรม Eclipseในกรณทผอานตองการเปดโปรแกรม Eclipse ใหผอานเขามาทโฟลเดอร eclipse ดบเบลคลกไฟล
eclipse.exe ดงรปท 1-5
สรปทายบทเนอหาในบทนเปนเพยงการเตรยมสภาพแวดลอมใหพรอมกอนพฒนา Android Apps ดวย Eclipse
โดยทผเขยนจะนาเสนอแยกตามหวขอในแตละบทตอไป
รปท 1-5
แสดงวธการเปดโปรแกรม Eclipse
ความรเบองตนในการพฒนา Android Apps
2
หลงจากทผอานเตรยมสภาพแวดลอมในเครองใหพรอมแลวกจะเขาสเนอหาการพฒนา Android
App โดยทผเขยนจะเรมลาดบจากเนอหาทงายทสดกอน เพอเปนการปพนฐานกอนเขาสการพฒนา App ท
มการเรยกใชงานฟเจอรตางๆ ของ Android SDK เพมมากขน
ขนตอนการสรางโปรเจกตในโปรแกรม Eclipseเรมตนเรากตองสรางโปรเจกตสาหรบใชในการพฒนา Android App กอน โดยมขนตอนงายๆ ดงน
1. ใหผอานเปดโปรแกรม Eclipse ขนมา แลวคลกเมน File > Project ... > Android > Android
Appslication Project เพอเรมตนสรางโปรเจกตวางๆ ขนมา ดงรปท 2-1
รปท 2-1
แสดงการเรมตนสราง Android Project แบบวางๆ ขนมา
เลอก1.1
เลอก1.2
คลก1.3
Andr
oid
Prog
ram
min
g
Professional Android Programming8
2. เขาสขนตอนการกาหนดรายละเอยดของ Android Apps ในขนตน โดยท� ชอง Application Name หมายถง ชอ App ของเรา ในกรณนคอ HelloWorld� ชอง Project Name หมายถง ชอ Android Project ปจจบนมขอแนะนาวา ควรมชอเดยว
กบ App� ชอง Package Name หมายถง ชอ Package ของ Android Project ปจจบน มขอแนะนา
ใหใชชอท Eclipse แนะนา
� ชอง Minimum Required SDK ในกรณทผอานคาดวา Android Apps ของเราครอบคลม
ระบบปฏบตการ Android หลายเวอรชน ขอใหผอานระบเวอรชนของระบบปฏบต Android
ทตาสด ทสามารถรน Android Apps ของเราไดกจะทาให App ของเรารองรบหลายเวอรชน
นนเอง� ชอง Target SDK หมายถง เวอรชนของระบบปฏบตการ Android ทเปนเปาหมายหลกให
App ของเรารน� ชอง Compile With หมายถง ผอานตองการทดสอบรนและคอมไพลโปรเจกตปจจบนดวย
เวอรชนใด
รปท 2-2
แสดงการกาหนดรายละเอยดขนตนใหกบ Android Project ปจจบน
ผอานสามารถระบเวอรชนทรองรบไดถง Android 4.4 (KitKat) ในโลกของความเปนจรง Android
Apps ทสรางขนมา ควรทจะรองรบและสามารถตดตงบนระบบปฏบตการ Android หลายเวอรชนมาก
ทสดเทาทเปนไปได ขนอยกบวาในโปรเจกตปจจบนของเรา เรยกใชฟเจอรใดบางของ Android SDK ก
จะมขอกาหนดแตกตางกนไปตามแตละเวอรชน
กรอกขอมล2.1
เลอก2.2
เลอก2.3
คลก2.5
คลก2.4
บทท 2 ความรเบองตนในการพฒนา Android Apps 9
3. เขาสขนตอนการปรบแตง Android Apps ปจจบน ใหผอานคลกแทบ Clipart และคลกปม
เพอเลอกไอคอนสาเรจรปทมากบ Eclipse ใหกบโปรเจกตปจจบน ดงรปท 2-3
4. ผอานสามารถเลอกสของไอคอนได โดยการเลอกสท Foreground Color ดงรปท 2-4
รปท 2-3
แสดงการเลอกไอคอนสาเรจรปใหกบ Android Apps ปจจบน
รปท 2-4
แสดงการเลอกสของไอคอน
คลก3.1
คลก3.2
เลอก3.3
เลอก4.2
คลก4.1
คลก4.3
Andr
oid
Prog
ram
min
g
Professional Android Programming10
5. การเลอกประเภทของ App ทตองการสรางขนมา ในขนตนนเราตองการ App ทมสวนแสดงผล
แบบหนาจอเดยว จงเลอกแบบ Blank Activity
6. กาหนดรายละเอยดขนตนของประเภท App ปจจบนทนาสนใจคอ � ชอง Activity Name หมายถง ชอสวนแสดงผลทจะปรากฏขนมาเปนลาดบแรก ในกรณน
ชอวา MainActivity� ชอง Layout Name หมายถง Layout ของสวนแสดงผลปจจบนคอ ไฟลทชอวา activity_main
(.xml) ทเกบอยในโฟลเดอร layout ของโปรเจกตปจจบน
รปท 2-5
แสดงการเลอกประเภท App ทตองการสรางขนมา
รปท 2-6
แสดงการกาหนดชอ App ปจจบนวา Hello World
เลอก5.1
เลอก5.2
คลก5.3
คลก6.1
คลก6.2
บทท 2 ความรเบองตนในการพฒนา Android Apps 11
ณ จดนโปรแกรม Eclipse จะสราง Android Project วางๆ ขนมาใหเรยบรอยแลว สวนแสดงผล
หลกทปรากฏขนมาเปนลาดบแรก เกดจากไฟลทชอวา fragment_main.xml เกบอยในโฟลเดอร \res\layout
ในปจจบน Android Apps กาหนดใหใช Layout แบบ fragment หมายถง การสรางสวนแสดงผลท
สามารถแสดงผลไดทงมอถอและแทบเลตในคราวเดยวกนอยในความรบผดชอบของไฟล fragment_main.xml
(\res\layout\fragment_main.xml)
ตวอยางการออกแบบสวนแสดงผลอยางงายเมอสรางโปรเจกตเรยบรอยแลว ตอไปกเปนขนตอนการออกแบบสวนแสดงผลของ App โดยแตละ
ไฟลมการทางานแตกตางกนไป ซงมรายละเอยดดงน
1. เรมตนใหผอานลบขอความ Hello world ทมากบโปรเจกตออก จากนนเปดไฟล strings.xml ทพาธ
\res\values ของโปรเจกตปจจบน เพอกาหนดขอความทตองการใชงานกอน เพราะวา Android
Project ถอวา ขอความ (string) เปนทรพยากรประเภทหนงของโปรเจกตปจจบน ดงรปท 2-7
รปท 2-6 (ตอ)
แสดงการกาหนดชอ App ปจจบนวา Hello World
รปท 2-7
แสดงไฟล strings.xml ในโฟลเดอร \res\values
Andr
oid
Prog
ram
min
g
Professional Android Programming12
2. โปรเจกตปจจบนตองการใช 2 ขอความ ใหผอานคลกปม เพอเพมขอความใหมเขามา
ในโปรเจกตปจจบน
ขอความทชอวา TextView1 (ชอง Name) ทาหนาทเกบขอความ “TextView1” (ชอง Value*)
3. ใหผอานเพมอก 1 ขอความตงชอวา Button1 ดงรปท 2-9
รปท 2-8
แสดงการเพมขอความทชอวา TextView1
รปท 2-8 (ตอ)
แสดงการเพมขอความทชอวา TextView1
รปท 2-9
แสดงการเพมขอความทชอวา Button1
เลอก2.2
ขอความทเพมเขามา2.4
คลก2.3
คลก2.1
จากรปท 2-9 ขอความทชอวา Button1 (ชอง Name) ทาหนาทเกบขอความ “Button1” (ชอง Value*)
ณ จดนในโปรเจกตปจจบนของเรามขอความใหม 2 ขอความพรอมใหเรยกใชงานแลว
บทท 2 ความรเบองตนในการพฒนา Android Apps 13
รปท 2-10
แสดงการแกไขโคดในไฟล Main-Activity.java
รปท 2-11
แสดงการกาหนด Layout แบบเรยงตามแนวตง
4. ตวอยางทนาเสนอในหนงสอเลมน ไมไดใชฟเจอร fragment ดงนน ขอใหผอานลบไฟล fragment_
main.xml ออกจากโฟลเดอร \res\layout จากนนแกไขโคดในไฟล MainActivity.java
จากรปท 2-10 ผเขยนกาหนดใหโปรเจกตกลบมาอานโครงสรางสวนแสดงผลจากไฟล activity_main
5. กาหนด Layout ใหกบสวนแสดงผล activity_main.xml (\res\layout\activity_main.xml) ใน
ขนตนนกาหนดใหใช Layout แบบเรยงตามแนวตง
ดบเบลคลก5.1
คลกขวา5.2
เลอก5.3
เลอก5.4
คลก5.5
Andr
oid
Prog
ram
min
g
Professional Android Programming14
6. ใหผอานออกแบบดงรปท 2-12
จากรปท 2-12 เปนการใชงาน widget ประเภท TextView แบบ Large (ทาหนาทรบหรอแสดงขอความ
ทมขนาดตวอกษรใหญกวาปกต) และ widget ประเภท Button (ทาหนาทเปนปมกดจากการสมผสหนาจอ)
7. เราจะกาหนดให widget ประเภท TextView ใชขอความทชอวา TextView1 และ widget ประเภท
Button ใชขอความทชอวา Button1 ทเราสรางไวในขนตอนทแลว ดงรป
รปท 2-12
สวนแสดงผลในขณะออกแบบ
รปท 2-13
แสดงการกาหนดให widget ประเภท TextView ใชขอความทชอวา TextView1
เลอก7.1
เลอก7.3
คลก7.4
เลอก 7.27.2
บทท 2 ความรเบองตนในการพฒนา Android Apps 15
จากรปท 2-13 ใหกาหนดทคณสมบต Text ในหนาตาง Properties
รปท 2-14
แสดงการกาหนดให widget ประเภท Button ใชขอความทชอวา Button1
รปท 2-15
แสดงโครงสราง XML ของสวนแสดงผลปจจบน
เปนการกาหนดให widget ทง 2 ตวใชขอความทมาจากทรพยากรของโปรเจกตปจจบน
8. ผอานสามารถคลกทแทบ activity_main.xml เพอแสดงสวนแสดงผลแบบโครงสราง XML ดงรป
ท 2-15
เลอก7.5
เลอก7.7
คลก7.8
เลอก 7.67.6
Andr
oid
Prog
ram
min
g
Professional Android Programming16
ในขณะทออกแบบสวนแสดงผล โปรแกรม Eclipse จะสรางสครปต XML เหลานใหโดยอตโนมต
หมายความวา สวนแสดงผลใน Android Apps ใชโครงสรางของ XML เขามาทาหนาทรบผดชอบสวนแสดงผล
ใหนนเอง
ในทางกลบกนเราสามารถแกไขสครปต XML เหลานเพอแกไขสวนแสดงผลไดเชนกน
สครปต XML ท 2-1 Hello World Apps (\res\layout\activity_main.xml) <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.example.helloworld.MainActivity" tools:ignore="MergeRootFrame" >
<TextView android:id="@+id/textView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/TextView1" android:textAppearance="?android:attr/textAppearanceLarge" /> <Button android:id="@+id/button1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/Button1" /></LinearLayout>
9. เขยนโคด JAVA ในไฟล MainActivity.java ดงตอไปน
โคด JAVA ท 2-1 Hello World Apps (\src\com.example.hello.android\MainActivity.java)package com.example.helloworld;
import android.support.v7.app.ActionBarActivity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.Button;import android.widget.TextView;
public class MainActivity extends ActionBarActivity implements android.view.View.OnClickLis-tener {
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
Button cmd = (Button) findViewById(R.id.button1); cmd.setOnClickListener(this); }
บทท 2 ความรเบองตนในการพฒนา Android Apps 17
public void onClick(View v) { TextView tv =(TextView) findViewById(R.id.textView1); tv.setText(“Hello Android”); }
@Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true; }
@Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); }}
10. ทดสอบการทางานไดผลลพธดงรป
จากรปท 2-16 เมอคลกปม Button1 ชองรบขอความจะแสดงขอความ “Hello Android” ตามทเรา
ตองการแลว
รปท 2-16
ผลการรนตวอยางท 2-1
Andr
oid
Prog
ram
min
g
Professional Android Programming18
อธบายการทางานของโคด1. เรมตนแพคเกจปจจบนมชอวา com.example.hello.android เกดขนในขณะทสรางโปรเจกตขน
มาในโปรแกรม Eclipse จากนนใหระบไลบรารตอไปนใหครบถวน
\src\com.example.hello.android\MainActivity.javapackage com.example.helloworld;
import android.support.v7.app.ActionBarActivity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.Button;import android.widget.TextView;
2. โปรเจกตปจจบนถกกาหนดใหมสวนแสดงผลแบบหนาจอเดยว ม Activity เดยวชอวาคลาส Main-
Activity.java ใหผอานกาหนดใหมรองรบ (implements) เหตการณคลกดวย (View.OnClickListener)
\src\com.example.hello.android\MainActivity.javapublic class MainActivity extends ActionBarActivity implements android.view.View.OnClickLis-tener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
ใน MainActivity เหตการณ onCreate() จะเกดขนมาเปนลาดบแรก (เปนเหตการณทเกดขนกอน
แสดงผลใหผใชเหน) ผอานตองสรางสวนแสดงผลใน App ใหพรอมใชงานเสยกอนในเหตการณน
โดยทโปรแกรม Eclipse จะกาหนดใหใชสวนแสดงผลทชอวา activity_main (อยในไฟล activity_main.
xml) ผานทางเมธอดทชอวา setContentView() ผานทางคลาส R
คลาส R ถกสรางขนมาโดยอตโนมตทาหนาทอางองสงตางๆ ทอยในโปรเจกตปจจบน ในกรณน
เปนการอางองไฟลททาหนาทสรางสวนแสดงผลจงระบวา R.layout.activity_main
3. ใหสรางเหตการณ Click() ขนมารองรบการกดปม Button ทชอวา button1 โดยทใชเมธอดทชอ
วา findViewById() ทาหนาทคนหาออบเจกตทชอวา button1 ผานทางคลาส R.id ทอยในสวน
แสดงผล ผลการคนหาทไดใหเกบไวในตวแปรออบเจกต Button ทชอวา cmd กอน
จากนนสรางเหตการณ Click() ใหกบตวแปรออบเจกต cmd ผานทางเมธอด setOnClickListener()
ใหกบสวนแสดงผลปจจบน (this)
\src\com.example.hello.android\MainActivity.java Button cmd = (Button) findViewById(R.id.button1); cmd.setOnClickListener(this); }
4. ทเหตการณ onClick() สรางตวแปรออบเจกต TextView ทชอวา tv ขนมารบคาจากการคนหา
ออบเจกตจากสวนแสดงผลทชอวา textView1 กาหนดขอความผานทางเมธอด setText()
top related