Створюємо простий launcher на android

Якщо дуже грубо визначити, що таке лаунчер, то це програма, яка може представляти домашній екран пристрою і показувати список працюючих на пристрої додатків. Іншими словами, лаунчер це те, що ви бачите при натисканні кнопки Home на пристрої. Зараз ви швидше за все використовуєте стандартний лаунчер, який був встановлений разом з операційною системою. На Play Market існує безліч таких програм, встановивши які, ви можете видозмінити оформлення свого апарату:

У цьому уроці ми навчимося створювати простий лаунчер з базовим призначеним для користувача інтерфейсом. У нашому додатку буде два екрани:

- домашній екран, що відображає фонові зображення;

- екран, що показує список встановлених додатків і деяку інформацію про них;

Отже, починаємо. Створюємо новий проект, назви традиційно залишаємо за замовчуванням, можете ввести які-небудь свої. Мінімальна версія для запуску програми - Android 2.2, вибираємо Blank Activity.

Відразу йдемо редагувати файл маніфест додатка. Нам потрібно додати тут 2 activity і задати їм деякі настройки. Відкриваємо файл AndroidManifest.xml і додамо туди наступне:

Також потрібно налаштувати режим запуску launchMode на singleTask для того, щоб на даний момент працює тільки одне потрібне Activity. Для відображення користувальницької картинки на заставці, ми використовували настройку теми Theme.Wallpaper.NoTitleBar.FullScreen.

Друге activity, як уже було сказано, буде відображати встановлені на пристрої додатки і трохи інформації про них. Для цієї activity не використовуватиметься ніяких особливих налаштувань, назвемо її AppsListActivity.

Створимо xml файл розмітки для майбутнього класу HomeActivity. В папці res / layout створюємо файл на ім'я activity_home.xml. Він буде містити всього одну кнопку, при натисканні на яку користувач з домашнього екрану буде потрапляти на екран зі списком встановлених додатків:

Далі створюємо файл xml для AppsListActivity в тій же папці, назвемо його activity_apps_list.xml. Він буде містити ListView для відображення списку додатків:

Створюємо ще один xml файл на ім'я list_item.xml. Цей файл буде визначати вид заданого вище ListView. Кожен пункт списку буде представляти одне встановлене на пристрій додаток. Тут буде відображатися іконка, назву і ім'я пакета програми. Відображення ікони буде відбуватися через елемент ImageView. а назва програми і пакета в TextView.

Тепер потрібно створити необхідні java класи. Коли будете створювати класи, переконайтеся, що вони пов'язані з даними в файлі маніфесту, що ми виконували на початку.

Створюємо в додатку файл HomeActivity.java. задаємо йому успадкування від класу Activity і налаштовуємо перехід на інший екран зі списком додатків при натисканні на кнопку, створену нами раніше (детальний урок по створенню переходу):

Створюємо ще одне activity з ім'ям AppsListActivity.java. Налаштуємо цього класу вид інтерфейсу з раніше створеного файлу activity_apps_list.xml.

Вже зараз можна спробувати протестувати додаток на емуляторі / пристрої. Поки, що воно не має бажаним функціоналом, але все ж. Відкрийте програму і натисніть кнопку Home, ви побачите вікно в якому вам буде запропоновано вибрати лаунчер для запуску, стандартний і наш. Запускаємо наш і бачимо приблизно наступне:

Ми бачимо заставку робочого столу і нашу кнопку запуску другого activity.

Помилувалися і вистачить, повертаємося до роботи в Android Studio. Створюємо ще один клас по імені AppDetail. який буде містити більш детальну інформацію про програму, назву пакета, назва програми та іконку. Код цього класу гранично простий і виглядає так:

Тепер потрібно налаштувати відображення списку додатків. У створеному списку apps ми помістили всі необхідні дані про програму, тепер їх треба відобразити в створеному на початку уроку ListView. Для цього ми створюємо ArrayAdapter і описуємо метод getView. а також пов'язуємо ArrayAdapter з ListView.

Коли користувач натискає на пункти списку з додатками, то наш лаунчер повинен запускати відповідну програму. Це буде виконуватися завдяки методу getLaunchIntentForPackage. що створює намір Intent. запускає потрібну програму:

Залишилося зібрати всі описані вище методи в один робочий механізм. У класі AppsListActivity викликаємо методи loadApps. loadListView і addClickListener.

Запускаємо наш додаток. Тепер при натисканні на кнопку виклику другого activity "Show Apps" ми бачимо список з встановлених додатків. При натисканні на обраний елемент списку, ми будемо запускати відповідну програму:

Вітаю! Тепер на додачу до власних калькулятора. браузера. конвертера і багато іншого, ми маємо ще і власний Android Launcher. Сподіваюся урок був вам цікавий і корисний.