วันศุกร์ที่ 1 มีนาคม พ.ศ. 2556

พื้นฐาน Android Version 4.1 Up.

สวัสดีชาว Java Thai Talk ทุกท่านนะครับ

ก่อนอื่นต้องขออภัย ที่ไม่ค่อยได้เข้ามา update ข้อมูลใน บล๊อกแต่ก็ต้องตกใจ ฮ้าๆๆ ผมเข้าดูสถิติ ผลคืนมีคนเข้ามาในบล๊อก นี้เยอะขึ้น เลยมีแรงอยากจะกลับมา update ข้อมุลอีกครั้ง แต่ว่า เรื่องที่จะเขียน ในปีนี้น่าจะเป็น เรื่อง การเขียน Application Android เป็นส่วนใหญ่นะครับ






Application Component ใน  Android Application.
    Application Component คือ Component หลักที่ใช้ในการสร้าง Android Application โดย Application Component แบ่งออกเป็น 4 ประเภท ได้แก่ Activity, Service, Content Provider, และ Broadcast Receiver ซึ่งแต่ละประเภทของ Application Component นี้มีเป้าหมายในการใช้งานที่แตกต่างกัน มีรูปแบบการกระตุ้นให้เกิดการทำงานที่แตกต่างกัน (กล่าวคือบาง Application Component ถูกกระตุ้นให้เกิดการทำงานโดย System และบาง Application Component ถูกกระตุ้นให้เกิดการทำงานโดย Application Component อื่น ๆ ) รวมถึงมีวงจรชีวิตที่แตกต่างกันด้วย (กล่าวคือแต่ละ Application Component จะมีรูปแบบที่แตกต่างกันว่า Application Component นั้น ๆ จะถูกสร้าง (Create) เมื่อใด หรือถูกทำลาย (Destroy) เมื่อใด )




Application Component สามารถแบ่งออกได้เป็น 4 ประเภทดังนี้.

1. Activity
         คือ Application Component ที่ใช้ในการควบคุมการสร้าง User Interface เช่น การแสดงผลหน้าจอรายการอีเมล์, การแสดงหน้าจอแบบฟอร์มการส่งอีเมล์ เป็นต้น รวมถึงควบคุมการมีปฏิสัมพันธ์ระหว่างผู้ใช้กับ User Interface ด้วย เช่น เมื่อผู้ใช้เลือกรายการอีเมล์ก็จะทำการตอบสนองผู้ใช้โดยการแสดงข้อมูลรายการ อีเมล์ที่เลือก เป็นต้น สำหรับการสร้าง Activity นั้น ทำได้โดยการสร้าง Class และให้สืบทอดจาก Class Activity หรือสืบทอดจาก Class ใด ๆ ก็ตามที่ได้รับการสืบทอดมาจาก Class Activity โดย Activity หนึ่ง ๆ จะควบคุมการแสดงผล User Interface หนึ่ง ๆ เท่านั้น และนั่นแสดงให้เห็นว่า Application หนึ่ง ๆ จะประกอบด้วย Activity จำนวนมากที่ทำงานร่วมกันอยู่ อย่างไรก็ตามถึงแม้ว่า Activity จะทำงานร่วมกัน แต่ Activity เหล่านั้นยังคงเป็นอิสระจากกัน

2. Service
         คือ Application Component ที่ไม่มี User Interface และจะทำการประมวลผลใน Background กล่าวคือเป็นการประมวลผลที่ดำเนินไปพร้อมกับที่ผู้ใช้สามารถไปใช้งาน Application อื่น ๆ ได้ หรือกล่าวอีกมุมหนึ่ง การประมวลผลใน Background คือการประมวลผลที่สามารถทำงานขนานกันกับการทำงานอื่น ๆ ของผู้ใช้ ทั้งนี้ก็เพื่อทำให้เกิดการทำงานใด ๆ โดยที่ผู้ใช้ไม่จำเป็นต้องอยู่ในหน้าจอนั้น ๆ ได้ ซึ่งอาจเป็นเพราะการทำงานนั้นต้องใช้ระยะเวลานาน เช่น การใช้ Service เปิดเพลง เพื่อให้ผู้ใช้สามารถไปใช้ Application อื่น ๆ ได้ แต่เพลงยังคงเล่นอยู่ หรือ การใช้ Service ดาวน์โหลดข้อมูลใด ๆ ที่มีขนาดใหญ่ เพื่อให้ผู้ใช้สามารถไปใช้ Application อื่น ๆ ได้ แต่การดาวน์โหลดยังคงดำเนินอยู่ เป็นต้น สำหรับการสร้าง Service นั้นทำได้โดยการสร้าง Class และให้สืบทอดจาก Class Service หรือสืบทอดจาก Class ใด ๆ ก็ตามที่ได้รับการสืบทอดมาจาก Class Service

3. Content Provider
         คือ Application Component ที่ทำหน้าที่ในการควบคุมข้อมูลใด ๆ ของ Application ที่ต้องการ Share ให้ Application อื่น ๆ สามารถนำข้อมูลนั้น ๆ ไปใช้งานได้ หรือกล่าวในทางกลับกันก็คือ Application ใด ๆ สามารถนำข้อมูล (รวมถึงแก้ไขข้อมูลได้ ถ้า Content Provider อนุญาติ) ของ Application อื่น ๆ มาใช้งานได้ โดยกระทำผ่าน Content Provider เช่น System ได้จัดเตรียม Content Provider ที่เป็นข้อมูลรายชื่อผู้ติดต่อ (Contact) ไว้ เพื่อให้ Application ที่ต้องการใช้ข้อมูลรายชื่อผู้ติดต่อนี้ สามารถนำข้อมูลไปใช้หรือแก้ไขข้อมูลได้ เป็นต้น สำหรับการสร้าง Content Provider นั้น ทำได้โดยการสร้าง Class และให้สืบทอดจาก Class ContentProvider หรือสืบทอดจาก Class ใด ๆ ก็ตามที่ได้รับการสืบทอดมาจาก Class ContentProvider

4. Broadcast Receiver
         คือ Application Component ที่ไม่มี User Interface โดยจะทำหน้าที่รับรู้สิ่งที่เกิดขึ้นของ System และนำมาบอกให้ผู้ใช้ได้รับรู้ เช่น เมื่อ Battery ต่ำ, เมื่อหน้าจอถูก Capture, เมื่อมีการพักหน้าจอ เป็นต้น ทั้งนี้ Application ใด ๆ สามารถนำ Broadcast Receiver มาใช้ประโยชน์ได้ เช่น เมื่อ Application ได้ Download ข้อมูลเสร็จเรียบร้อย เป็นต้น ซึ่งโดยส่วนมากแล้วการตอบสนองของ Broadcast Receiver จะกระทำผ่าน Notification เพื่อแจ้งสิ่งที่เกิดขึ้นให้ผู้ใช้ได้รับรู้ สำหรับการสร้าง Broadcast Receiver นั้น ทำได้โดยการสร้าง Class และให้สืบทอดจาก Class BroadcastReceiver หรือสืบทอดจาก Class ใด ๆ ก็ตามที่ได้รับการสืบทอดมาจาก Class BroadcastReceiver



Credit : http://www.softmelt.com/article.php?id=106