Структура додатків, Проектування Android додатків
Існує безліч різних програм для найрізноманітніших потреб. Наприклад:
Структура вашої програми багато в чому залежить від змісту та завдань, які ви хочете запропонувати для користувачів.
Загальна структура

Встановлення верхнього рівня
Верхній рівень програми, як правило, складається з різних уявлень, які підтримує вашу програму. Уявлення або показують по-різному одні й самі дані, або повністю розкривають різний функціональний аспект вашого докладання.
Подання детально/редагувати
Подання детально/редагувати там, де ви споживаєте чи створюєте дані.
Верхній рівень
Макет стартового екрана вимагає особливої уваги. Це перший екран люди бачать після запуску вашої програми, тому він має бути однаково корисним досвідом для нових і постійних відвідувачів.
Запитайте себе: "Що мої звичайні користувачі, швидше за все, захочуть зробити в моїй програмі?", і структуруйте стартовий екран відповідно.
Надайте контент
Налаштування панелі дій для навігації та дій
Усі екрани у вашій програмі повинні відображати панелі дій, щоб забезпечити послідовну навігацію та відображати важливі дії.
На верхньому рівні застосовні спеціальні міркування до панелі дій:
- Використовуйте панель дій, щоб відобразити піктограму вашої програми або назву.
- Якщо ваш верхній рівень складається з декількох уявлень, переконайтеся, що користувач легко переміщатися між ними, додавши контроль поданнями в панель дій.
- Якщо ваша програма дозволяє користувачам створювати контент, розгляньте можливістьзробити контент доступним із найвищого рівня.
- Якщо можливий пошук за змістом, додайте функцію Пошуку в панель дій, щоб люди могли прорватися навігаційною ієрархією.
Верхній рівень перемикання з контролем уявлень
Верхній рівень представляє основні функціональні можливості вашої програми користувачам. У багатьох випадках верхній рівень складатиметься з кількох уявлень, і ви повинні переконатися, що користувач може ефективно переміщатися між ними. Android підтримує кілька систем керування уявленнями для виконання цього завдання. Використовуйте контроль управління, який найкраще відповідає навігаційним потребам вашої програми:
Нерухливі вкладки
Нерухомі вкладки відображають одночасно всі уявлення верхнього рівня і дозволяють їх легко вивчати та перемикатися між ними. Вони завжди видно на екрані, і не можуть бути переміщені так, як вкладки, що прокручуються. Нерухливі вкладки повинні завжди дозволяти користувачеві переміщатися між уявленнями, проводячи пальцем ліворуч або праворуч в області вмісту.
Використовуйте вкладки, якщо :
- Ви очікуєте, що користувачі вашої програми часто перемикатимуть уявлення.
- У вас є обмежена кількість, не більше трьох, уявлень верхнього рівня.
- Ви хочете, щоб користувачі були добре обізнані про альтернативні уявлення.
Лічильник це меню, що дозволяє користувачам перемикатися між поданнями вашої програми.
Використовуйте лічильник у головній панелі дій, якщо :
- Ви не хочете використовувати частину вертикалі екрана для виділеної панелі вкладок.
- Користувач перемикається між уявленнями для одного і того ж набору даних (наприклад: календар подій по днях, тижнях або місяцях) або набори даних одного і того ж типу (наприклад, контент для двох різних облікових записів).
Відображення навігації
Відображення навігації це меню, що вислизає, що дозволяє користувачам перемикатися між поданнями вашої програми. Воно може вмістити велику кількість речей і доступне з будь-якої точки вашої програми. Меню навігації показує представлення верхнього рівня вашої програми, але також може забезпечити навігацію на екрани нижчого рівня. Це робить їх особливо придатними для складних програм.
Використовуйте меню навігації, якщо :
- Ви не хочете використовувати частину вертикалі екрана для виділеної панелі вкладок.
- Ви маєте велику кількість уявлень верхнього рівня.
- Ви хочете забезпечити прямий доступ до екранів на нижчих рівнях.
- Ви хочете забезпечити швидку навігацію до уявлень, які мають прямих зв'язків між собою.
- Ви маєте особливо глибокі гілки навігації.
Не змішувати і не поєднуйте
Після вибору найкращого варіанта навігації верхнього рівня для вашої програми, не слід змішувати та поєднувати шаблони. Наприклад, якщо ви вирішите використовувати вкладки для перемикання уявлень верхнього рівня, не додавайте меню навігації, навіть якщо ваші навігаційні гілки глибокі. В даному випадку, навігаційне меню просто дублюватиме інформацію на вкладках, плутаючи користувача.
Незважаючи на те, кількість вертикальних кроків навігації від верхнього рівня вниз до деталізації як правило диктується структурою змісту вашої програми, є кількаспособів скоротити сприйняття скрутної навігації
Люди використовує нерухомі вкладки для перемикання між різними відносно незв'язаними функціональними областями.
Для більш детального обговорення див. Вкладки посібника з проектування.
Дозвольте прорізати ієрархію
Скористайтеся перевагою ярликів, які дозволяють людям досягти своєї мети швидше. Щоб дозволити виклик дій верхнього рівня для окремого елемента даних усередині списку або сітки, відобразіть дії, що кидаються в очі, безпосередньо у поданні списку елементів, використовуючи розкриваються або розділені елементи списку. Це дозволяє людям виконувати дії над даними без необхідності пересуватися по всьому шляху вниз ієрархією.
Дії над кількома елементами даних
Для більш детального обговорення див. Виділення посібника з проектування.
Детальне уявлення дозволяє переглядати та виконувати дії з вашими даними. Макет представлення подробиць залежить від типу даних, що відображається, і тому сильно відрізняється серед додатків.
Розгляньте які дії знадобляться людям у докладному поданні, та впорядкуйте макет відповідно.
Зробіть навігацію між детальними уявленнями ефективною
Gmail використовує переміщення уявлень для навігації від одного детального подання до іншого.
Для більш детального обговорення див. уявлення, що переміщаються, посібник з проектування.
Контрольна таблиця
Знайти способи відображення корисного змісту на стартовому екрані.
Використовуйте панелі дій для забезпечення послідовної навігації.
Тримайте неглибоку ієрархію, використовуючи горизонтальнунавігацію та ярлики.
Використовуйте множинний вибір, щоб дозволити користувачеві працювати з колекцією даних.
Дозвольте швидко переміщатися між деталізацією елементів за допомогою переміщених уявлень.