Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π‘Π±ΠΎΡ€Π½ΠΈΠΊ тСстов: 1500 вопросов ΠΈ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² Π½Π° Π·Π½Π°Π½ΠΈΠ΅ AndroidΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 9

Автор Π’ΠΈΠΌΡƒΡ€ Машнин

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Activity.runOnUiThread (Runnable)

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ View. post (Runnable)

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ View. postDelayed (Runnable, long)

ВсС пСрСчислСнноС


Вопрос 17

Как Binder отличаСтся ΠΎΡ‚ сСриализации

Binder ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ ΠΎΠ±Ρ‰Π΅ΠΉ памяти, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ IPC.

БСриализация ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ ΠΎΠ±Ρ‰Π΅ΠΉ памяти ΠΈ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Ρ‡Π΅ΠΌ Binder IPC.

Ни ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ… Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ ΠΎΠ±Ρ‰Π΅ΠΉ памяти, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ IPC, Π½ΠΎ Binder ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для IPC для Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… устройств

Π₯отя сСриализация быстрСС, Ρ‡Π΅ΠΌ Binder, ΠΎΠ½Π° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Android.


Вопрос 18

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Thread ΠΈ Handler Thread Π² Android?

Thread ΠΈΠΌΠ΅Π΅Ρ‚ Looper ΠΈ Message Queue. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Looper Π±ΡƒΠ΄Π΅Ρ‚ Π³ΠΎΡ‚ΠΎΠ² ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ входящиС сообщСния ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ².

Handler Thread ΠΈΠΌΠ΅Π΅Ρ‚ Looper ΠΈ MessageQueue, ΠΈ Looper Π³ΠΎΡ‚ΠΎΠ² ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ входящиС сообщСния.

Оба ΠΏΠΎΡ…ΠΎΠΆΠΈ. НСт Ρ€Π°Π·Π½ΠΈΡ†Ρ‹, Π½ΠΎ HandlerThread это подкласс класса Thread.

Оба ΠΏΠΎΡ…ΠΎΠΆΠΈ. НСт Ρ€Π°Π·Π½ΠΈΡ†Ρ‹, Π½ΠΎ HandlerThread это супСр класс класса Thread.


Вопрос 19

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ сСрвисом ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ?

БСрвис – это Android ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π±Π΅Π· ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ интСрфСйса. БСрвис Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΡ‚ΠΎΠΊ для Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹. ΠŸΠΎΡ‚ΠΎΠΊ – Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π΅Π½ сСрвису, ΠΎΠ½ Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅.

БСрвис – это Android ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π±Π΅Π· ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ интСрфСйса. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ сСрвис Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅. ΠŸΠΎΡ‚ΠΎΠΊ – это Π½Π΅ Android ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Ρ„ΠΎΠ½ΠΎΠ²ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ. ИспользованиС ΠΏΠΎΡ‚ΠΎΠΊΠ° вмСсто сСрвиса Π½Π΅ рСкомСндуСтся.

БСрвис – это Android ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π±Π΅Π· ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ интСрфСйса. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ сСрвис Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅. ΠŸΠΎΡ‚ΠΎΠΊ – это Π½Π΅ Android ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Ρ„ΠΎΠ½ΠΎΠ²ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ. МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΊ вмСсто сСрвиса.

БСрвис – это Android ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс. БСрвис Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΡ‚ΠΎΠΊ для Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹. ΠŸΠΎΡ‚ΠΎΠΊ – Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π΅Π½ сСрвису, ΠΎΠ½ Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅.


Вопрос 20

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ сСрвис с нСсколькими ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ Π² Π½Π΅ΠΌ?

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ сСрвиса с созданиСм ΠΏΠΎΡ‚ΠΎΠΊΠ° Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ onStartCommand.

ИспользованиС Intent Service.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ сСрвиса с ΠΎΠ΄Π½ΠΈΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ ΠΎnCreate ().

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ сСрвиса с созданиСм ΠΏΠΎΡ‚ΠΎΠΊΠ° Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ onStartCommand ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ AsyncTask Π² сСрвисС.


Вопрос 21

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ startservice ΠΈ bindservice?

startservice – Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, ΠΏΠΎΠΊΠ° ΠΊΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΈΠ»ΠΈ ΠΎΠ½ сам Π½Π΅ остановится. Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для выполнСния Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. bindservice – ΠΆΠΈΠ²Π΅Ρ‚, ΠΏΠΎΠΊΠ° ΠΊΡ‚ΠΎ-Π»ΠΈΠ±ΠΎ связываСтся с Π½ΠΈΠΌ ΠΈ взаимодСйствуСт с Π½ΠΈΠΌ. bindservice ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для Ρ‚ΠΎΠ³ΠΎ, ΠΊΡ‚ΠΎ связан с Π½ΠΈΠΌ.


startservice – Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, ΠΏΠΎΠΊΠ° ΠΊΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΈΠ»ΠΈ ΠΎΠ½ сам Π½Π΅ остановится. startservice ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠΌΡƒ, ΠΊΡ‚ΠΎ Π΅Π³ΠΎ запустил. bindservice – ΠΆΠΈΠ²Π΅Ρ‚, ΠΏΠΎΠΊΠ° ΠΊΡ‚ΠΎ-Π»ΠΈΠ±ΠΎ связываСтся с Π½ΠΈΠΌ ΠΈ взаимодСйствуСт с Π½ΠΈΠΌ, ΠΈ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π°, Ρ‚ΠΎ, ΠΊΡ‚ΠΎ связывался с Π½ΠΈΠΌ, Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡ‚Π²ΡΠ·Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ Π½Π΅Π³ΠΎ.


startservice – Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅. bindservice – ΠΆΠΈΠ²Π΅Ρ‚ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅, ΠΏΠΎΠΊΠ° ΠΊΡ‚ΠΎ-Π»ΠΈΠ±ΠΎ связываСтся с Π½ΠΈΠΌ ΠΈ взаимодСйствуСт с Π½ΠΈΠΌ.


startservice – Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅ ΠΈ ΠΆΠΈΠ²Π΅Ρ‚ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΅Π³ΠΎ запустил Ρ‚Π°ΠΊΠΆΠ΅ ΠΆΠΈΠ². bindservice – ΠΆΠΈΠ²Π΅Ρ‚ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΊ Π½Π΅ΠΌΡƒ, Ρ‚Π°ΠΊΠΆΠ΅ ΠΆΠΈΠ².


Вопрос 22

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Activity ΠΈ Fragment? Когда ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ?

Activity это ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса. Fragment это ΠΌΠ½ΠΎΠ³ΠΎΡ€Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»Π΅Π½ ΠΊ ΠΈ ΠΎΡ‚обраТаСтся Π² Activity.


НСсколько Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ активности. Π’Π°ΠΊ ΠΊΠ°ΠΊ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ это ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, ΠΏΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅, Π·Π°Π΄Π°Ρ‡Π° активности состоит Π² ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ своих ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»Π΅Π½Π½Ρ‹Ρ… Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ², позволяя Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°ΠΌ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π»ΡŒΠ²ΠΈΠ½ΡƒΡŽ долю ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса.


Π’ Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Π±Π΅Π· Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ Π½Π΅ Π²Π΅Ρ€Π½ΠΎ.


ВсС пСрСчислСнноС.


Вопрос 23

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ АдаптСры ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ?

Они ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‚ ListView, GridView, Spinner, ViewPager ΠΈ Π΄Ρ€. AdapterView с Π±Π°Π·ΠΎΠ²Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Они ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ доступ ΠΊ элСмСнтам Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‚ Π·Π° созданиС прСдставлСния для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ….


Π’Ρ‹Π±ΠΎΡ€ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ обрабатываСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ установки AdapterView. OnItemClickListener.


НичСго ΠΈΠ· пСрСчислСнного.


ВсС пСрСчислСнноС.


Вопрос 24

Как ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ использованиС View ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹ΠΌ?

Π§Π΅ΠΌ большС View Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΠ· ΠΌΠ°ΠΊΠ΅Ρ‚Π°, Ρ‚Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ Ρ‡ΡƒΡ‚ΠΊΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

Π˜Π·Π±Π΅Π³Π°Ρ‚ΡŒ использованиС Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… экзСмпляров LinearLayout.

<merge> Ρ‚Π΅Π³ являСтся особСнно ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ с Ρ‚Π΅Π³ΠΎΠΌ <include>.

ВсС пСрСчислСнноС.


Вопрос 25

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ ViewHolder ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ? КакиС Π΄ΠΎΠ²ΠΎΠ΄Ρ‹ Π·Π° ΠΈ ΠΏΡ€ΠΎΡ‚ΠΈΠ² Π΅Π³ΠΎ использования? КакиС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹?

ViewHolder это ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ View. findViewById ().


Π’Ρ‹Π·ΠΎΠ²Ρ‹ View. findViewById () рСсурсоСмкиС, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ части ΠΌΠ°ΠΊΠ΅Ρ‚Π° (иСрархичСской структуры) Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²Ρ‹Π·ΠΎΠ²Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ View Ρ€Π΅Π±Π΅Π½ΠΊΠ° Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ слоТной ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²ΠΊΠΈ.


Π‘ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ компилятора JIT ΠΈ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Ρ… ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠΉ Π² сборщикС мусора послС Android 2.2 (Froyo), ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ Π½Π΅ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ View. findViewById () Ρ€Π΅Π·ΠΊΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΠ»Π°ΡΡŒ.


ИспользованиС ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π° ViewHolder ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ‚Π°ΠΊΠΈΠΌ ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹ΠΌ эффСктам, ΠΊΠ°ΠΊ бСспорядочный ΠΊΠΎΠ΄, Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² Separation of Concerns Principle ΠΈ Single Responsibility Principle.


ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρƒ это Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ View ΠΈ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ View Π² самом Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ View.


ВсС пСрСчислСнноС.


Вопрос 26

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ опция Don’t Keep Activities?

Π­Ρ‚ΠΎ опция прилоТСния Dev Tools App Β«Immediately destroy activitiesΒ» для уничтоТСния активности, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ½Π° ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΠ»Π°ΡΡŒ, для тСстирования onSaveInstanceState (Bundle) / onCreate (android. os. Bundle).


Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠΎΡ‡ΡŒ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ случайный доступ ΠΊ диску ΠΈΠ»ΠΈ сСти Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅.


Для сканирования ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΎΡ‚Ρ‡Π΅Ρ‚Π°, содСрТащСго ошибки ΠΈ прСдупрСТдСния Π² ΠΊΠΎΠ΄Π΅ ΠΈ рСсурсах.


ВсС пСрСчислСнноС.

НичСго ΠΈΠ· пСрСчислСнного.


Вопрос 27

НазовитС ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹ ΠΎΠ±Ρ‰Π΅ΠΉ структуры прилоТСния:

Top Level View (Π½Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ стартовый экран ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ, Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠ΅ΠΉ ΠΈ поиском, ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Action Bar для Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ floating action button для стимуляции дСйствия).

Category View (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ контСкстноС мСню).

Detail/Edit View (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΡŽ ΠΌΠ΅ΠΆΠ΄Ρƒ элСмСнтами Π²Π½ΡƒΡ‚Ρ€ΠΈ прСдставлСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ пСрСлистываниС ΠΌΠ΅ΠΆΠ΄Ρƒ прСдставлСниями).

ВсС пСрСчислСнноС.


Вопрос 28

НазовитС ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ:

Tabs

Fixed tabs

Scrollable tabs

Navigation drawer

Navigation drawer + tabs

Navigation in content

Nested navigation drawer

Nested navigation drawer + tabs

Expanding navigation drawer

Cascading navigation drawer

Spinners

Split Action Bar

Contextual Action Bar

ВсС пСрСчислСнноС


Вопрос 29

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΠ»Π°Ρ‚ΡŒ ΡΠ»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½ΡƒΡŽ ΠΏΠΎΡ‡Ρ‚Ρƒ Π² Android?

Intent email = new Intent (Intent. ACTION_SEND);

email. setType (Β«message/rfc822Β»);

email. putExtra (Intent. EXTRA_EMAIL, new String [] {" [email protected]Β»});

email. putExtra (Intent. EXTRA_SUBJECT, Β«Hi, This is a test mail..Β»);

startActivity (Intent. createChooser (email, Β«Choose an Email ClientΒ»));


Intent email = new Intent (Intent. ACTION_EMAIL);

email. setType (Β«message/rfc822Β»);

email. putExtra (Intent. EMAIL, new String [] {" [email protected]Β»});

email. putExtra (Intent. SUBJECT, Β«Hi, This is a test mail..Β»);

startActivity (Intent. createChooser (email, Β«Choose an Email ClientΒ»));


Intent i = new Intent (Intent. ACTION_SEND);

i. setType (Β«message/rfc822Β»);

i. putExtra (Intent. EXTRA_EMAIL, new String[]{" [email protected]Β»});

i. putExtra (Intent. EXTRA_SUBJECT, Β«test mailΒ»);

i. putExtra (Intent. EXTRA_TEXT, Β«Did you get this mail? if so please reply backΒ»);

startActivity (Intent. createChooser (i, Β«Send mail…"));


НичСго ΠΈΠ· пСрСчислСнного


Вопрос 30

Какая Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρƒ HTTPClient интСрфСйса Π² Android?

connection management

authentication management

cookies management

ВсС пСрСчислСнноС.


Вопрос 31

Π§Ρ‚ΠΎ ΠΈΠ· пСрСчислСнного Π²Π΅Ρ€Π½ΠΎ ΠΎ HTTP запросах Π² Android прилоТСниях?

Для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… с сСрвСра ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ HttpGet запрос.

Для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΏΠΎΡ‡Ρ‚Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ HttpPost запрос.

Для обновлСния Π±Π»ΠΎΠ³Π°, написанного Π½Π° Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ HttpGet запрос.


Вопрос 32

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ HttpClient, ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π² Android прилоТСниях?

android. permission. INTERNET

android. permission. READ_CONTACTS

android. permission. FINE_LOCATION

ВсС пСрСчислСнноС


Вопрос 33

Если Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π΅ принято для использования HTTP-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚?

Π‘ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ IOException

Π‘ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ компиляции, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ IOException

Π‘ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ CLientProtocolException

Код Π½Π΅ компилируСтся


Вопрос 34

Если URL-адрСс Π² HttpGet запросС Π½Π΅ Π²Π΅Ρ€Π½Ρ‹ΠΉ, Ρ‚ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π±Ρ€ΠΎΡˆΠ΅Π½ΠΎ Π² Android ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ?

Π‘ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ IOException

Π‘ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ компиляции, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ IOException

Π‘ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ CLientProtocolException