You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
• Broadcast and Intent Receiver คือ การตอบสนอง ซึ่งโดยปกติแล้ว Broadcast Receiver<br />
จะเป็นการตอบสนองต่อการเกิดอีเวนต์ของระบบในวงกว้าง เช่น การประกาศเตือนว่าแบตเตอรี่<br />
ใกล้จะหมดแล้ว เป็นต้น นอกจากนี้ Intent Receiver เป็นส่วนทำให้แอพพลิเคชันอื่นๆ เข้าถึงการ<br />
ทำงานของ Activity และ Service ซึ่งในการปฏิบัติงานแต่ละอย่างเป็นการตอบสนองการร้องขอ<br />
จากข้อมูลหรือบริการของ Activity อื่นๆ<br />
• Content Provider คือ ส่วนของการให้บริการข้อมูลสำหรับแต่ละแอพพลิเคชัน ทั้งนี้ข้อมูล<br />
สามารถเก็บอยู่ในรูปแบบของระบบไฟล์ หรือฐานข้อมูลก็ได้ เช่น Google สามารถเข้าใช้งาน<br />
ข้อมูลร่วมกันกับผู้ใช้งานได้ในแอพพลิเคชันที่ต้องการข้อมูลของผู้ใช้งาน<br />
การอนุญาตให้การเข้าใช้งานในแต่ละส่วนประกอบของแอพพลิเคชัน (Activating Component) หรือ<br />
Intent คือ วิธีที่อธิบาย Action ต่างๆ เช่น การเลือกรูปภาพ การเปิดโปรแกรมฟังเพลง โดยทั่วไปแล้ว<br />
Intent จะถูกใช้สำหรับการสร้างแอพพลิเคชันใหม่จากแอพพลิเคชันเดิม โดยที่นักพัฒนาไม่จ ำเป็นต้องสร้าง<br />
ใหม่ทั้งหมด (Mobile Mashup) ซึ่ง Intent อนุญาตให้นักพัฒนาสามารถติดต่อระหว่างแอพพลิเคชันและ<br />
บริการที่แตกต่างกันได้<br />
โดยปกติแล้วในแต่ละแอพพลิเคชันจะทำงานแยกกันในแต่ละโพรเซส (Process) ซึ่งมีการทำงานที่<br />
แยกจากกันโดยชัดเจน ในกรณีที่นักพัฒนาต้องการเข้าถึงการทำงานหรือการขอสิทธิ์เข้าใช้นั้น นักพัฒนา<br />
จะต้องกำหนดการขอเข้าใช้ที่ไฟล์ <strong>Android</strong>Manifest.xml เช่น<br />
• INTERNET เป็นการอนุญาตให้เข้าใช้อินเทอร์เน็ต<br />
• READ_CONTACTS เป็นการอนุญาตให้อ่านข้อมูลผู้ใช้<br />
• WRITE_CONTACTS เป็นการอนุญาตให้เขียนข้อมูลผู้ใช้<br />
• RECEIVE_SMS เป็นการอนุญาตให้ตรวจสอบการรับ SMS (Short Message Service)<br />
• ACCESS_COARSE_LOCATION เป็นการอนุญาตให้ใช้การอ้างอิงต ำแหน่งแบบคร่าวๆ (Coarse)<br />
• ACCESS_FINE_LOCATION เป็นการอนุญาตให้ใช้การอ้างอิงต ำแหน่งที่มีความถูกต้องสูง (Fine)<br />
เช่น GPS<br />
วงรอบชีวิตของแอพพลิเคชัน (<strong>App</strong>lication Life<br />
Cycle)<br />
โดยปกติแล้วแอพพลิเคชันจะทำงานแยกกันในแต่ละโพรเซส และในแต่ละโพรเซสอาจจะมี Activity/<br />
Service ที่ทำงานอยู่มากกว่า 1 Activity/Service ดังนั้น ในแต่ละแอพพลิเคชันอาจจะมีมากกว่า 1 Activity ซึ่ง<br />
ในการเริ่มทำงานของ Activity จะเริ่มด้วย startActivity() สำหรับแบบซิงโครนัส (Synchronous) และจะเริ่ม<br />
ด้วย startSubActivity() สำหรับแบบอะซิงโครนัส (Asynchronous) โดยในแต่ละ Activity จะมีวงรอบชีวิต (Life<br />
Cycle) ที่แยกจากกันโดยชัดเจน ซึ่งมีสถานะการทำงานหลักดังนี้<br />
10<br />
<strong>Android</strong> <strong>App</strong> <strong>Development</strong> <strong>ฉบับสมบูรณ์</strong>