สนุกกับ Activity ใน Android ผศ. รวินทร์ ไชยสิทธิพร
Activity คืออะไร เป็น “หน่วย” ทำงานของ Android ในความเป็นจริง มันเป็น คลาส อันหนึ่ง (android.app.Activity) Activity เป็น “ตัวแทน” ของ “หน้าต่าง” ในระบบ Android (เหมือนกับ Form ใน VB) แต่ละ Activity จะเป็นสิ่งที่ติดต่อกับผู้ใช้ เช่น หมุนโทรศัพท์, ถ่ายรูป, ส่งอีเมล์ ใน Application อาจมีหลาย Activity แต่จะต้องมี Activity ๑ อัน เป็น main activity
Activity (ต่อ) ส่วน Graphic ของ Activity จะกำหนดไว้ในไฟล์ XML ที่อยู่ภายในโฟลเดอร์ res การประกาศ Activity ในไฟล์ manifest ในส่วน Application จะใช้คลาสของ Java ในการ ทำงาน
การใช้ Intent Filter ในแท็ก <activity> สามารถเพิ่มแท็ก <intent-filter> เข้าไปได้ หน้าที่ของ Intent Filter คือ บอกว่า แอพพลิเคชั่น อื่นจะ ติดต่อกับ Activity นี้ได้อย่างไร ตัวอย่าง
การเริ่มต้นการทำงานของ Activity เมธอด startActivity() ใช้ในการ เริ่ม การทำงานของ Activity การใช้งานเมธอดนี้จะต้องส่ง Intent ไปพร้อมกันด้วย Intent คือหน่วย (คลาส) ที่ทำงานเกี่ยวกับ “การ ติดต่อสื่อสาร” ภายใน Android ตัวอย่าง สมมติว่าจะเรียก SignInActivity ให้ทำงาน
เทคนิค การเรียก Activity ให้ทำงาน ไม่จำเป็นต้องสร้างเองเท่านั้น เราสามารถเรียกจาก Activity ที่อยู่ในระบบของ Android ได้เช่นกัน ตัวอย่าง การเปิด Activity เพื่อส่งอีเมล์
การเรียก Activity ให้ทำงานโดยรับค่ากลับ เช่นต้องการเปิด Contact เพื่อให้ผู้ใช้เลือกรายชื่อ สามารถเรียก Activity ที่ทำงานด้าน Contact ให้ทำงาน และรอรับค่ากลับมา ดังเช่น... (หน้าถัดไป)
การสิ้นสุดการทำงานของ Activity เนื่องจาก Android มีระบบจัดการ ด้วยการใช้ Event สิ้นสุดการทำงานของ Activity นั้นๆ ใช้ finish() สิ้นสุดการทำงานของ Activity อื่น ใช้ finishActivity()
จัดการ Event ด้วย Life Cycle ของ Activity
ทดสอบ Event ด้วยการ เขียนโปรแกรม เขียนโปรแกรมเพิ่มแทรกลงไปใน Main Activity ดังนี้
การจัดเก็บข้อมูลก่อนการสิ้นสุด Activity การทำงานของ Activity จะเกี่ยวข้องกับ “หน่วยความจำ” หากอยู่ในสถานะ Stop อาจจะเข้าสู่สถานะ onSaveInstanceState เพื่อทำการ “จัดเก็บ” ข้อมูลที่สำคัญ เมื่อมีการเปิด Activity ให้ทำงานอีกครั้ง จะมีการเรียกเมธอด onRestoreInstanceState() และสามารถดึงข้อมูลที่ จัดเก็บไว้กลับคืนมาได้
การทำงาน
ทดสอบการทำงาน พิมพ์ลงไปใน Main Activity ทำการทดสอบโดยเปิดและเปิด App อื่นไปเรื่อยๆ และเปิด App เดิมย้อนกลับมา
เล่นกับ Layout การใช้ Layout ใช้กับ Activity หรือ App widget ใช้ไฟล์ XML (แนะนำ) สร้างใน App โดยตรง (ไม่แนะนำ) ใน Eclipse สามารถใช้ กราฟิก กับ XML ได้ ไม่ต้องเขียน เป็น text โดยตรง แต่เรียนรู้ไว้ก็ดี Layout ส่วนใหญ่จะใช้ร่วมกับ View
ตัวอย่าง
การเรียกใช้ใน App เราสามารถเรียกใช้ Layout ได้จากใน App ดังนี้ เมื่อเรียกแล้ว ก็สามารถเรียก method ของ Button ได้ เช่น setOnClickListener() เป็นต้น
โครงสร้างของ Layout
ประเภทของ Layout