- Серія контенту:
- Цей контент є частиною серії: Програмування для мобільних пристроїв - в маси
- Вступ
- Життєвий цикл класу Activity
- Малюнок 1. Життєвий цикл класу Activity Android
- Запуск в життєвому циклі Activity
- Малюнок 2. Перевизначення методів зворотного виклику життєвого циклу Activity
- Малюнок 3. Вибір методу зворотного виклику
- Лістинг 1. Реалізація зворотних викликів Android Activity
- Малюнок 4. Налагодження оператори LogCat
- Призупинення та відновлення життєвого циклу Activity
- Лістинг 2. Знищення примірника Activity
- Навігація за допомогою меню і дій
- Малюнок 5. Нереалізований елемент меню
- Малюнок 6. Панель дій нових Android-пристроїв
- створення меню
- Я виходжу!
- Значки в дизайні для користувача інтерфейсу мобільних пристроїв
- Який значок вибрати?
- Малюнок 7. Додавання значка в каталог drawable
- Малюнок 8. Гарний значок! (Спасибі Glyphish)
- Лістинг 3. Обробка вибору пункту меню
- Панелі дій в Android 3.x
- Малюнок 9. Створення емулятора планшета
- Малюнок 10. Панель дій зі значками
- Не забудьте про перевстановлення
- Додаткові можливості значків
- Малюнок 11. Відмінний новий значок
- Інвестиції в значки
- Малюнок 12. Launcher Icons створює значки потрібного розміру для Android
- Малюнок 13. Тепер у нього є власний значок!
- Ресурси для скачування
Програмування для мобільних пристроїв - в маси
Додавання стильних інструментів навігації в додаток для Android-пристроїв
Серія контенту:
Цей контент є частиною # з серії # статей: Програмування для мобільних пристроїв - в маси
http://www.ibm.com/search/csass/search/?sn=dw&lang=ru&cc=RU&en=utf&hpp=20&dws=rudw&lo=ru&q=%D0%9F%D1%80%D0%BE%D0%B3% D1% 80% D0% B0% D0% BC% D0% BC% D0% B8% D1% 80% D0% BE% D0% B2% D0% B0% D0% BD% D0% B8% D0% B5 +% D0% B4% D0% BB% D1% 8F +% D0% BC% D0% BE% D0% B1% D0% B8% D0% BB% D1% 8C% D0% BD% D1% 8B% D1% 85 +% D1% 83 % D1% 81% D1% 82% D1% 80% D0% BE% D0% B9% D1% 81% D1% 82% D0% B2 +% E2% 80% 95 +% D0% B2 +% D0% BC% D0% B0% D1% 81% D1% 81% D1% 8B & Search =% D0% 9F% D0% BE% D0% B8% D1% 81% D0% BA
Слідкуйте за виходом нових статей цієї серії.
Цей контент є частиною серії: Програмування для мобільних пристроїв - в маси
Слідкуйте за виходом нових статей цієї серії.
Вступ
Про це циклі статей
Мобільні додатки ростуть як гриби після дощу, і фахівцям з розробки є де застосувати свої знання. Пропонований цикл статей developerWorks знайомить з мобільними технологіями тих програмістів, які тільки починають освоювати цю сферу.
Можна почати з написання "рідних" додатків на мові Java ™, а потім додавати в свій інструментарій JVM-мови, платформи сценаріїв, інструменти HTML5 / CSS / JavaScript і багато іншого. Так, крок за кроком, ви оволодієте навичками, необхідними для виконання практично будь-якого сценарію розробки мобільних додатків.
Сучасні мобільні пристрої - неймовірно потужний інструмент, набагато більш потужний, ніж ті настільні комп'ютери, на яких багато розробників створювали свої перші програми. Так що дуже легко забути, що мобільний пристрій - це все ж середовище з обмеженими ресурсами. При розробці мобільного додатку ніколи не слід забувати про обмеження середовища, в якій воно працює. Це особливо вірно, якщо врахувати, що ваш додаток буде конкурувати за системні ресурси з іншими додатками - деякі з яких важливіше для повсякденної діяльності користувача.
Один із способів гарантувати, що ваш додаток отримає широке поширення - забезпечити економію ресурсів системи. В Android механізмом як використання, так і збереження системних ресурсів є клас Activity. Чим краще програміст розуміє життєвий цикл цієї примхливої робочої конячки (яка дуже схожа на клас Servlet Java), тим швидше він зможе оптимізувати використання ресурсів і продуктивність свого Android-додатки.
Почнемо з короткого огляду життєвого циклу класу Activity. Граючи демонстраційним додатком, читач дізнається про методи, які працюють на кожному етапі життєвого циклу Android-додатки. Зрозумівши, як ці методи працюють разом, він зможе розумно використовувати ресурси системи. Потім він модернізує систему навігації свого демопріложенія, замінивши кнопки меню на значки дій для взаємодії з користувачем. Значки - стандартний елемент призначеного для користувача інтерфейсу мобільних додатків, і нові Android-пристрої (версія 4.2.2 і вище) віддають перевагу панелі дій замість застарілих меню. Знання того, як інтегрувати ці функції в власне Android-додаток, послужить вам добру службу!
Життєвий цикл класу Activity
Життєвий цикл класу Activity безпосередньо відображає життєвий цикл Android-додатки. Коли користувач взаємодіє з додатком або пристроєм, на якій вона розміщена, платформа Android виконує зворотні виклики примірника Activity. Коли користувач запускає додаток, початковий екземпляр Activity проходить певний життєвий цикл; одні стадії життєвого циклу відповідають роботі програми у фоновому режимі, а інші - його виключеному станом. Малюнок 1 ілюструє життєвий цикл класу Activity Android-додатки на кожному етапі взаємодії.
Малюнок 1. Життєвий цикл класу Activity Android
Життєвий цикл мобільних Android-додатків складається з чотирьох етапів:
- запуск,
- Призупинення та відновлення,
- зупинка і перезапуск,
- знищення.
У наступних розділах описані всі етапи і методи зворотного виклику для кожного з цих етапів (які можна реалізувати всередині примірника Activity).
Запуск в життєвому циклі Activity
демонстраційне додаток
Ті, хто стежив за цією серією статей, вже створили свій власний демонстраційний додаток при читанні першій і другий частин. Іншим я рекомендую створити його, перш ніж йти далі. Інакше, можна клонувати Git-репозиторій з моїм демопріложеніем Overheard Word (див. Розділ ресурси ).
В попередніх статтях ми використовували метод зворотного виклику, який відповідає запуску Activity, а саме, onCreate. Можливо, читач знаком також з двома додатковими методами onStart і onResume, які викликаються при запуску. Тепер розглянемо ці методи в контексті життєвого циклу класу Activity.
У середовищі розробки Eclipse Android легко перевизначити методи, вибравши пункт Override / Implement Methods ..., як ілюструє малюнок 2 .
Малюнок 2. Перевизначення методів зворотного виклику життєвого циклу Activity
Далі, вибираємо методи onStart і onResume (рисунок 3).
Малюнок 3. Вибір методу зворотного виклику
Тепер використовуємо клас Android Log, щоб ввести деякі оператори трасування ( лістинг 1 ).
Лістинг 1. Реалізація зворотних викликів Android Activity
@Override protected void onResume () {super.onResume (); Log.d ( "overheardword", "onResume Invoked"); } @Override protected void onStart () {super.onStart (); Log.d ( "overheardword", "onStart Invoked"); }
Щоб перевірити результат, можна запустити екземпляр додатку і подивитися журнали в LogCat ( малюнок 4 ).
Малюнок 4. Налагодження оператори LogCat
Протоколювання Android за допомогою LogCat
В Android є своя власна система протоколювання, android.util.Log. Цей зручний клас дозволяє входити на різних рівнях (наприклад, info, warn, debug і т.д.) і переглядати журнали за допомогою інструменту logcat, який входить до складу SDK Android. В Eclipse LogCat відображається як вкладка, яку можна використовувати для фільтрації тегів і навіть примірників додатків. LogCat також дозволяє звертатися до журналів реєстрації подій пристрою, просто підключивши його до порту USB ПК або ноутбука.
Метод onCreate викликається при першому завантаженні програми, в той час як методи onStart і onResume зручні в контексті інших етапів, наприклад, коли додаток працює у фоновому режимі і перезапускається.
Призупинення та відновлення життєвого циклу Activity
Оскільки в мобільних пристроях зазвичай розміщується багато додатків, які різними способами конкурують за увагу користувача, важливо, щоб додаток "знало", коли можна дозволити іншому додатку зайняти екран пристрою і споживати більше його ресурсів. Іноді користувачеві необхідно прийняти вхідний дзвінок під час роботи з додатком, або додаток може видати спливаюче вікно, наприклад, із запитом інформації або повідомленням про помилку. Будь-яка дія частково закриє поточний Activity.
Коли Activity частково закрите, викликається метод onPause. Коли припинене Activity знову виявляється в фокусі, викликається метод onResume. Пауза і відновлення означають, що діяльність була частково закрита, але не повністю прихована.
Коли додаток повністю приховано, наприклад, якщо користувач приймає виклик по телефону, також викликається метод onPause, але в цьому випадку він супроводжується викликом onStop. Коли додаток знову виявляється на передньому плані, викликається onRestart, а потім onStart і onResume.
Давайте подивимося, що відбувається при реалізації методів onPause, onRestart і onStop. Додамо в код Android-додатки, з яким ми вже працювали в статтях цієї серії, оператори реєстрації подій, а потім запустимо його. Натисніть кнопку Home, щоб повністю приховати екземпляр, а потім натисніть на значок, щоб викликати його назад. Ви повинні побачити послідовність планування для. По-перше, ви побачите метод onPause, а за ним - onStop. При натисканні на піктограму для виклику програми ви побачите метод onRestart, а за ним - onStart і onResume.
В процесі нормального запуску програми може відбуватися і знищення примірника Activity. Наприклад, до цього може призвести виклик методу finish цього класу. Ключовим тут є те, що так як Activity закривається, повинні повторюватися ті ж етапи життєвого циклу, що і в разі припинення, але останнім зворотним викликом повинен бути onDestroy.
лістинг 2 демонструє цей процес в моєму власному додатку Overheard Word (див. статтю Програмування для мобільних пристроїв - в маси: Одним махом! або завантажте вихідний код з Github) шляхом виклику методу finish жестом змітання вгору.
Лістинг 2. Знищення примірника Activity
public boolean onFling (MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {try {final SwipeDetector detector = new SwipeDetector (e1, e2, velocityX, velocityY); if (detector.isDownSwipe ()) {return false; } Else if (detector.isUpSwipe ()) {finish (); } Else if (detector.isLeftSwipe ()) {Toast.makeText (getApplicationContext (), "Left Swipe", Toast.LENGTH_SHORT) .show (); } Else if (detector.isRightSwipe ()) {Toast.makeText (getApplicationContext (), "Right Swipe", Toast.LENGTH_SHORT) .show (); }} Catch (Exception e) {// нічого немає} return false; }
Найбільш вживані методи життєвого циклу Activity - це onCreate, onRestart і onDestroy. Наприклад, я використовував метод onRestart для поновлення користувальницького інтерфейсу багатьох додатків, а onDestroy - для з'єднання з базами даних, такими як SQLite, яка локально виконується на Android-пристроях.
Поки це не очевидно, але як тільки ви починаєте працювати з зовнішніми ресурсами - такими як зовнішні Web-сервіси або файлова система / база даних пристрою, - ці етапи життєвого циклу набувають надзвичайно важливого значення.
Тепер давайте подивимося, що станеться, коли для реалізації поведінки меню програми використовуються два методу обробки переривань -onCreateOptionsMenu і onOptionsItemSelected-. Коли ці два методи синхронізовані, їх функціональність прикріплюється до піктограм додаткових функцій для користувача інтерфейсу.
Навігація за допомогою меню і дій
Коли я створював проект Overheard Word в Eclipse, першим методом Activity, який я визначив, був метод заглушки onCreateOptionsMenu. Цей метод створює пункти меню. На старих Android-пристроях меню викликається кнопкою Menu. На нових воно представлено вертикальними точками, які відображаються в самому додатку. Кнопка меню для нових Android-пристроїв не потрібно.
У примірнику емулятора, відповідного старому пристрою, є кнопка з написом Menu. Якщо клацнути на ній, відображається меню програми. У цьому випадку видно елементи навігації. Наприклад, якщо користувач натисне кнопку Home, то побачить щось подібне до того, що показано тут ( малюнок 5 ).
Малюнок 5. Нереалізований елемент меню
На планшеті немає кнопки меню. Замість того, щоб вибирати пункти меню, користувачам пропонується ініціювати різні дії. Це новий тип призначеного для користувача інтерфейсу, званий панеллю дій ( малюнок 6 ).
Малюнок 6. Панель дій нових Android-пристроїв
Кнопки меню і панель дій поводяться аналогічно, але панель дій є тільки у нових пристроїв. Оскільки ми націлені на стару версію Android (нагадаю, що приблизно 50% всіх Android-пристроїв працюють з версією Gingerbread), я буду для демонстраційних цілей використовувати знайому кнопку меню. Пізніше я покажу, як змінити код навігації для реалізації панелі дій на той випадок, якщо ви хочете працювати з більш новими версіями Android і відповідними пристроями.
створення меню
Хорошим першим кроком в напрямку модернізації додатки Overheard Word для більш ефективної взаємодії з користувачем служить реалізація меню, що дозволяє виходити з програми. Вихід з програми - це етап життєвого циклу класу Activity, тому для реалізації цієї функціональності ми будемо використовувати методи Activity.
Нагадаю, що все, що пов'язано з графічним інтерфейсом користувача в Android-додатках, відповідає XML-файлу, так що для визначення макета призначеного для користувача інтерфейсу потрібно редагувати XML-файл. XML-файли Android-додатки знаходяться в певних каталогах в папці res проекту (наприклад, файли макета знаходяться в каталозі layout).
Погляньте на реалізацію за замовчуванням методу onCreateOptionsMenu в головному дії Overheard Word - про що говорить цей код?
public boolean onCreateOptionsMenu (Menu menu) {getMenuInflater (). inflate (R.menu.overheard_word, menu); return true; }
Якщо ви подумали про пошук XML-файла з ім'ям overheard_word.xml в каталозі ресурсів з ім'ям menu, то ви вже майже експерт по Android!
Я виходжу!
Далі, давайте відредагуємо XML-файл ресурсів меню з додаванням пункту quit. Почнемо з пошуку файлу strings.xml в каталозі res / values. Знайшовши його там, створіть новий запис:
<String name = "quit_menu"> Quit </ string>
Ця розмітка визначає слово Quit, на яке можна посилатися через ідентифікатор quit_menu (до речі, це полегшує інтернаціоналізацію додатків). Далі, відкрийте файл overheard_word.xml в каталозі menu. У цьому файлі змініть заголовок на @ string / quit_menu, прив'язавши таким чином слово Quit до пункту меню.
Тепер запустіть емулятор і натисніть на кнопку Menu. У нижній частині екрана ви побачите меню з одного пункту: Quit. Однак вибір його ні до чого не призводить, тому меню ще не реалізовано.
Ми скоро додамо код для реалізації пункту меню Quit. Але спочатку давайте розглянемо ще один важливий елемент будь-якої функціональної частини мобільного додатка, який визначає його зовнішній вигляд. Ви могли помітити, що сьогодні в інтерфейсах користувача багатьох мобільних додатків (і все частіше - Web-додатків) для навігації використовуються значки. Давайте подивимося, що відбувається при заміні кнопки зі звичайним словом на довільний значок.
Значки в дизайні для користувача інтерфейсу мобільних пристроїв
Перш ніж приступити до розробки мобільних додатків, я бавився значками, але рідко використовував їх в своїх корпоративних програмах. Коли Web-додатки почали стає більш інтерактивними, я став частіше вдаватися до піктограм. Однак лише тоді, коли я зайнявся розробкою мобільних додатків, вони дійсно зайняли для мене центральне місце.
Який значок вибрати?
Сьогодні легко знайти значки, вільно доступні для використання в програмах з відкритим вихідним кодом і комерційних додатках. Права на використання інших значків можна придбати за невелику плату. Особисто мені подобається пакет Glyphish (див. Розділ ресурси ), В якому пропонується вибір із сотень значків за вельми розумну ліцензійну плату. Glyphish також пропонує безкоштовну ліцензію за умови посилання на джерело. Думаю, ви швидко знайдете значок, відповідний для демонстрації в цьому розділі.
При використанні значків для користувача інтерфейсу мобільних Android-пристроїв потрібно враховувати оптичне дозвіл пристрою. Екосистема Android-пристроїв так велика, що ваш додаток може працювати на широкому спектрі пристроїв від моделей з найнижчим дозволом на маленькому екрані і до планшетів з високою роздільною здатністю з 7-дюймовим екраном. Значок, який добре виглядає на кишеньковому пристрої, може здаватися зернистим на планшеті.
На щастя, зовнішнім виглядом значків додатки на різних пристроях можна управляти. Загляньте в каталог res свого мобільного Android-додатки. Ви повинні побачити кілька каталогів з іменами drawable-something-pdi (де something - якась послідовність літер). Ці каталоги відповідають різним значенням оптичного дозволу екрану пристроїв. Правильне розміщення значків потрібного розміру і інших графічних файлів в цих каталогах гарантує, що значки будуть коректно відображаються на пристроях різного типу.
Наприклад, значки для пристроїв з надвисоким дозволом Android буде шукати в папці drawable-xxhdpi. Значок запуску в цьому каталозі повинен мати розмір 96 x 96 пікселів і дозвіл принаймні 320 точок на дюйм. Значок запуску в каталозі drawable-ldpi повинен мати розмір 36 x 26 пікселів і дозвіл 120 точок на дюйм. Є також можливість створення каталогу за замовчуванням drawable, який Android буде використовувати, якщо не вдасться знайти відповідний файл для значків заданого дозволу.
Щоб не ускладнювати, я створю для свого застосування Overheard Word каталог drawable. У ньому я розміщу файл значка розміром 26 x 26 (.png), який буде використовуватися для пункту виходу.
Малюнок 7. Додавання значка в каталог drawable
На наступному кроці я дам посилання на цей значок в своєму меню, оновивши елемент menu в файлі overheard_word.xml:
android: icon = "@ drawable / quit_icon"
Тим, хто слідує за мною, потрібно також оновити id того ж елемента. Дайте йому описову строкове значення, наприклад:
android: id = "@ + id / quit_item"
Ясна строкове значення буде корисно на наступному кроці, де ми реалізуємо поведінку виходу всередині методу onOptionsItemSelected. У разі вибору пункту меню ми зможемо послатися на нього через ID quit_item. Поки ж запустіть емулятор і натисніть кнопку Menu. Я думаю, вам сподобається те, що ви у бачите!
Малюнок 8. Гарний значок! (Спасибі Glyphish)
Реалізація поведінки меню
Тепер у мене є відмінний значок для мого пункту меню Quit (і я сподіваюся, що і у вас не гірше), але необхідно ще додати код, який вкаже додатком, що робити при натисканні на цей значок.
Реалізація будь-которого поведінкі в меню почінається з перевізначення методу onOptionsItemSelected. Так що перевизначите цей метод, а потім відредагуйте код, щоб він виглядав наступним чином (тільки не забудьте змінити ідентифікатор елемента меню для свого застосування).
Лістинг 3. Обробка вибору пункту меню
public boolean onOptionsItemSelected (MenuItem item) {switch (item.getItemId ()) {case R.id.quit_item: this.finish (); return true; default: return super.onOptionsItemSelected (item); }}
Зверніть увагу, що це просто оператор switch. У разі вибору idquit_item, то буде викликаний метод finish, який, по суті, закриває додаток.
Спробуйте цей новий код в своєму емуляторі: торкніться кнопки Menu, натисніть на значок виходу (X) і дивіться, що відбувається в LogCat. Ви повинні побачити всі етапи повного життєвого циклу Activity: onPause, потім onStop і, нарешті, onDestroy.
Панелі дій в Android 3.x
Як я згадував раніше, нові версії Android (Honeycomb і більш пізні версії) відмовляються від меню на користь панелі дій. Новим пристроїв взагалі не потрібна кнопка Menu, так що варто розібратися, як здійснити навігацію (або інші функції) свого застосування з використанням панелі дій.
Зробити так, щоб функціональність навігації, закодована для меню, працювала і з панеллю дій, не так вже й складно. Ми вже реалізували всі необхідні методи; залишилося тільки внести деякі зміни в XML-ресурси.
По-перше, необхідно створити екземпляр емулятора, що імітує пристрій, в якому використовується панель дій, а не кнопка меню. Найпростіший спосіб - емулювати планшет. Запустіть з командного рядка додаток Android SDK Manager (це команда android з каталогу tools). Як тільки SDK Manager запрацює, виберіть параметр Manage AVDs ... з меню Tools. Відкриється діалогове вікно, в якому можна визначити новий емулятор або віртуальну Android-пристрій (AVD). Виберіть 7,0 '' WSVGA (Tablet) (1024 x 600: mdpi), потім задайте в якості мети емулятора як мінімум Android 4.2.2. Тепер у вас є емулятор, який не реагує на кнопку меню ( малюнок 9 ).
Малюнок 9. Створення емулятора планшета
Відкрийте програму в цьому екземплярі планшета. Ви повинні побачити вертикальну лінію з трьох точок в правому нижньому кутку екрану. Красиво, чи не так? За замовчуванням Android зберігає поведінку меню, навіть на нових дисплеях. Відредагувавши XML-ресурси програми, можна оновити зовнішній вигляд і поведінку панелі дій, щоб вони були більш природними.
Почнемо з файлу AndroidManifest.xml додатки, де потрібно змінити версію SDK:
<Uses-sdk android: minSdkVersion = "11" android: targetSdkVersion = "17" />
Далі, перейдіть в властивості свого проекту в Eclipse і відредагуйте Project Build Target для будь-якої версії Android вище, ніж Android 4.2.2. Натисніть кнопку OK, і нехай проект відновлюється. Потім знайдіть XML-файл меню в каталозі menu. Відредагуйте його наступним чином, щоб зберегти визначення item для Quit.
android: showAsAction = "always"
Нарешті, якщо у вашому проекті, в каталозі res, ще немає двох підкаталогів з іменами values-v11 і values-v14, створіть їх. Потім додайте в values-v11 наступний XML-файл:
<Resources> <style name = "AppBaseTheme" parent = "android: Theme.Holo.Light"> </ style> </ resources>
В каталог values-v14 додайте наступний файл:
<Resources> <style name = "AppBaseTheme" parent = "android: Theme.Holo.Light.DarkActionBar"> </ style> </ resources>
Перезапустіть емулятор, і в правому верхньому куті ви повинні побачити свій новий значок (див. Малюнок 10).
Малюнок 10. Панель дій зі значками
Тепер повернемося до меню файлів в каталозі menu, де визначено елемент quit, і змінимо showAsAction на never. Перезапустіть свій додаток, і ви повинні побачити ті самі три точки по вертикалі у верхньому правому куті.
Не забудьте про перевстановлення
Якщо ви хочете зберегти свій додаток як Gingerbread, то потрібно перевстановити цільову збірку свого проекту і скасувати зміни в XML, виконані в цьому розділі. Ці зміни не є назад сумісними!
Додаткові можливості значків
Отже, ми додали пункт меню до свого додатком, орієнтованому на Gingerbread, побачили, що він добре виглядає на нових пристроях з панеллю дій і дізналися, як модернізувати цю функціональність внесенням всього декількох змін в XML-файл програми.
Тепер давайте закріпимо те, що дізналися про значки. Ви виконали важку роботу по додаванню значка в меню навігації свого застосування, і тепер вам буде неважко замінити основний значок. Цей значок символізує ваше додаток для користувача, тому важливо знати, як замінити і налаштувати його.
Я зміню цей значок на значок Overheard Word, а ви можете слідувати за мною зі своїм власним додатком. Знову ж, швидкий пошук в Інтернеті виявляє безліч сайтів зі значками. Серед них я знайшов цікавий набір значків і один з них мені особливо сподобався (див. Малюнок 11).
Малюнок 11. Відмінний новий значок
Нагадаю, що на різних пристроях значки відображаються по-різному. Так як я хочу гарантувати, що користувачі отримають хороше перше враження від Overheard Word, має сенс налаштувати правильне вирішення значка для мого діапазону цільових пристроїв. На щастя, я знаю дуже зручний сайт для цього.
Інвестиції в значки
Зрозуміло, що можна використовувати безкоштовні значки для демонстраційних цілей, але, виявляється, можна вкладати кошти в спеціальні значки для професійних додатків. Значок (або набір значків) втілює в собі бренд вашої програми, тому потрібно, щоб він був унікальним. Якщо це загальновідомий значок або значок явно аматорського походження, то що подумають користувачі про таке додатку?
Android Asset Studio (див. Розділ ресурси ) - це проект Google Code, який пропонує багато корисних утиліт для розробників на платформі Android. Одна з них, яку я часто використовую, - це Launcher Icons. Досить натиснути на посилання Launcher Icons і завантажити свій значок. Утиліта згенерує файли значків потрібного розміру для різних профілів пристроїв, які я потім завантажую в вигляді zip-файлу. Цей файл містить чотири каталогу, в кожному з яких знаходиться версія файлу потрібного розміру, який я завантажую (див. Малюнок 12).
Малюнок 12. Launcher Icons створює значки потрібного розміру для Android
Потім я копіюю файл ic_launcher.png з кожного каталогу в точно такій же підкаталог в моїй папці res. Зверніть увагу, що в цьому процесі вихідний файл значка замінюється тим, що згенерував Eclipse.
Нарешті, я перезапускати свій додаток і чекаю, поки воно з'явиться в екземплярі емулятора. Я натискаю кнопку Home і перевіряю результат: франтівською значок програми, який означає (у всякому разі, для мене), що OverHeard Word - це найцікавіше додаток на будь-якому пристрої користувача! (Див. Малюнок 13.)
Малюнок 13. Тепер у нього є власний значок!
Висновок
Читач цієї статті отримав загальне уявлення життєвому циклі Activity і навчився застосовувати його для оптимізації використання ресурсів пристрою додатком. Він також дізнався, як визначити і реалізувати навігаційні конструкції на основі меню і панелі дій і як замінити кнопки з написами значками.
Все це має першорядне значення для створення Android-додатків. Створювати мобільні додатки на платформі Android легко і цікаво, і я сподіваюся, що читач оцінив, наскільки це відрізняється від парадигми Java-розробки. У Google Play та інших магазинах доступні сотні тисяч додатків, і ті додатки, які піднімаються на вершину, зазвичай добре сплановані, ретельно розроблені і вміло запрограмовані. Так що є, чому вчитися!
Ресурси для скачування
Схожі тими
- Оригінал статті: Mobile for the masses: Activities and icons in your Android application lifecycle .
- Попередні матеріали цієї серії: Спрощене введення в Android для розробки мобільних додатків (Ендрю Гловер, developerWorks, березень 2013) і Програмування жестів в Android (Квітень 2013).
- Введення в розробку для платформи Android (Frank Ableson, developerWorks, травень 2009 року): вступна стаття з оглядом архітектури Android-додатків.
- Довідник Android-розробника : Докладніше про життєвому циклі класу Activity .
- Попрощайтеся з кнопкою Menu (Scott Main, блог Android-розробника, січень 2012 року): погляд провідного розробника на рішення про заміну меню панеллю дій в нових Android-пристроях.
- Що люблять і ненавидять розробники в iOS, Android, Windows і HTML5 (MoDevEast, березень 2012 року): Ендрю Гловер веде дискусію з п'ятьма успішними розробниками мобільних додатків.
- Github-репозиторій Overheard Word містить вихідний код, який використовується в статті.
- Читайте також Gesticulate : Просте виявлення жестів в Android-додатках.
- Генератор значків Android Launcher Icons , Який використовується в цій статті.
- Значки для мобільних додатків: ArtDesigner и Glyphish Колекції ліцензованих значків для мобільних пристроїв і Web-додатків, а також тисячі безкоштовних значків, доступних за допомогою Icon Finder .
- Завантажити Android : SDK Android надає бібліотеки API і інструменти розробника, необхідні для побудови, тестування і налагодження програм.
- Інші статті цього автора (Ендрю Гловер, developerWorks, з серпня 2004 року по теперішній час): читайте про Android, хмарі, Twitter, Google, Hadoop, Ajax і інших Java-технологіях.
- Завантажити комплекти інструментів розробника IBM : Модернізуйте свою систему і обзаведіться новітніми інструментами і технологіями.
Підпишіть мене на повідомлення до коментарів
Com/search/csass/search/?Погляньте на реалізацію за замовчуванням методу onCreateOptionsMenu в головному дії Overheard Word - про що говорить цей код?
Який значок вибрати?
Красиво, чи не так?
Якщо це загальновідомий значок або значок явно аматорського походження, то що подумають користувачі про таке додатку?