Приховані особливості розробки Android?


121

Я здивований , що немає Android Hidden не дуже пост ще в Hidden Особливості серії , які я відстежувала на деякий час тепер.

Серія «Приховані функції» чудово підходить для людей, які не знайомі з певною мовою. Він показує мотузки та певні цінні трюки, і все це в одному місці. Я думаю, що це геніальна ідея. Навіть експерти іноді знаходять хитрощі, про які вони ніколи не чули.

Я починаю розробку Android, і мені б хотілося почути про його приховані функції, поради, підказки та підводні камені.

Так ось: то , що деякі приховані можливості на Android ?

Відповіді:


105

Сподіваємось, не так багато прихованих, прихованих функцій - але ось деякі менш відомі та неінтуїтивні функції, доступні для Android, які, безумовно, полегшать ваше життя та покращать ваші програми.

  • Весь вихідний код для платформи та всіх власних програм, які не належать Google, ви можете переглядати, завантажувати, позичати або красти в проекті Android Open Source .
  • Використовуючи рамки ресурсів , створювати локалізовані версії програми так само просто, як додавати нову примітку з примітками (наприклад, значень-fr), що містить XML-файл із рядками на іншій мові (наприклад, французькою). Android вибере правильну папку під час виконання для вас.
    • Одно і те ж рамки ресурсів дозволяють використовувати альтернативні макети для різних конфігурацій обладнання, щільності пікселів на екрані та пристроїв введення, просто опустивши їх у названу папку.
  • Оскільки Android 1.6, ваш додаток може створювати результати, які відображатимуться в результатах пошуку на панелі швидкого пошуку на головному екрані. Це відоме як спеціальні пропозиції щодо пошуку .
  • Використовуючи фільтри інтенцій і намірів, ваші програми можуть робити та надавати анонімні запити про завершення дії (напр., Де додаток може запросити бронювання таблиці через додаток Open Table ).
    • Вони можуть просити невідому програму виконати дію, не знаючи, яка програма може виконати цей запит
    • Ваш додаток може виконувати запити від невідомих додатків для завершення дій, не знаючи, які додатки будуть робити запити. Зіграйте це право, і ви можете створити додаток Twitter за замовчуванням або додаток для бронювання тощо.
  • Використовуючи сигнали тривоги, ви можете налаштувати додаток на виконання завдань у визначений час, навіть якщо ваш додаток не працює.
    • Ви можете заощадити багато часу роботи акумулятора, використовуючи метод setInexactRepeating для планування регулярних подій (наприклад, опитування сервера або оновлень). Він синхронізує сигнали тривоги з декількох додатків, які виникають одночасно, а не adhoc.
  • Використовуючи рамки Налаштування, ви можете створити екрани налаштувань для своїх додатків у тому ж стилі, що й системні налаштування. Ви навіть можете включити екрани налаштувань системи (наприклад, безпека та місцезнаходження) у ієрархію налаштувань програми.
  • Використовуючи API AudioTrack та AudioRecord , ви можете передавати аудіодані безпосередньо з аудіо-буферів PCM та до них.

35

В інструменти в каталозі / інструментів з SDK заслуговують згадки:

  • наш дизайнер був особливо вражений, draw9patchщо допомогло спроектувати розтяжні кнопки. Він дав мені активи звідти, і я змінив колір фону на 9-латовий малюнок, і тепер у нас є спеціальна кнопка, закруглені кути тощо, розтягнуті, щоб відповідати тексту.
  • ddms, який також інтегрований у плагін Eclipse. Це надзвичайно потужно, але я використовую його, щоб робити знімки екрана.
  • adb- взаємодіти зі своїм пристроєм або емулятором з командного рядка. Я використовую це для того, щоб слідкувати за журналами з мого пристрою у вікні терміналу на робочому столі, хоча я вважаю його корисним для встановлення та видалення програм, які погано поводяться.
  • sqlite3 - чудово підходить для взаємодії з встановленою базою даних та випробувань запитів.
  • apkbuilder, zipalign, aapt- відмінно підходить для роботи без голови будує
  • monkey для нечіткого тестування вашої програми.

Я б також виділив три проектування для продуктивності , чуйності та безшовності , але я також хотів би додати четверте кодування для (батареї) життя .

Незважаючи на те, що Javadoc часом може бути трохи рідким, це допомагає не мати кінця, щоб джерело було саме там.

Також дуже корисно мати безліч зразків програм, написаних Googlersми, щоб створити, вивчити, а потім подивитися, як вони це зробили.


1
Ви пропустили ще один приємний інструментальний інструмент.
100rabh

Ще один хороший недолік, який я весь час використовую, - це ієрархічний переглядач.
Артем Русаковський

25

Я думаю, я почну тоді.


Приємна прихована функція, на мою думку, - найкращі практики документації на Android. У ньому перераховано безліч чудових порад щодо розробки швидких та швидких додатків.

Розділи кращих практик :

  • Підтримка декількох екранів (декілька розмірів і роздільної здатності)
  • Правила користувальницького інтерфейсу
    • Дизайн іконок
    • Дизайн додатків віджетів
    • Діяльність та проектування завдань
    • Дизайн меню
  • Проектування для продуктивності
  • Проектування для чуйності
  • Проектування для безшовності

Ще одна прихована особливість полягає в тому, що ці документи доступні в автономному режимі як частина SDK. Спочатку я завантажував кілька сторінок щодня для своєї ранкової їзди на поїзді, але мені вже не потрібно було цього робити після того, як я знайшов їх у каталозі SDK.


Якщо ви використовуєте Eclipse, ви помітите, що він не форматує файли XML дуже добре, а коли він це робить, він дуже непослідовний (іноді він розбиває атрибути на нові рядки, іноді - ні). Щоб виправити це, можна натиснути Ctrl-Shift-F (автоматичний формат). Правила, які використовує Ctrl-Shift-F, знаходяться у вікні-> Налаштування-> XML-> XML-файли-> Редакторі.


1
Останній точно буде частиною мого робочого процесу. Це мене дратувало останній тиждень ... Дякую !!
Мікле

14

Android підтримує XML <shape>, які можна використовувати як SVG-подібні малюнки. На жаль, для них немає документації. Це найкраща інформація, яку я міг знайти:

http://escomic.net/217


4
Є також idunnolol.com/android/drawables.html з повною документацією про всі функції xml для форм. Фігури можуть бути дуже важливими, щоб зробити круглі фони курсору, які змінюють колір при натисканні або роблять градієнти, задані xml, а не спеціальні фонові малюнки.
Януш

чи можна додати декілька фігур до одного XML-документа. наприклад пару кіл і прямокутників?
skyfoot

13

Також стосовно кращих практик ви можете перевірити стиль кодування Android:

http://source.android.com/source/code-style.html

а також код затемнення та імпорт форматів (android-formatting.xml, android.importorder), які знаходяться у вихідному коді платформи під розробкою / ide / eclipse


2
Трохи занадто багато обручів, щоб проскочити, щоб отримати код лише для форматора Eclipse, тому знайдіть його тут: google.com/codesearch/p?hl=uk#CRBM04-7BoA/ide/eclipse/…
idbrii

7

hierarchyviewer в / інструментах дозволяє налагоджувати / аналізувати макет перегляду: прокладка, позиціонування, ієрархія перегляду тощо.

Це врятувало мені багато разів кілька разів, намагаючись зрозуміти, чому все розкладено таким, яким вони є.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.