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

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

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

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

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

Ответ 1

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

Начиная с Android 1.6, ваше приложение может создавать результаты, которые будут отображаться в результатах поиска в окне быстрого поиска на рабочем столе. Это называется пользовательские предложения по поиску. Используя Intents и Intent Filters, ваши приложения могут создавать и обслуживать анонимные запросы о завершении действия (например. Приложение Where может запросить резервирование таблицы из приложения Open Table ).
  • Они могут запросить неизвестное приложение для завершения действия без необходимости знать, какие приложения могут выполнить этот запрос.
  • Ваше приложение может выполнять запросы из неизвестных приложений для выполнения действий без необходимости знать, какие приложения будут выполнять запросы. Воспроизвести это право, и вы можете создать приложение "по умолчанию" Twitter или приложение для бронирования и т.д.
Используя Тревоги, вы можете настроить приложение на выполнение задач в заданное время, даже если ваше приложение не работает.
  • Сэкономить время автономной работы можно с помощью метода setInexactRepeating для планирования регулярных событий (например, опроса сервера или обновлений). Он будет синхронизировать сигналы тревоги из нескольких приложений, чтобы происходить одновременно, а не adhoc.
Используя Preferences framework, вы можете создавать экраны настроек для своих приложений в том же стиле, что и системные настройки. Вы даже можете включить экраны системных настроек (например, безопасность и местоположение) в иерархию параметров приложений. Используя API AudioTrack и AudioRecord, вы можете передавать аудиоданные непосредственно из звуковых буферов PCM и в них.

Ответ 2

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

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

Я бы также выделил три проекта для Performance, Responsiveness и Seamlessness, но я также хотел бы добавить четвертый Кодирование для жизни (аккумулятора).

Несмотря на то, что Javadoc может быть немного редкими время от времени, он помогает без конца иметь источник прямо там, где вы можете посмотреть.

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

Ответ 3

Думаю, я начну.


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

Best Practices:

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

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


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

Ответ 4

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

http://escomic.net/217

Ответ 5

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

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

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

Ответ 6

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

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