Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 39 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
39
Dung lượng
896,28 KB
Nội dung
Ch ng 11 Intent - Broadcast Receiver & Adapter - Service & Internet - Sensor Lê V n H nh levanhanhvn@gmail.com N I DUNG 1.Intent 2.Broadcast Receiver & Adapter 3.Service & Internet 4.Sensor INTENT • Intent đ c s d ng nh m t b máy truy n thông p gi a thành ph n ng d ng, ho c gi a ng d ng v i • o o o c s d ng cho m c đích chính: Truy n thơng p đ n Activity hay Service đ th c hi n vi c x lý d li u riêng bi t Truy n gói x lý đ n thành ph n ng d ng Kích ho t m t Activity hay ServiceINTENT • ng ký Intent • S d ng IntentINTENTIntent đ • o c chia làm lo i: Implicitly Intent: Intent không ch rõ component x lý, thay vào b sung thơng tin thu c tính VD: ACTION_DIAL tel:123 thơng th ng s đ c h th ng giao cho activity Phone Dialer m c đ nh c a Android x lý o Explicitly Intent: intent đ c xác đ nh thu c tính component, ngh a ch rõ thành ph n s nh n x lý intentINTENT • Các thu c tính c a Intent: o o action: hành đ ng đ c th c hi n VD: ACTION_VIEW, ACTION_MAIN data: d li u s đ c x lý action, th ng đ c di n t m t URI (Uniform Resource Identifier) VD: Hi n th thông tin v ng i v i mã danh ACTION_VIEW content://contacts/people/1 Hi n th hình g i đ n ng i v i mã danh ACTION_DIAL content://contacts/people/1 Hi n th hình g i v i s g i 123 ACTION_DIAL tel:123 INTENT • M t s thu c tính có th b sung vào Intent: o category: b Intent sung thêm thông tin cho action c a VD: thông báo s thêm vào Launcher nh m t ng d ng top-level CATEGORY_LAUNCHER o o o type: ch rõ ki u c a data component: ch rõ thành ph n s nh n x lý intent Khi thu c tính đ c xác đ nh thu c tính khác s tr thành thu c tính ph extras: mang theo đ i t ng Bundle ch a giá tr b sung INTENT • M t s action th o o o o o o o o o ng s d ng Intent: - m Activity đ x lý cu c g i t i, th ng Phone Dialer c a Android ACTION_CALL - m Phone Dialer (m c đ nh PD c a Android) l p t c th c hi n cu c g i d a vào thông tin data URI ACTION_DELETE - m Activity cho phép xóa d li u mà đ a ch c a ch a data URI ACTION_DIAL - m Phone Dialer (m c đ nh PD c a Android) n thông tin l y t đ a ch ch a data URI ACTION_EDIT - m Activity cho phép ch nh s a d li u mà đ a ch l y t data URI ACTION_SEND - m Activity cho phép g i d li u l y t data URI, ki u c a d li u xác đ nh thu c tính type ACTION_SENDTO - m Activity cho phép g i thông p t i đ a ch l y t data URI ACTION_VIEW - action thông d ng nh t, kh i ch y activity thích h p đ hi n th d li u data URI ACTION_MAIN - s d ng đ kh i ch y Activity ACTION_ANSWER INTENT • B sung thêm d li u cho Intent b ng thu c tính extras thơng qua ph ng th c: o putExtra() Intentintent = new Intent(NEW_ E ARTHQUAKE _ FOUND); intent.putExtra("date", quake.getDate().getTime()); intent.putExtra("details", quake.getDetails()); intent.putExtra("longitude", quake.getLocation().getLongitude()); intent.putExtra("latitude", quake.getLocation().getLatitude()); intent.putExtra("magnitude", quake.getMagnitude()); o getExtra(): l y d li u IntentINTENT • S d ng ph ng th c startActivityForResult() thay cho startActivity() đ nh n k t qu tr v private static final int SHOW_SUBACTIVITY = 1; private void startSubActivity() { Intentintent = new Intent(this, MyOtherActivity.class); startActivityForResult (intent, SHOW_SUBACTIVITY); } L u ý: c n th c hi n setResult Activity đ đ m b o k t qu tr v cg iđ C M BI N (SENSOR) 5.1 Gi i thi u s l c v C m Bi n Ví d l y thơng tin c m bi n thi t b thông qua SensorManager o K t qu ch ng trình th c hi n: C M BI N (SENSOR) 5.2 L y thơng tin C m bi n • C n đ ng ký m t b l ng nghe (Listener) s thay đ i c a c m bi n đ th c hi n l y thông tin Ví d : t o l p th c thi giao di n SensorEventListioner C M BI N (SENSOR) 5.2 L y thơng tin C m bi n • Override onResume onPause đ th c hi n thi t l p c m bi n Ví d : đ ng ký h y đ ng ký b l ng nghe • Thi t l p thông s ph ng th c registerListener() đ n m b t giá tr thay đ i c a c m bi n o o o o SENSOR_DELAY_NORMAL SENSOR_DELAY_UI SENSOR_DELAY_GAME SENSOR_DELAY_FASTEST C M BI N (SENSOR) 5.2 L y thơng tin C m bi n • Theo dõi ho t đ ng c a c m bi n Ví d : th c hi n callback ph ng th c onAccuracyChanged() onSensorChanged() C M BI N (SENSOR) 5.2 L y thông tin C m bi n • M t s v n đ phát sinh s d ng c m bi n o o o o Ph ng th c onAccuracyChanged() s đ c g i l i m i m t lo i c m bi n đ c s d ng đ c thi t l p thơng s cao nh t Khó truy c p tr c ti p đ n giá tr c a c a c m bi n theo th i gian cho tr c tr th c hi n hàm API c a driver c m bi n thi t l p l i giao di n (Interface) đ s d ng T c đ truy xu t d li u c a c m bi n không đ nhanh đ đáp ng m t s tác v Có th tùy ch nh hàm có s n c a th vi n Android 2.1 khơng h tr trì c m bi n hình hi n th t t C M BI N (SENSOR) 5.3 X lý thông tin m t s C m bi n 5.3.1 Accelerometer • C m bi n gia t c đ c s d ng đ thu nh n thay đ i h ng v t lý c a thi t b khơng gian có m i t ng quan v i tr ng l c l c tác d ng lên thi t b • n v tính: m/s2 C M BI N (SENSOR) 5.3 X lý thông tin m t s C m bi n 5.3.1 Accelerometer • Minh h a thơng s tr c x,y,z s đ c t ng h p tr v nh t m t giá tr Rotation thi t b thay đ i tr ng thái v ph ng h ng C M BI N (SENSOR) 5.3 X lý thông tin m t s C m bi n 5.3.1 Accelerometer • Ví d s d ng c m bi n gia t c C M BI N (SENSOR) 5.3 X lý thông tin m t s C m bi n 5.3.2 Near Field Communacation Sensor • NFC (Near Field Communacation) m t chu n giao ti p gi a thi t b di đ ng v i th thông tin đ c g i NFC Tags ho c v i thi t b khác • Có ki u ti p nh n d li u b ng NFC: o T ng tác v i th tag cho vi c nh n ghi thông tin thi t b di đ ng o Thi t b di đ ng đ c xem nh n i đ thi t b khác truy xu t thông tin o Hai thi t b trao đ i ti p nh n thông tin c a C M BI N (SENSOR) 5.3 X lý thông tin m t s C m bi n 5.3.2 Near Field Communacation Sensor • NFC c b n làm vi c d li u d ng NDEF (NFC Data Exchange Format) s d ng h th ng Tag Dispatch đ phân bi t t ng lo i d li u kh i đ ng ng d ng t ng ng • H th ng Tag Dispatch th c hi n theo c ch : o Phân tích d li u NDEF chuy n d li u sang ki u MIME ho c URI o óng gói d li u MIME URI vào Intent o Kh i đ ng ng d ng t ng ng v i gói Intent C M BI N (SENSOR) 5.3 X lý thông tin m t s C m bi n 5.3.2 Near Field Communacation Sensor • D li u NDEF đ c gói NdefMessage ch a d ng NdefRecord v i tr ng d li u sau: o 3-bit TNF (Type Name Format): tr ng ch đ nh đ nh d ng d li u o Variable Length Type: ki u đ dài d li u o Variable Length ID: Id ch đ nh record o Variable Length Playload: d li u c a record C M BI N (SENSOR) 5.3 X lý thông tin m t s C m bi n 5.3.2 Near Field Communacation Sensor • C m bi n NFC đ c u n b i NFCAdapter đ nh n gói Intent • C n th c hi n hàm isEnable() đ ki m tra tr ng thái c a c m bi n NFC • Khơng có ph ng th c cho phép t t m NFC C M BI N (SENSOR) 5.3 X lý thông tin m t s C m bi n 5.3.2 Near Field Communacation Sensor • Th t b: o o o u tiên x lý gói Intent đ c g i t i thi t intent đ c s d ng đ kh i ch y m t Activity ng d ng có đ ng ký x lý gói intent ACTION_TECH_DISCOVERED: n u khơng có Activity đ ng ký vi c x lý gói intent đ n, h th ng s kh i đ ng ng d ng thích h p ACTION_TAG_DISCOVERED: h th ng chuy n sang x lý ki u d li u Tag thông th ng ACTION_NDEF_DISCOVERED: C M BI N (SENSOR) 5.3 X lý thông tin m t s C m bi n 5.3.2 Near Field Communacation Sensor C M BI N (SENSOR) 5.3 X lý thông tin m t s C m bi n 5.3.2 Near Field Communacation Sensor • C n đ ng kí AndroidManifest đ s d ng NFC • L u ý phiên b n c a ng d ng • Cho phép ng d ng ch cài đ t thi t b có h tr NFC