У цій статті ми розглянемо деякі з найчастіше поставлених питань на співбесідах з Android. Професія розробника додатків під Android дуже популярна. Наступні питання часто зустрічаються на співбесідах на посаду Android-розробників середнього і початкового рівня. Вони прості за своєю суттю, і відмінно підходять для повторення та тренування перед походом на співбесіду з Android.
Питання 2: Що таке ANR-повідомлення в Android?
ANR - це скорочення від
"Додаток не відповідає" (Application Not Responding). Системи, що працюють на операційній системі Android, показують це діалогове вікно, якщо програма виконує надто ресурсомістке завдання в основній нитці (thread), і не відповідає протягом тривалого часу.
Запитання 1: У чому різниця між звичайним png-зображенням та 9-patch?
Це одне з найпопулярніших питань на співбесідах з операційної системи Android. Його задають розробникам із досвідом від 1-2 до 5 років. Відповідь така: це ресурс, що допускає зміну розміру, - точкове зображення, який можна використовувати для фону або інших зображень на пристрої. Клас NinePatch надає можливість відтворення зображення у дев'яти областях. Розширення подібних зображень – .9.png . Їх можна розширювати дев'ятьма способами: 4 кута не масштабуються, 4 грані масштабуються по одній осі та середня область масштабується по обох осях.Питання 3: Коли викликається метод onResume()?
МетодonResume()
- один із методів життєвого циклу активностей. Він викликається, коли активність перетворюється на передній план. Ви можете перевизначити цей метод у своїй активності, щоб виконувати код під час запуску, перезапуску активності або її переходу на передній план. Ось зрозуміла схема, що пояснює послідовність виконання різних методів зворотного виклику в Android, включаючи
onResume()
:
Питання 4: У чому різниця між неявним (implicit) і явним (explicit) наміром?
Під наміром або Intent переважно розуміють повідомлення, які передаються між компонентами (Activities, Services, Broadcast Receivers, Content Providers). Існує два типи намірів: неявні та явні . Давайте розберемося, у чому їх відмінності. 1) Неявне: Про неявні наміри йдеться при виклику системних намірів за замовчуванням, таких як надсилання повідомлення електронної пошти, SMS, набір номера телефону, наприклад:Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, textMessage);
sendIntent.setType("text/plain")
startactivity(sendIntent);
2) Явний: Явний намір використовується для переходу від однієї активності до іншої, наприклад, від активності
first
до активності
second
:
Intent intent = new Intent(first.this, second.class);
startactivity(intent);
Більше дізнатися про явні та неявні наміри можна з книги
Introduction to Android Development By John Sonmez.
Запитання 5: Що таке формат APK?
Файл у форматі APK є стислим файломAndroidManifest.XML
з розширенням
.apk
. Він містить код програми (файли .dex), файли ресурсів та інші файли, стиснуті в єдиний файл.