android programming

81
Android Programming Mr.Jenchoke Tachagomain [email protected] 1 Mr.Jenchoke Tachagomain

Upload: jenchoke-tachagomain

Post on 23-Dec-2014

154 views

Category:

Technology


2 download

DESCRIPTION

Android Programming ​• Android Application Life Cycle • Say “Hello World” • Setup Mobile for Development Mode • Notification • การสร้างการทำงานแบบ ListActivity • การรับส่งข้อมูลระหว่าง Activity • Android Camera Selfie • บันถึงข้อมูลรูปภาพลง External Storage​

TRANSCRIPT

Page 1: Android programming

Mr.Jenchoke Tachagomain 1

Android Programming

Mr.Jenchoke [email protected]

Page 2: Android programming

2

Topic• Android Application Life Cycle• Say “Hello World”• Setup Mobile for Development Mode• Notification• การสร�างการทำ�างานแบบ ListActivity• การร�บส งข้�อมู�ลระหว่ าง Activity• Android Camera Selfie• บ�นถึ�งข้�อมู�ลร�ปภาพลง External

Storage Mr.Jenchoke Tachagomain

Page 3: Android programming

Mr.Jenchoke Tachagomain 3

Android Application Life Cycle

วงจรชี�ว�ตเกิ�ดแกิ เจ�บตายของ Android Application

Page 4: Android programming

Mr.Jenchoke Tachagomain 4

Hello World

Page 5: Android programming

Mr.Jenchoke Tachagomain 5

Hello World

• เปิ�ด Eclipse• Select Workspace “E:\eclipseWorkSpace”

• New > Android Application Project

Page 6: Android programming

Mr.Jenchoke Tachagomain 6

Create a new Android Application

Page 7: Android programming

Mr.Jenchoke Tachagomain 7

Create Project in Workspace

Page 8: Android programming

Mr.Jenchoke Tachagomain 8

Crate Activity เปิ�นกิารบอกิให้�

Eclipse

สร�างโครงสร�าง ของ

Activity ให้� โดยที่��Activity ต างๆจะถู#กิควบค$มผ่ านที่างActivity Manager

ที่'(งห้มดตามร#ปิ แบบของ Life Cycle

ของ Android

Page 9: Android programming

Mr.Jenchoke Tachagomain 9

Blank Activity

ชี)�อของ Java Class ที่��ระบบจะสร�างข+(นให้� MainActivity.java

ชี)�อของ Layout ที่��ระบบจะสร�างข+(นให้� active_main.xml ใชี�กิ,าห้นด GUI

AndroidManifest.xml ค)อไฟล์0ที่��กิ,าห้นดว า

Application ใชี� Resource อะไรบ�าง ใชี� permission อะไรบ�าง แล์�ว ม� Activity

อะไรบ�างจะถู#กิสร�างโดย อ'ตโนม'ต� ในข'(นตอน กิารสร�าง Android Project

Page 10: Android programming

Mr.Jenchoke Tachagomain 10

Android Project on Eclipse

Page 11: Android programming

Mr.Jenchoke Tachagomain 11

Setup Mobile for Development Mode

Page 12: Android programming

Mr.Jenchoke Tachagomain 12

ต่ ออ�ปกรณ์�มู�อถึ�อผ่ านทำางUSB Port

เพ�"อใช้�ในการพ�ฒนาโปรแกรมู ช้�"อ Device ทำ'"เช้�"อมูต่ อก�บ Eclipse

แสดงสถึาน Online และ Version ข้องAndroid

แสดง Log Massage ทำ'"ได�จาก Device ทำ'"เช้�"อมูต่ อ

Page 13: Android programming

Mr.Jenchoke Tachagomain 13

ทำ�าการ Run Android Application

Page 14: Android programming

Mr.Jenchoke Tachagomain 14

แสดงผ่ลการ Run application ผ่ าน Eclipse

Page 15: Android programming

Mr.Jenchoke Tachagomain 15

AndroidManifest.xml

บอกิ Version ของ Application ที่��เราที่,ากิารพั'ฒนา

บอกิ Version ของ SDK ของที่�� รองร'บกิารที่,างาน

กิ,าห้นดร#ปิแบบต างๆของ Application

กิ,าห้นด Class Activity ที่��จะใชี�งาน

กิ,าห้นดให้� Activity น�(เปิ�น Activity Main Program ที่��ใชี�ในกิาร RUN (.LAUCHER)

Page 16: Android programming

Mr.Jenchoke Tachagomain 16

activity_main.xml ใช้�ก�าหนดLayout

เราสารมาสร�าง Layout ผ่ านที่าง GUI ที่�� Eclipseให้�มา Palette โดยใชี�ว�ธี�กิาร drag & drop

Page 17: Android programming

Mr.Jenchoke Tachagomain 17

Class MainActivity ทำ'"เราส�บทำอดมูาจาก Class Activity

กิ,าห้นดให้�สร�าง ContentView Files Layout จากิ activity_main.xml

Page 18: Android programming

Mr.Jenchoke Tachagomain 18

Notification

Page 19: Android programming

Mr.Jenchoke Tachagomain 19

• แจ�งเต่�อนด�ว่ย Toast

• แจ�งเต่�อนด�ว่ย Alert Dialog

ระบบการแจ�งเต่�อน(Notification)

• แจ�งเต่�อนด�ว่ยNotification

Page 20: Android programming

Mr.Jenchoke Tachagomain 20

แจ�งเต่�อนด�ว่ย Toast• New > Android Application Project

Page 21: Android programming

Mr.Jenchoke Tachagomain 21

การก�าหนด Layout ทำ'"activity_main.xml

Tab Graphic Layout

Page 22: Android programming

Mr.Jenchoke Tachagomain 22

MainActivity.java

ก�าหนดค่ าให�ก�บต่�ว่แปล Button1, Button2, Button3 โดยผ่ าน method findViewById() ที่��มาจากิ Class android.view- findViewById กิ�ค)อกิารด+ง GUI ใน View น'(นๆออกิมาใชี�งานน'�นเอง

ไมู ว่ าจะเป-น Button, TextView, EditText, ListView หร�อ View ต่ างๆทำ'"อย� ในหน�า Layout XML ล�ว่นจะต่�องใช้� findViewById ทำ�/งน�/น

activity_main.xml

Page 23: Android programming

Mr.Jenchoke Tachagomain 23

 ด�งน�/นถึ�าลองมูองโค่0ดก�บภาพประกอบรว่มูก�นก1จะเป-น

ล�าด�บข้�/นต่อนด�งน'/

Page 24: Android programming

Mr.Jenchoke Tachagomain 24

Page 25: Android programming

Mr.Jenchoke Tachagomain 25

การก�าหนด Layout ทำ'" activity_main.xml

Page 26: Android programming

Mr.Jenchoke Tachagomain 26

การก�าหนดค่ า Event ให�ก�บButton

setOnClickListener ค)อกิาร Register กิาร callback ให้�กิ'บ Button เม)�อเกิ�ด เห้ต$กิารณ์0 Click โดย method น�(ม�กิารส)บที่อด Class มาจากิ Class View น'(นเอง

โดยจะที่,าเอา Object View ที่��ส)บที่อดจากิ android.view.setOnClickListener() มาเปิ�นต'วร'บเห้ต$กิารณ์0 ที่��เกิ�ดข+(น

android.view.setOnClickListener()

Page 27: Android programming

Mr.Jenchoke Tachagomain 27

การใช้� Toast แสดงข้�อค่ว่ามูแจ�งเต่�อน

Page 28: Android programming

Mr.Jenchoke Tachagomain 28

ผ่ลการ Run Android ApplicationNotification

On Click

แสดงข�อความที่��กิ,าห้นดไว�

Page 29: Android programming

Mr.Jenchoke Tachagomain 29

การใช้� AlertDialog แสดงข้�อค่ว่ามูแจ�งเต่�อน

On Click

แสดงข�อความที่��กิ,าห้นดไว�

Page 30: Android programming

Mr.Jenchoke Tachagomain 30

เพ2"มู Button และ Event ให�ก�บAlertDialog

สร�าง ObjectDialog Builderให้�กิ'บ ObjectAlertDialog

Set ค�าให้�กิ'บObject AlertDialog

Page 31: Android programming

Mr.Jenchoke Tachagomain 31

แสดง Button ที่��ที่,ากิารเพั��มเข�ามา

Click

Click

Page 32: Android programming

Mr.Jenchoke Tachagomain 32

การใช้� Notification แสดงข้�อค่ว่ามูแจ�งเต่�อน

NotificationManager เป-น Class ต่�ว่ค่ว่บค่�มูการแจ�งเต่�อนในระบบ Android โดยจะร�บค่ าจากObject Notification ทำ'"เราสร�างข้�/นมูาโดยก�าหนดค่�ณ์สมูบ�ต่2จาก Object NotificationCompat

Page 33: Android programming

Mr.Jenchoke Tachagomain 33

Click

แสดงข�อความแจ�งเต)อนจากิกิารsetTicker()

แสดงข�อความแจ�งเต)อนที่��ถู#กิร�างมาจากิ

Object Notification ผ่ าน Notification Manager

Page 34: Android programming

Mr.Jenchoke Tachagomain 34

การสร�าง PendingIntent, Intent เพ�"อร�บค่ าเหต่�การณ์�จาก Event ข้อง

Notification สร�าง Class Activity ชี)�อ UpdateActivity.java สร�าง XML Layout ชี)�อ Update_activity.xml

กิ,าห้นด Layout ให้�กิ'บ Class Activity โดยใชี�ข�อม#ล์จากิ update_activity.xml

Page 35: Android programming

Mr.Jenchoke Tachagomain 35

XML Layout ชี)�อ Update_activity.xml

Page 36: Android programming

Mr.Jenchoke Tachagomain 36

เพั��ม Activity Class เข�าไปิใน AndroidManifest.xml

Page 37: Android programming

Mr.Jenchoke Tachagomain 37

ปร�บแต่ ง onClick() ข้อง button3

Object Intent ที่,าห้น�าที่��ผ่#กิกิารที่,างานระห้ว าง Class MainActivity.java แล์ะ UpdateActivity.javaObject PendingIntent ที่,าห้น�าที่��เปิ�นต'วส'�งกิารเชี)�อมต อระห้ว างกิ'นผ่ านต'วแปิร Object

Page 38: Android programming

Mr.Jenchoke Tachagomain 38

Click

Click

MainActivity.java UpdateActivity.javaNotification Manager

Page 39: Android programming

Mr.Jenchoke Tachagomain 39

การสร�างการทำ�างานแบบ ListActivity

Page 40: Android programming

Mr.Jenchoke Tachagomain 40

สร�างทำ�าการ Android Application

Page 41: Android programming

Mr.Jenchoke Tachagomain 41

ก�าหนดการ Create Activity

Page 42: Android programming

Mr.Jenchoke Tachagomain 42

ก�าหนดช้น2ดข้องการ Create Activity

เล์)อกิ Blank Activity

Page 43: Android programming

Mr.Jenchoke Tachagomain 43

ต่�/งช้�"อ Activity และ Layout

Page 44: Android programming

Mr.Jenchoke Tachagomain 44

Copy Files

Copy File ร�ปภาพ .png ไปว่างใน Patch ข้อง res/drawable-hdpi/

Page 45: Android programming

Mr.Jenchoke Tachagomain 45

Copy File ร�ปภาพ .png ไปว่างในPatch

ข้อง res/drawable-hdpi/

กิารต'(งชี)�อ Image Resource Filesในระบบ Android น'(นห้�ามม�กิารใชี�เคร)�องห้มายล์บห้ร)อมร�ชี องว าง “ ” และ ”-”

Page 46: Android programming

Mr.Jenchoke Tachagomain 46

สร�าง List Menu โดยใช้� Object ImageView ลากมูาว่างไว่�ทำ'" Layout

ระบบจะให้�เล์)อกิImage Resource Files

Click

Page 47: Android programming

Mr.Jenchoke Tachagomain 47

activity_main.xml

Page 48: Android programming

Mr.Jenchoke Tachagomain 48

ก�าหนดการทำ�างานข้อง Class MainActivity โดยให�ส�บทำอดจาก Class จาก ListActivity

สร�าง String Array เพั)�อใชี�ในกิ,าห้นดกิารแสดงรายกิาร

Page 49: Android programming

Mr.Jenchoke Tachagomain 49

สร�าง Class ArrayAdapterImage มูาทำ�าหน�าทำ'" แสดงข้�อค่ว่ามูและร�ปภาพใน ListActivity

ด�งน'/

Page 50: Android programming

Mr.Jenchoke Tachagomain 50

Page 51: Android programming

Mr.Jenchoke Tachagomain 51

เร'ยกใช้� ArrayAdapterImage ในหาร setListAdapter ด�งน'/

Page 52: Android programming

Mr.Jenchoke Tachagomain 52

ทำ�าการ Run Android Application

Page 53: Android programming

Mr.Jenchoke Tachagomain 53

การเพ2"มู Event onListItemClick()

Page 54: Android programming

Mr.Jenchoke Tachagomain 54

ทำ�าการ Run Android Application

Click

แสดงข�อความที่��กิ,าห้นดไว�

Page 55: Android programming

Mr.Jenchoke Tachagomain 55

การร�บส งข้�อมู�ลระหว่ างActivity

Page 56: Android programming

Mr.Jenchoke Tachagomain 56

สร�าง Android Project ช้�"อSendData

Page 57: Android programming

Mr.Jenchoke Tachagomain 57

ออกแบบ Layout เพ�"อใช้�ส งข้�อมู�ล

activity_main.xml

Page 58: Android programming

Mr.Jenchoke Tachagomain 58

Click เพั)�อสร�าง XML Layout(secondscreen.xml)

สร�าง Layout เพ�"อใช้�ร�บข้�อมู�ล

Page 59: Android programming

Mr.Jenchoke Tachagomain 59

สร�าง Layout ช้�"อsecondscreen.xml

Page 60: Android programming

Mr.Jenchoke Tachagomain 60secondscreen.xml

Page 61: Android programming

Mr.Jenchoke Tachagomain 61

สร�าง Activity Class ช้�"อSecondScreen.java

Page 62: Android programming

Mr.Jenchoke Tachagomain 62

สร�าง methods onCreate() ให้�กิ'บ Class SecondScreen.java

Page 63: Android programming

Mr.Jenchoke Tachagomain 63

กิ,าห้นดต'วแปิล์งที่��จะใชี�ส งข�อม#ล์

ด+งค าจากิ Object ค าให้�ต'วแปิล์

ส งผ่ านข�อม#ล์ระห้ว าง Activity โดยใชี�Object Intent

MainActivity.java

Page 64: Android programming

Mr.Jenchoke Tachagomain 64SecodScreen.java

กิล์'บห้น�าจอห้ล์'กิ

ด+งค าจากิ Object Intent โดยใชี� method getIntent()

Page 65: Android programming

Mr.Jenchoke Tachagomain 65

เพ2"มู Class SecondScreen ในAndroidManifest.xml

Page 66: Android programming

Mr.Jenchoke Tachagomain 66 เพั��ม Class SecondScreen ในAndroidManifest.xml

Page 67: Android programming

Mr.Jenchoke Tachagomain 67

Click

Click

SecodScreenMainActivity

Page 68: Android programming

Mr.Jenchoke Tachagomain 68

Android Selfie

Page 69: Android programming

Mr.Jenchoke Tachagomain 69

สร�าง Android Project ช้�"อMyCamera

Page 70: Android programming

Mr.Jenchoke Tachagomain 70

AndroidManifest.xml

เพั��ม Permission ในกิารเข�าถู+ง Camera Device แล์ะ Storage

ให้�กิ'บ Android Project

Page 71: Android programming

Mr.Jenchoke Tachagomain 71

AndroidManifest.xml

Page 72: Android programming

72Mr.Jenchoke Tachagomain

activity_main.xml

Page 73: Android programming

Mr.Jenchoke Tachagomain 73

activity_main.xml

Page 74: Android programming

Mr.Jenchoke Tachagomain 74

activity_main.xml

กิ,าห้นดขนาดให้�กิ'บSerfaceView

Page 75: Android programming

Mr.Jenchoke Tachagomain 75MainActivity.java

Page 76: Android programming

Mr.Jenchoke Tachagomain 76MainActivity.java

Method ของกิาร Implement SerfaceHolder.Callback

Page 77: Android programming

Mr.Jenchoke Tachagomain 77

Click Click

กล�องหล�ง

กล�องหน�า

Page 78: Android programming

Mr.Jenchoke Tachagomain 78

ถึ ายภาพและจ�ดเก1บภาพ

เพั��ม method PictureCallback() เพั)�อมารองร'บกิารที่,างานของ method Camera.takePicture()

ข�อม#ล์ภาพั

Patch ที่��อย# ของร#ปิที่��จะจ'ดเกิ�บ

สร�าง File ร#ปิภาพั

Page 79: Android programming

Mr.Jenchoke Tachagomain 79

เพ2"มู Event Onclick เพ�"อทำ�าการถึ ายภาพ โดยเร'ยกใช้�งานผ่ าน Method takePicture() ข้อง

Object Camera

Page 80: Android programming

Mr.Jenchoke Tachagomain 80

ร�ปภาพถึ�กจ�ดเก1บไว่�ต่ามูทำ'" มู'การก�าหนดไว่�ให�

Application

Page 81: Android programming

81

Thank