Դաս 12.1 – Android Development։ Intent-ներ և Filter-ներ

0

Android Intent-ը գործողության կատարման վերացական նկարագրություն է: Այն կարող է օգտագործվել startActivity-ի հետ, մեկնարկելու Activity, broadcastIntent ուղարկելու ցանկացած հետաքրքրված BroadcastReceiver բաղադրիչների, և startService(Intent) կամ bindService(Intent, ServiceConnection, int) հաղորդակցվելու նախադրյալ Service-ի հետ:

Ինտենտը, ինտենտ օնյեկտը պասիվ տվյալների կառուցվածք է, որն  պահում է գործողության կատարման վերացական նկարագրությունը:

Օրինակ, եկեք ենթադրենքմ որ ունեք Activity, որը պետք է էլեկտրոնային նամակ ուղարկի, օգտագործելով Android սարք: Այս նպատակով ձեր Activity-ին կուղարկի  ACTION_SEND համապատասխան  chooser-ով: Նշված chooser-ը տալիս է պատշաճ ինտերֆեյս, որպեսզի օգտատերը իմանա ինչպես էլեկտրոնային տվյալներ ուղարկել:

Intent email = new Intent(Intent.ACTION_SEND, Uri.parse("mailto:"));
email.putExtra(Intent.EXTRA_EMAIL, recipients);
email.putExtra(Intent.EXTRA_SUBJECT, subject.getText().toString());
email.putExtra(Intent.EXTRA_TEXT, body.getText().toString());
startActivity(Intent.createChooser(email, "Choose an email client from..."));

Վերևի շարահյուսությունը startActivity մեթոդն է մեկնարկում, սկսելու էլէկտրոնային նամակի գործունեությու, և արդյունքը պետք է լինի ինչպես ցուցադրված է

send_email

Օրինակ, եկեք ենթադրենք, որ ունեք Activity, որը պետք է URL բացի վեբ բրաուզերում, ձեր Android սարքի վրա: Այս պատճառով, ձեր this purpose, Activity կուղարկի ACTION_WEB_SEARCH Ինտենտ դեպի Android Intent Resolver, բացելու տրված URL-ը վեբ բրաուզերում: Intent Resolver վերլուծում է Activity-ների մի ցուցակ և ընտրում է լավագույն, որն կհամապատասխանի ձեր Intent-ին, այս դեպքում Վեբ Բրաուզերի Activity-ին: Intent Resolver-ը ապա վերլուծում է ձեր վեբ էջը և սկսում է  Վեբ Բրաուզերի Activity-ին:

String q = "tutorialspoint";
Intent intent = new Intent(Intent.ACTION_WEB_SEARCH );
intent.putExtra(SearchManager.QUERY, q);
startActivity(intent);

Վերևի օրիանկը կփնտրի tutorialspoint android search engine-ում և այն տալիս է tutorialspoint արդյունքը ձեր գործունեությունում:

Կան առանձին մեխանիզմներ ինտենտներ առաքելու յուրաքանչյուր բաղադրիչի տեսակին – գործունեություններ, ծառայություններ և հեռարձակման ընդունիչներ:

Sr.No Մեթոդներ և Նկարագրություն
1 Context.startActivity()

Intent օբյեկտը  անցել է այս մեթոդով մեկնարկելու նոր գործունեություն կամ ստանալու արդեն իսկ գոյություն ունեցող գործունեություն, նոր բան անելու համար:

2 Context.startService()

Intent օբյեկտը անցել է այս մեթոդով սկսելու ծառայություն կամ նոր հրահանգներ առաքելու ընթացիկ ծառայությունում:

3 Context.sendBroadcast()

Intent օբյեկտը անցել է այս մեթոդով  առաքելու հաղորդագրությունը  բոլոր հետաքրքրված հեռարձակման ընդունիչներին:

Ինտենտ Օբյեկտներ Objects

Intent օբյկետը ինֆորմացիայի կծիկ է, որն օգտագործվում է բաղադրիչի կողմից, որն ստանում է ինտենտ, ինչպես ինֆորմացիան, որն օգտագործվում է Android համակարգով:

Intent օբյկետը կարող է ներառելով հետևյալ բաղադրիչները:

Գործողություն

Սա պարտադիր մասն է Intent օբյեկտի և  լար է, որն անվանում է կատարվող գործողությունը, կամ հեռարձարկման ինտնենտների դեպքում, գործողությունը, որն իրականացել է՝ զեկուցվում է: Գործողությունը որոշում է, ինչպես է ինտնետի օբյեկտը կառուղցված: Intent դասը բացատրում , մի շարք գործողության բաղադրիչներ, որոնք համապատասխան են տարբեր ինտնետների: Ահա մի շարք Ինտենտ Ստանդարտ Գործողություններ ցուցակ:

Գործողությունը Intent օբյեկտեւմ կարող է սահմանվել ըստ setAction() մեթոդի և ընթերցվել getAction()-ով:

Տվյալներ

Տվյալներ է ավելացնում ինտենտ ֆիլտերին: Դասակարգումը կարող է պարզապես լինել տվյալների տեսակ, պարզապես URI, կամ և տվյալների տեսակ և URI: URI-ը հատկորոշված տարբեր ատրիբուտներով իր յուրաքանչյուր մասի համար−

Այս ատրիբուտները որոնք հատկորոշում են URL ֆորմատը ընտրովի ե, բայց նաև փոխադարձաբար կախմանմ եջ:

  • Եթե սխեման հատկորոշված չէ ինտենտ ֆիլտերի համար, բոլոր URI ատրիբուտները անտեսված են:
  • Եթե host-ը հատկորոշված չէ ֆիլտերի համար, port ատրիբուտը և բոլոր ատրիբուտները անտեսված են:

setData() մեթոդը հատկորոշում է տվյալները որխես URI, setType() հատկորոշում է այն որպես MIME տեսակ, և setDataAndType() հատկորոշում է այն, որպես և URI և  MIME տեսակ: URI ընթերցվում է getData()-ի կողմից և տեսակը getType():

Որոշ գործողության/տվյալների օրինակներ-

Sr.No. Գործողություն/Տվյալներ Նկարագրություն
1 ACTION_VIEW content://contacts/people/1

Ցուցադրեք ինֆորմացիա այն մարդու մասին, ում  նույնացուցիչը “1” է:

2 ACTION_DIAL content://contacts/people/1

Ցուցադրեք համարհավաքիչը կոնտակտ անձի տվյալներով:

3 ACTION_VIEW tel:123

Ցուցադրեք համարհավաքիչը տրված հեռախոսահամարով:

4 ACTION_DIAL tel:123

Ցուցադրեք համարհավաքիչը տրված հեռախոսահամարով:

5 ACTION_EDIT content://contacts/people/1

Խմբագրեք ինֆորմացիա այն մարդու մասին, ում  նույնացուցիչը “1” է:

6 ACTION_VIEW content://contacts/people/

Ցուցադրեք  մարդկանց ցուցակը, որով օգտատերը կարող է փնտրել:

7 ACTION_SET_WALLPAPER

Ցուցադրեք կարգավորիչները wallpaper ընտրելու համար:

8 ACTION_SYNC

Այն սկսելու է տվյալները միաժամանակ անել,Constant Value-ն  android.intent.action.SYNC

9 ACTION_SYSTEM_TUTORIAL

Այն կսկսի  պլատֆորմի սահմանված փորձը:

10 ACTION_TIMEZONE_CHANGED

Այն ակնարկում է, երբ ժամանակի զոնան փոխվում է:

11 ACTION_UNINSTALL_PACKAGE

Այն օգտագործվում է միացնելու դեֆոլտ uninstaller

Կատեգորիա

 Կատեգորիան Intent  օբյեկտի ընտրովի հատված է, և ակն լար է, որն ներառում է հավելյալ ինֆորմացիա բաղադրիչի տեսակի մասին, որն պետք է  գործածի ինտնետին: addCategory() մեթոդը տեղադրում է կատեգորիա Intent օբյեկտում, removeCategory()-ին ջնջում է նախորդ ավելացված կատեգորիան և getCategories()-ը ստանում է բոլոր կատեգորիաները, որոնք ներկայում օբյեկտում են: Ահա Android Ինտենտ Ստանդարտ Կատեգորիաներ ցուցակը:

Կարող եք մանրամասն իմանալ Intent Ֆիլտերների մասին ներքևի բաժնում, հասկանալու ինչպես ենք օգտագործում կատգորիանները ընտրելու համապատասխան գործունեություն Ինտենտին համապատասխան:

Էքստրաներ

Էքստրաները կարող են ընթերցվել օգտագործելով putExtras() և getExtras() մեթոդները: Ահա Ինտենտ Ստանդարտ Էքստրա Տվյալների ցուցակը:

Դրոշներ

Այս դրոշները ընտրովի մասն են Intent օբյեկտի և հրահանգում են  Android համակարգին ինչպես մեկնարկել գործունեություն, և ինչպես վարվել նրա հետ և մեկնարկվում է:

Sr.No Դրոշներ և Նկարագրություն
1 FLAG_ACTIVITY_CLEAR_TASK

Եթե տեղադրված  է Intent Context.startActivity()-ում, այս դրոշը պատճառ կհանդիսանա որպեսզի ցանկացած առկա հանձնարարություն գործունեության հետ, մաքրվի մինչև գործունեության սկսելը: Գործունեությունը դառնում է նոր դատարկ հանձնարարության նոր արմատ, և ցանկացած հին գործունեություն ավարտվում է: Սա կարող է միայն օօգտագործվել FLAG_ACTIVITY_NEW_TASK-ի հետ համատեղ:

2 FLAG_ACTIVITY_CLEAR_TOP

Եթե տեղադրված, սկսված գործունեությունը օգտագործվում է ներկա պնդման մեջ, և վերևի բոլոր գործունեությունները կավարտվեն:

3

FLAG_ACTIVITY_NEW_TASK

Այս դրոշը օգտագործվում է գործունեություններով, որոնք ցանկանում են ներկայացնել  “launcher” ոճի վերաբերմունք: behavior:

Հարգելի ընթերցող, խնդրում ենք չմոռանալ like տալ մեր ֆեյսբուքյան էջին, քանի որ նորությունների մեծ մասը առաջինը տեղադրվում է հենց այնտեղ։ Ինչպես նաև հետևեք մեզ այլ սոցիալական ցանցերում և, իհարկե, գրանցվեք մեր բլոգում։

Share.