20.11.2016 Views

ANDROID APP

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

288 บทที่ 11 เทคนิคขั้นสูงสำาหรับพัฒนาแอพบนแอนดรอยด์<br />

กรรมวิธี: การประกาศและใช้ Permission<br />

สิทธิ์การทำงานนั้นสามารถกำหนดไว้ในแอคทิวิตี้, Broadcast Receiver, Content Provider<br />

และเซอร์วิสได้ ในการกำหนดสิทธิ์การทำงานนั้น เราจะต้องประกาศอีลีเมนต์ permission ใน<br />

AndroidManifest ดังนี้<br />

<br />

จากตัวอย่างข้างต้นจะเป็นการกำหนดสิทธิ์การทำงานเท่าที่ต้องการเท่านั้น แต่ในการเข้าถึง<br />

แอททริบิวต์ protectionLvel จะมีการเข้าถึงอยู่ 4 ระดับ ได้แก่ normal, dangerous, signature<br />

และ signatureOrSystem สำหรับแอทริบิวต์ permissionGroup จะใช้เพื่อแสดงสิทธิ์การทำงานให้<br />

แก่ผู้ใช้งานเท่านั้น ตัวอย่างการกำหนด PermissionGroup มีดังนี้<br />

permission group:android.permission-group.DEVELOPMENT_TOOLS<br />

permission group:android.permission-group.PERSONAL_INFO<br />

permission group:android.permission-group.COST_MONEY<br />

permission group:android.permission-group.LOCATION<br />

permission group:android.permission-group.MESSAGES<br />

permission group:android.permission-group.NETWORK<br />

permission group:android.permission-group.ACCOUNTS<br />

permission group:android.permission-group.STORAGE<br />

permission group:android.permission-group.PHONE_CALLS<br />

permission group:android.permission-group.HARDWARE_CONTROLS<br />

permission group:android.permission-group.SYSTEM_TOOLS<br />

แอททริบิวต์ของลาเบล, คำอธิบาย และชื่อเป็นวิธีที่จะช่วยให้ permission ชัดเจนมากขึ้น<br />

การสื่อสารข้อมูลระหว่างโปรเซสภายนอกของแอนดรอยด์<br />

ถ้าต้องการกำหนดให้แอพ 2 ตัวทำงานโดยใช้รีซอร์สร่วมกัน แต่ไม่สามารถกำหนดสิทธิ์ระหว่าง<br />

กันได้ เราจะใช้คำสั่ง IPC (Inter-Process Communication) มาช่วยในการทำงานนี้ การที่จะใช้งาน<br />

IPC นั้น เราจะต้องสร้างอินเตอร์เฟซระหว่างแอพขึ้นมา ทำได้โดยการใช้ AIDL (Android Interface<br />

Definition Language)<br />

AIDL จะมีลักษณะคล้ายกับจาวาอินเตอร์เฟซ สร้างได้ง่ายๆ ด้วยโปรแกรม Eclipse โดยเลือก<br />

คำสั่งสร้าง Java Interface หลังจากสร้างเสร็จแล้ว ระบบก็จะเปลี่ยนนามสกุลของไฟล์จาก .java<br />

ไปเป็น .aidl<br />

ชนิดของข้อมูลที่รองรับกับการทำงานของ AIDL มีดังนี้<br />

m Java Primitive เช่น int, Boolean, float<br />

m String<br />

m CharSequence

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!