SlideShare uma empresa Scribd logo
1 de 81
Mr.Jenchoke Tachagomain
rider1978@gmail.com 1Mr.Jenchoke Tachagomain
Topic
• Android Application Life Cycle
• Say “Hello World”
• Setup Mobile for Development Mode
• Notification
• การสร้างการทางานแบบ ListActivity
• การรับส่งข้อมูลระหว่าง Activity
• Android Camera Selfie
• บันถึงข้อมูลรูปภาพลง External Storage
2Mr.Jenchoke Tachagomain
Android Application Life Cycle
วงจรชีวิตเกิดแก่เจ็บตายของ Android Application3Mr.Jenchoke Tachagomain
4Mr.Jenchoke Tachagomain
Hello World
• เปิด Eclipse
• Select Workspace “E:eclipseWorkSpace”
• New > Android Application Project
5Mr.Jenchoke Tachagomain
Create a new Android Application
6Mr.Jenchoke Tachagomain
Create Project in Workspace
7Mr.Jenchoke Tachagomain
Crate Activity
เป็นการบอกให้ Eclipse
สร้างโครงสร้างของ
Activity ให้ โดยที่
Activity ต่างๆจะถูก
ควบคุมผ่านทาง
Activity Manager
ทั้งหมดตามรูปแบบของ
Life Cycle ของ Android
8Mr.Jenchoke Tachagomain
Blank Activity
ชื่อของ Java Classที่ระบบจะสร้างขึ้นให้
MainActivity.java
ชื่อของ Layout ที่ระบบจะสร้างขึ้นให้
active_main.xmlใช้กาหนด GUI
AndroidManifest.xml
คือไฟล์ที่กาหนดว่า Application
ใช้ Resource อะไรบ้าง ใช้
permission อะไรบ้าง แล้ว มี
Activity อะไรบ้างจะถูกสร้างโดย
อัตโนมัติ ในขั้นตอนการสร้าง
Android Project
9Mr.Jenchoke Tachagomain
Android Project on Eclipse
10Mr.Jenchoke Tachagomain
Setup Mobile for Development Mode
11Mr.Jenchoke Tachagomain
ต่ออุปกรณ์มือถือผ่านทาง USB Port
เพื่อใช้ในการพัฒนาโปรแกรม
ชื่อ Device ที่เชื่อมต่อกับ Eclipse
แสดงสถาน Online และ Version ของ
Android
แสดง Log Massage ที่ได้จาก Device ที่เชื่อมต่อ
12Mr.Jenchoke Tachagomain
ทาการ Run Android Application
13Mr.Jenchoke Tachagomain
แสดงผลการ Run application ผ่าน Eclipse
14Mr.Jenchoke Tachagomain
AndroidManifest.xml
บอก Version ของ Application
ที่เราทาการพัฒนา
บอก Version ของ SDK ของที่
รองรับการทางาน
กาหนดรูปแบบต่างๆ
ของ Application
กาหนด Class Activity ที่จะใช้งาน
กาหนดให้ Activity นี้เป็น
ActivityMain Program ที่ใช้ใน
การ RUN (.LAUCHER) 15Mr.Jenchoke Tachagomain
activity_main.xml ใช้กาหนด Layout
เราสารมาสร้าง Layout ผ่านทาง
GUI ที่ Eclipseให้มาPaletteโดยใช้
วิธีการ drag & drop
16Mr.Jenchoke Tachagomain
Class MainActivity ที่เราสืบทอดมาจาก Class Activity
กาหนดให้สร้าง ContentView Files
Layout จาก activity_main.xml
17Mr.Jenchoke Tachagomain
Notification
18Mr.Jenchoke Tachagomain
• แจ้งเตือนด้วย Toast
• แจ้งเตือนด้วย Alert Dialog
ระบบการแจ้งเตือน (Notification)
• แจ้งเตือนด้วย Notification
19Mr.Jenchoke Tachagomain
แจ้งเตือนด้วย Toast
• New > Android Application Project
20Mr.Jenchoke Tachagomain
การกาหนด Layout ที่ activity_main.xml
Tab Graphic Layout
21Mr.Jenchoke Tachagomain
MainActivity.java
กาหนดค่าให้กับตัวแปล Button1, Button2, Button3 โดยผ่าน method
findViewById() ที่มาจาก Class android.view
- findViewById ก็คือการดึง GUI ใน View นั้นๆออกมาใช้งานนั่นเอง
ไม่ว่าจะเป็น Button, TextView, EditText, ListView หรือ View ต่างๆที่อยู่ในหน้า Layout XML ล้วนจะต้องใช้ findViewById ทั้งนั้น
activity_main.xml
22Mr.Jenchoke Tachagomain
ดังนั้นถ้าลองมองโค๊ดกับภาพประกอบ
รวมกันก็จะเป็นลาดับขั้นตอนดังนี้
23Mr.Jenchoke Tachagomain
24Mr.Jenchoke Tachagomain
การกาหนด Layout ที่ activity_main.xml
25Mr.Jenchoke Tachagomain
การกาหนดค่า Event ให้กับ Button
setOnClickListener คือการ Register การ callback ให้กับ Button เมื่อเกิด
เหตุการณ์ Click โดย method นี้มีการสืบทอด Class มาจาก Class View นั้นเอง
โดยจะทาเอา Object View ที่สืบทอดจาก android.view.setOnClickListener() มาเป็นตัวรับเหตุการณ์ ที่เกิดขึ้น
android.view.setOnClickListener()
26Mr.Jenchoke Tachagomain
การใช้ Toast แสดงข้อความแจ้งเตือน
27Mr.Jenchoke Tachagomain
ผลการ Run Android Application
Notification
On Click
แสดงข้อความที่กาหนดไว้
28Mr.Jenchoke Tachagomain
การใช้ AlertDialog แสดงข้อความแจ้งเตือน
On Click
แสดงข้อความที่กาหนดไว้
29Mr.Jenchoke Tachagomain
เพิ่มButton และ Event ให้กับ AlertDialog
สร้าง Object
Dialog Builder
ให้กับ Object
AlertDialog
Set ค้าให้กับ
Object AlertDialog
30Mr.Jenchoke Tachagomain
แสดง Button
ที่ทาการเพิ่มเข้ามา
Click
Click
31Mr.Jenchoke Tachagomain
การใช้ Notification แสดงข้อความแจ้งเตือน
NotificationManager เป็น Class ตัวควบคุมการแจ้งเตือนในระบบ Android โดยจะรับค่าจาก
Object Notification ที่เราสร้างขึ้นมาโดยกาหนดคุณสมบัติจาก Object NotificationCompat
32Mr.Jenchoke Tachagomain
Click
แสดงข้อความแจ้งเตือนจากการ
setTicker()
แสดงข้อความแจ้งเตือนที่ถูกร้างมาจาก
Object Notification
ผ่าน Notification Manager
33Mr.Jenchoke Tachagomain
การสร้าง PendingIntent, Intent
เพื่อรับค่าเหตุการณ์จาก Event ของ Notification
สร้าง Class Activity ชื่อ UpdateActivity.java
สร้าง XML Layout ชื่อ Update_activity.xml
กาหนด Layout ให้กับ Class Activity
โดยใช้ข้อมูลจาก update_activity.xml 34Mr.Jenchoke Tachagomain
XML Layout ชื่อ Update_activity.xml
35Mr.Jenchoke Tachagomain
เพิ่ม Activity Class เข้าไปใน AndroidManifest.xml
36Mr.Jenchoke Tachagomain
ปรับแต่ง onClick() ของ button3
Object Intent ทาหน้าที่ผูกการทางานระหว่าง Class MainActivity.javaและ UpdateActivity.java
Object PendingIntentทาหน้าที่เป็นตัวสั่งการเชื่อมต่อระหว่างกันผ่านตัวแปร Object
37Mr.Jenchoke Tachagomain
Click
Click
MainActivity.java UpdateActivity.javaNotification Manager
38Mr.Jenchoke Tachagomain
การสร้างการทางานแบบ ListActivity
39Mr.Jenchoke Tachagomain
สร้างทาการAndroid Application
40Mr.Jenchoke Tachagomain
กาหนดการ Create Activity
41Mr.Jenchoke Tachagomain
กาหนดชนิดของการ Create Activity
เลือก Blank Activity 42Mr.Jenchoke Tachagomain
ตั้งชื่อ Activity และ Layout
43Mr.Jenchoke Tachagomain
Copy Files
Copy File รูปภาพ .png ไปวางใน Patch ของ res/drawable-hdpi/44Mr.Jenchoke Tachagomain
Copy File รูปภาพ .png ไปวางใน Patch
ของ res/drawable-hdpi/
การตั้งชื่อ Image Resource Files
ในระบบ Android นั้นห้ามมีการใช้
เครื่องหมายลบหรือมรีช่องว่าง
“ ” และ ”-”
45Mr.Jenchoke Tachagomain
สร้าง List Menu โดยใช้ Object ImageView ลากมาวางไว้ที่ Layout
ระบบจะให้เลือก
Image Resource Files
Click
46Mr.Jenchoke Tachagomain
activity_main.xml
47Mr.Jenchoke Tachagomain
กาหนดการทางานของ Class MainActivity
โดยให้สืบทอดจาก Class จาก ListActivity
สร้าง String Array เพื่อใช้ในกาหนดการแสดงรายการ
48Mr.Jenchoke Tachagomain
สร้าง Class ArrayAdapterImage มาทาหน้าที่แสดง
ข้อความและรูปภาพใน ListActivity ดังนี้
49Mr.Jenchoke Tachagomain
50Mr.Jenchoke Tachagomain
เรียกใช้ ArrayAdapterImage ในหาร
setListAdapter ดังนี้
51Mr.Jenchoke Tachagomain
ทาการ Run
Android Application
52Mr.Jenchoke Tachagomain
การเพิ่ม Event onListItemClick()
53Mr.Jenchoke Tachagomain
ทาการ Run
Android Application
Click
แสดงข้อความที่กาหนดไว้
54Mr.Jenchoke Tachagomain
การรับส่งข้อมูลระหว่าง Activity
55Mr.Jenchoke Tachagomain
สร้าง Android Project ชื่อ SendData
56Mr.Jenchoke Tachagomain
ออกแบบ Layout เพื่อใช้ส่งข้อมูล
activity_main.xml
57Mr.Jenchoke Tachagomain
Click เพื่อสร้าง XML Layout
(secondscreen.xml)
สร้าง Layout เพื่อใช้รับข้อมูล
58Mr.Jenchoke Tachagomain
สร้าง Layout ชื่อ secondscreen.xml
59Mr.Jenchoke Tachagomain
secondscreen.xml 60Mr.Jenchoke Tachagomain
สร้าง Activity Class ชื่อ SecondScreen.java
61Mr.Jenchoke Tachagomain
สร้าง methods onCreate() ให้กับ
Class SecondScreen.java
62Mr.Jenchoke Tachagomain
กาหนดตัวแปลงที่จะใช้ส่งข้อมูล
ดึงค่าจาก Object ค่าให้
ตัวแปล
ส่งผ่านข้อมูลระหว่าง Activity โดยใช้ Object Intent
MainActivity.java
63Mr.Jenchoke Tachagomain
SecodScreen.java
กลับหน้าจอหลัก
ดึงค่าจาก Object Intent
โดยใช้ method getIntent()
64Mr.Jenchoke Tachagomain
เพิ่ม Class SecondScreen ใน
AndroidManifest.xml
65Mr.Jenchoke Tachagomain
เพิ่ม Class SecondScreen ใน AndroidManifest.xml 66Mr.Jenchoke Tachagomain
Click
Click
SecodScreenMainActivity 67Mr.Jenchoke Tachagomain
Android Selfie
68Mr.Jenchoke Tachagomain
Mr.Jenchoke Tachagomain 69
สร้าง Android Project ชื่อ MyCamera
AndroidManifest.xml
Mr.Jenchoke Tachagomain 70
เพิ่ม Permission ในการเข้าถึง Camera Device และ Storage
ให้กับ Android Project
Mr.Jenchoke Tachagomain 71
AndroidManifest.xml
72Mr.Jenchoke Tachagomain
activity_main.xml
Mr.Jenchoke Tachagomain 73
activity_main.xml
Mr.Jenchoke Tachagomain 74
activity_main.xml
กาหนดขนาดให้กับ
SerfaceView
Mr.Jenchoke Tachagomain 75
MainActivity.java
Mr.Jenchoke Tachagomain 76MainActivity.java
Method ของการ Implement SerfaceHolder.Callback
Mr.Jenchoke Tachagomain 77
Click Click
กล้องหลัง กล้องหน้า
ถ่ายภาพและจัดเก็บภาพ
Mr.Jenchoke Tachagomain 78
เพิ่ม method PictureCallback() เพื่อมารองรับการทางานของ method Camera.takePicture()
ข้อมูลภาพ
Patch ที่อยู่ของรูปที่จะจัดเก็บ
สร้าง File รูปภาพ
Mr.Jenchoke Tachagomain 79
เพิ่ม Event Onclick เพื่อทาการถ่ายภาพ
โดยเรียกใช้งานผ่าน Method takePicture() ของ Object Camera
Mr.Jenchoke Tachagomain 80
รูปภาพถูกจัดเก็บไว้ตามที่มีการกาหนด
ไว้ให้ Application
Thank
81

Mais conteúdo relacionado

Destaque

การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05Jenchoke Tachagomain
 
Control What You Can Control
Control What You Can ControlControl What You Can Control
Control What You Can ControlMichael Cassidy
 
Level One - Unlock Your Career in Manufacturing - Sample
Level One - Unlock Your Career in Manufacturing - SampleLevel One - Unlock Your Career in Manufacturing - Sample
Level One - Unlock Your Career in Manufacturing - SampleAnanth Palaniappan
 
Blogs and Wikis for Reflection and Collaboration
Blogs and Wikis for Reflection and CollaborationBlogs and Wikis for Reflection and Collaboration
Blogs and Wikis for Reflection and CollaborationElaine Huber
 
Introduction to On-line Documemt Lab 4
Introduction to On-line Documemt Lab 4Introduction to On-line Documemt Lab 4
Introduction to On-line Documemt Lab 4Jenchoke Tachagomain
 
คู่มือการใช้งาน Google
คู่มือการใช้งาน  Googleคู่มือการใช้งาน  Google
คู่มือการใช้งาน GoogleKruthai Kidsdee
 
Introduction to On-line Documemt Lect03 E Commerce
Introduction to On-line Documemt  Lect03 E CommerceIntroduction to On-line Documemt  Lect03 E Commerce
Introduction to On-line Documemt Lect03 E CommerceJenchoke Tachagomain
 
กฎหมายวิธีพิจารณาความอาญา2
กฎหมายวิธีพิจารณาความอาญา2กฎหมายวิธีพิจารณาความอาญา2
กฎหมายวิธีพิจารณาความอาญา2Narong Jaiharn
 
Introduction to On-line Documemt Lect05 Web Process
Introduction to On-line Documemt  Lect05 Web ProcessIntroduction to On-line Documemt  Lect05 Web Process
Introduction to On-line Documemt Lect05 Web ProcessJenchoke Tachagomain
 

Destaque (16)

การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05
 
Control What You Can Control
Control What You Can ControlControl What You Can Control
Control What You Can Control
 
subport
subportsubport
subport
 
Level One - Unlock Your Career in Manufacturing - Sample
Level One - Unlock Your Career in Manufacturing - SampleLevel One - Unlock Your Career in Manufacturing - Sample
Level One - Unlock Your Career in Manufacturing - Sample
 
Blogs and Wikis for Reflection and Collaboration
Blogs and Wikis for Reflection and CollaborationBlogs and Wikis for Reflection and Collaboration
Blogs and Wikis for Reflection and Collaboration
 
Presentation seo
Presentation seoPresentation seo
Presentation seo
 
Criminal penalties2
Criminal penalties2Criminal penalties2
Criminal penalties2
 
Introduction to On-line Documemt Lab 4
Introduction to On-line Documemt Lab 4Introduction to On-line Documemt Lab 4
Introduction to On-line Documemt Lab 4
 
มาตราฐาน+..
มาตราฐาน+..มาตราฐาน+..
มาตราฐาน+..
 
คู่มือการใช้งาน Google
คู่มือการใช้งาน  Googleคู่มือการใช้งาน  Google
คู่มือการใช้งาน Google
 
Introduction to On-line Documemt Lect03 E Commerce
Introduction to On-line Documemt  Lect03 E CommerceIntroduction to On-line Documemt  Lect03 E Commerce
Introduction to On-line Documemt Lect03 E Commerce
 
Lect 08 Css
Lect 08 CssLect 08 Css
Lect 08 Css
 
Reading Technic
Reading TechnicReading Technic
Reading Technic
 
กฎหมายวิธีพิจารณาความอาญา2
กฎหมายวิธีพิจารณาความอาญา2กฎหมายวิธีพิจารณาความอาญา2
กฎหมายวิธีพิจารณาความอาญา2
 
Unit 4
Unit 4Unit 4
Unit 4
 
Introduction to On-line Documemt Lect05 Web Process
Introduction to On-line Documemt  Lect05 Web ProcessIntroduction to On-line Documemt  Lect05 Web Process
Introduction to On-line Documemt Lect05 Web Process
 

Mais de Jenchoke Tachagomain

Introduction to On-line Documemt Lab 3
Introduction to On-line Documemt Lab 3Introduction to On-line Documemt Lab 3
Introduction to On-line Documemt Lab 3Jenchoke Tachagomain
 
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 09
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 09การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 09
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 09Jenchoke Tachagomain
 
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 08
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 08การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 08
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 08Jenchoke Tachagomain
 
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 07
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 07การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 07
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 07Jenchoke Tachagomain
 
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 06
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 06การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 06
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 06Jenchoke Tachagomain
 
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 04
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 04การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 04
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 04Jenchoke Tachagomain
 
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 03
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 03การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 03
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 03Jenchoke Tachagomain
 
การพัฒนาเอกสารออนไลน์ขั้นสูง Intro
การพัฒนาเอกสารออนไลน์ขั้นสูง Introการพัฒนาเอกสารออนไลน์ขั้นสูง Intro
การพัฒนาเอกสารออนไลน์ขั้นสูง IntroJenchoke Tachagomain
 

Mais de Jenchoke Tachagomain (20)

Digital Transformation
Digital TransformationDigital Transformation
Digital Transformation
 
Android architecture
Android architectureAndroid architecture
Android architecture
 
Lect07 Page Design
Lect07 Page DesignLect07 Page Design
Lect07 Page Design
 
Lect06 Web Design
Lect06 Web DesignLect06 Web Design
Lect06 Web Design
 
Introduction to On-line Documemt Lab 3
Introduction to On-line Documemt Lab 3Introduction to On-line Documemt Lab 3
Introduction to On-line Documemt Lab 3
 
Lab 2 For Css
Lab 2 For CssLab 2 For Css
Lab 2 For Css
 
Rss
RssRss
Rss
 
Digital Content Business
Digital Content BusinessDigital Content Business
Digital Content Business
 
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 09
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 09การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 09
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 09
 
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 08
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 08การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 08
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 08
 
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 07
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 07การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 07
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 07
 
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 06
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 06การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 06
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 06
 
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 04
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 04การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 04
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 04
 
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 03
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 03การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 03
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 03
 
Communication Concept
Communication ConceptCommunication Concept
Communication Concept
 
การพัฒนาเอกสารออนไลน์ขั้นสูง Intro
การพัฒนาเอกสารออนไลน์ขั้นสูง Introการพัฒนาเอกสารออนไลน์ขั้นสูง Intro
การพัฒนาเอกสารออนไลน์ขั้นสูง Intro
 
Communication Concept 3
Communication Concept 3Communication Concept 3
Communication Concept 3
 
Communication Concept
Communication ConceptCommunication Concept
Communication Concept
 
Communication Concept
Communication ConceptCommunication Concept
Communication Concept
 
J2ME Game Concept
J2ME  Game ConceptJ2ME  Game Concept
J2ME Game Concept
 

Android programming