Скрытые особенности разработки Android?

Я удивлен, что в Hidden Features нет записи Android Hidden Features, которую я отслеживал некоторое время.

Серия «Скрытые возможности» отлично подходит для людей, которые не знакомы с определенным языком. Он показывает веревки и некоторые ценные трюки, все в одном месте. Я думаю, что это блестящая идея. Даже эксперты иногда находят трюки, о которых они никогда не слышали.

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

Итак, вот что: какие скрытые функции Android ?

Solutions Collecting From Web of "Скрытые особенности разработки Android?"

Надеюсь, не так уж много скрытых, скрытых функций, но вот некоторые из менее известных и неинтуитивных функций, доступных для Android, которые, безусловно, облегчат вашу жизнь и ваши приложения.

  • Все исходные тексты для платформы и всех родных приложений, отличных от Google, доступны для просмотра, загрузки, заимствования или кражи из проекта Android Open Source .
  • Используя структуру ресурсов , создание локализованных версий вашего приложения так же просто, как добавление новой аннотированной подпапки (например, значения-fr), которая содержит файл XML со строками на другом языке (например, французский). Android выберет нужную папку во время выполнения.
    • В той же структуре ресурсов вы можете использовать альтернативные макеты для различных конфигураций оборудования, плотности пикселей экрана и устройств ввода, просто отбросив их в именованной папке.
  • Начиная с Android 1.6, ваше приложение может отображать результаты, которые будут отображаться в результатах поиска в окне быстрого поиска на рабочем столе. Это известно как пользовательские поисковые предложения .
  • Используя Intents и Intent Filters, ваши приложения могут создавать и обслуживать анонимные запросы о завершении действия (например, приложение Where может запросить бронирование в таблице из приложения Open Table ).
    • Они могут запросить неизвестное приложение для завершения действия без необходимости знать, какое приложение (приложения) может выполнить этот запрос
    • Ваше приложение может выполнять запросы из неизвестных приложений для выполнения действий без необходимости знать, какие приложения будут выполнять запросы. Воспроизвести это право, и вы можете создать «приложение по умолчанию» Twitter или приложение для бронирования и т. Д.
  • Используя Alarms, вы можете настроить приложение на выполнение заданий в заданное время, даже если ваше приложение не работает.
    • Вы можете сэкономить много времени на батарею, используя метод setInexactRepeating, чтобы планировать регулярные события (например, опрос серверов или обновления). Он будет синхронизировать сигналы тревоги из нескольких приложений, чтобы происходить одновременно, а не adhoc.
  • Используя структуру « Настройки», вы можете создавать экраны настроек для своих приложений в том же стиле, что и системные настройки. Вы даже можете включить экраны системных настроек (например, безопасность и местоположение) в иерархию настроек вашего приложения.
  • Используя API AudioTrack и AudioRecord , вы можете передавать аудиоданные непосредственно из аудио буферов PCM и в них.

Инструменты в каталоге / tools SDK заслуживают упоминания:

  • Наш дизайнер особенно впечатлил draw9patch который помог разработать растяжимые кнопки. Он дал мне активы оттуда, и я изменил цвет фона на 9-патч, и теперь у нас есть пользовательская кнопка, закругленные углы и т. Д., Растянутые в соответствии с текстом.
  • ddms , который также интегрирован в плагин Eclipse. Это очень мощно, но я использую его, чтобы делать скриншоты.
  • adb – взаимодействовать с вашим устройством или эмулятором из командной строки. Я использую это, чтобы следить за журналами с моего устройства в окне терминала на моем рабочем столе, хотя я нашел его полезным для установки и удаления приложений, которые плохо себя ведут.
  • sqlite3 – отлично sqlite3 для взаимодействия с установленной базой данных и опробования запросов.
  • apkbuilder , zipalign , aapt – отлично aapt для работы без aapt
  • monkey для тестирования вашего приложения.

Я бы также выделил три дизайна для производительности , отзывчивости и бесшовности , но я также хотел бы добавить четвертый код для (Battery) Life .

Хотя Javadoc может быть немного редкими время от времени, это не помогает никакому источнику прямо там, чтобы вы могли посмотреть.

Также очень полезно иметь множество примеров приложений, написанных Googlers, для сборки, изучения, а затем посмотреть, как они это сделали.

Наверное, тогда я начну.


Хорошая скрытая функция, я думаю, является лучшей практикой документации для Android. В нем представлено множество замечательных советов по разработке гибких и быстрых приложений.

Секции передовой практики :

  • Поддержка нескольких экранов (несколько размеров и разрешений)
  • Руководства пользователя
    • Дизайн иконок
    • Дизайн виджета приложений
    • Управление задачами и задачами
    • Дизайн меню
  • Проектирование для работы
  • Проектирование для реагирования
  • Проектирование для бесшовности

Еще одна скрытая функция заключается в том, что эти документы доступны в автономном режиме в составе SDK. Сначала я загружал несколько страниц каждый день на утреннюю поездку на поезде, но мне не нужно было это делать после того, как я нашел их в каталоге SDK.


Если вы используете Eclipse, вы заметите, что он не форматирует файлы XML очень хорошо, и когда это происходит, это очень непоследовательно (иногда он разбивает атрибуты на новые строки, иногда это не так). Чтобы исправить это, вы можете нажать Ctrl-Shift-F (автоформат). Правила Ctrl-Shift-F используются в Window-> Preferences-> XML-> XML Files-> Editor.

Android поддерживает XML <shape> , который может использоваться как SVG-подобные чертежи. К сожалению, для них нет документации. Это лучшая информация, которую я могу найти:

http://escomic.net/217

Также в отношении передового опыта вы можете проверить стиль кодирования Android:

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

А также код eclipse и форматирование импорта (android-formatting.xml, android.importorder), которые находятся в исходном коде платформы в разделе development / ide / eclipse

Hierarchyviewer in / tools позволяет вам отлаживать / анализировать макет представления: отступы, позиционирование, иерархию представлений и т. Д.

Это помогло мне много раз пару раз, пытаясь понять, почему вещи выложены так, как они есть.