- Учимся программировать под Андроид
- Как сделать приложение для Android самостоятельно
- Необходимые инструменты
- Из чего состоит приложение на Android
- Создаём Android-приложение в Android Studio
- Шаг 1
- Шаг 2
- Шаг 3
- Шаг 4
- Программирование под Android: 50 лучших инструментов
- Лучшее для кодинга
- Используйте альтернативный HTTP-клиент OkHttp.
- На локальные файлы aar можно ссылаться, как показано ниже:
- Для удобной работы с логами можно использовать Pidcat
- Делайте коммиты с помощью систем контроля версий (VCS) вроде Git
- Программа ClassyShark
- Библиотека Stetho
- Приложение Battery Historian
- Используйте константы при работе с зависимостями (например, «1.2.0»)
- Отложите TimerTask и используйте Handler
- Для публикации приложений (например, на GitHub) не стоит использовать основную электронную почту
- Векторы вместо PNG
- Качественное программирование под Android подразумевает использование proguard
- Используйте shrinkResources
- Следуйте приведенному ниже правилу для ускорения сборки gradle:
- Разделите свой apk, используя gradle и нативный код
- Узнайте больше об архитектурах MVP и Clean
- Попытайтесь понять и использовать TDD (Test Driven Development)
- Для принудительной повторной загрузки зависимостей:
- Исключение выполнения определенной задачи из gradle
- Чтобы каждое имя подпроекта совпадало с именем проекта
- Следуйте принципу Do not Repeat Yourself (DRY)
- Пакеты по функциям, а не по слоям
- Изучите механизм Dependency Resolution
- Используйте разные имена пакетов в случае дебаг-сборок:
- Нужно уметь найти и остановить утечку памяти в Android-приложении
- Если вы создаете градиент в xml с полностью прозрачной частью, будьте очень осторожны в использовании @android:color/transparent
- Следуйте стандартным правилам в отношении имен для ваших ресурсов
- Используйте специальные задачи gradle в ваших файлах build.gradle
- Используйте подходящий .gitignore в проектах Android.
- Используйте LeakCanary для обнаружения утечек памяти в приложении
- Ускорьте сборку gradle в Android Studio 2.3+
- Остановите сборку посредством gradle:
- Настройте gradle для загрузки отсутствующих элементов android sdk в автоматическом режиме
- Не подключайте jcenter() и mavenCentral() вместе в файле build.gradle
- Очистите кэш gradle, если считаете, что библиотеки support и google play services несовместимы в android sdk
- Настройте удобные алиасы adb для терминала
- Настройте Android Studio на сбой сборки, если код содержит //STOPSHIP.
- Используйте alfi, чтобы найти оператор зависимостей gradle для библиотеки
- Вывод результатов юнит-тестов в консоль
- Сделайте сборку быстрее, используя офлайн режим
- Использовать абсрактный класс Logger
- Если нужно инициализировать свою библиотеку автоматически, обратите внимание на Content Provider
- Уменьшите размера установленного приложения с помощью «android:extractNativeLibs:false» в
- Селективная сборка для конкретного метода в Android Studio
- Используйте возможности Java 8, добавив sourceCompatibility & targetCompatibility в файл build.gradle:
- Задайте gradle-задачу для архивирования файлов apk и proguard при сборке с целью резервного копирования:
- Советы относительно UI/UX
- Движение
- Оформление
- Ripple
Учимся программировать под Андроид
Привет Хабр! Предлагаю вашему вниманию свободный перевод статьи «How To Learn Android Development» от Amit Shekhar.
Как изучить разработку приложений под Андроид?
Я видел много вопросов о том, как начать изучать программирование под Андроид и стать успешным разработчиком. Здесь я попытался охватить большинство важных аспектов в Android Development.
Изучение андроид-разработки — процесс, который должен проходить шаг за шагом. И данное руководство — не исключение. Никто не может стать полноценным Андроид-разработчиком за 30 дней. В этой статье также будут представлены лучшие учебники и статьи по разработке Андроид.
Итак, как разработать приложение под Андроид?
Ниже представлены темы, которые, по моему мнению, являются самыми важными для разработки приложений под Андроид:
- Прежде всего, вы должны обладать базовыми знаниями языка Java. В этом мне помогла книга Head-First Java
- Установите Android Studio IDE на свой ПК или ноутбук.
Ссылка автора - Когда вы уже подтянули знания по Java, найдите курс или книгу по разработке под Андроид. Обязательно подкрепляйте пройденное практикой
- Ознакомьтесь с жизненным циклом Андроид-приложения.
Ссылка автора
Ссылка переводчика - Узнайте о том, как отлаживать приложение.
Ссылка автора
Ссылка переводчика - Изучите про навигацию между экранами, tasks и back stack.
Ссылка автора
Ссылка переводчика - Разберитесь с тем, что такое контекст в Андроид.
Ссылка автора
Ссылка переводчика - Прочитайте про SharedPreferences.
Ссылка автора
Ссылка переводчика - RecyclerView в Андроид.
Ссылка автора
Ссылка переводчика - Фрагменты.
Ссылка автора - ViewPager в Андроид.
Ссылка автора
Ссылка переводчика - DialogFragments. Ссылка автора
- Основные потоки.
Ссылка автора
Ссылка переводчика - Сторонние библиотеки.
Ссылка автора
Ссылка переводчика - Работа с сетью в приложении.
Ссылка автора
Ссылка переводчика - БД и ORM(объектно-реляционное отображение).
Ссылка автора
Ссылка переводчика - Службы, сервисы.
Ссылка автора - Датчики, GPS, Acceleration.
Ссылка автора
Ссылка переводчика - Разберитесь, как создать пользовательское представление(view-элемент).
Ссылка автора
Ссылка переводчика - Handler in Android.
Ссылка автора
Ссылка переводчика - ThreadPool Executor.
Ссылка автора
Ссылка переводчика - Уведомления.
Ссылка автора - Загрузчики.
Ссылка автора - Поставщик контента.
Ссылка автора - Обработка изменений в режиме выполнения.
Ссылка автора - RxJava. В настоящее время также используется при разработке под Андроид.
Ссылка автора
Ссылка переводчика - Kotlin.
Ссылка автора
Ссылка переводчика - Dagger.
Ссылка автора
Ссылка переводчика - Архитектура MVP.
Ссылка автора
Ссылка переводчика - Архитектура MVVM.
Ссылка автора
Ссылка переводчика - Показатели производительности.
Ссылка автора - Стиль и правила написания кода.
Ссылка автора
Ссылка переводчика - Аннотации.
Ссылка автора
Ссылка переводчика - Советы по разработке:
Ссылка автора
Ссылка переводчика - Статья про то, как улучшить код аннотациями
- Как уменьшить размер APK-файла.
Ссылка автора
Ссылка переводчика - Оптимизация приложений под Android с помощью ArrayMap и SparseArray.
Ссылка автора
Ссылка переводчика - Git.
Ссылка автора
Хорошего кода 🙂
Источник
Как сделать приложение для Android самостоятельно
Платформа Android открытая, поэтому каждый может написать своё приложение и распространять его через каталоги программ. Все инструменты бесплатны.
Язык программирования для мобильной разработки на Android очень простой — это Java. Сейчас Google активно продвигает Kotlin как язык, который сможет заменить Java. Приложения пишут и на C++.
Создание простейшего приложения состоит из нескольких этапов:
- проект в Android Studio;
- создание пользовательского интерфейса;
- добавление активностей, навигации и действий;
- тест-драйв приложения в эмуляторе.
А пока мы описываем азы, студенты курса «Профессия Мобильный разработчик» уже получают деньги за свои приложения.
Пишет про разработку в Skillbox. Работал главным редактором сайта «Хабрахабр», ведет корпоративные блоги.
Необходимые инструменты
Первым делом установите программу Android Studio. Это официальная среда разработки (IDE) для Android, она работает на Windows, macOS и Linux. Хотя при разработке программ для Android можно использовать и другие среды, кроме Android Studio.
Если на компьютере не установлены Android SDK и другие компоненты, то Android Studio автоматически скачает их. Android SDK — это среда программирования, в которую входят библиотеки, исполняемые файлы, скрипты, документация и т.д.
Android SDK компилирует код вместе с любыми данными и ресурсами в файл с расширением .apk. Он содержит всё необходимое для установки приложения на Android-устройство.
Полезно установить и эмулятор Android, чтобы запускать и тестировать приложения. Эмулятор поставляется в комплекте с Android Studio.
Когда все инструменты установлены, можно создать первый проект. Но сначала нужно разобраться с основными понятиями.
Из чего состоит приложение
на Android
Android-приложение состоит из четырёх компонентов. Каждый компонент — это точка входа, через которую система или пользователь может получить доступ.
- Активность (activity) — элементы интерактивного пользовательского интерфейса.
Одна активность задействует другую и передаёт информацию о том, что намерен делать пользователь, через класс Intent (намерения). Активности подобны веб-страницам, а намерения — ссылкам между ними. Запуск приложения — это активность Main. - Сервис (service) — универсальная точка входа для поддержания работы приложения в фоновом режиме.
Этот компонент выполняет длительные операции или работу для удалённых процессов без визуального интерфейса. - Широковещательный приемник (broadcast receiver) транслирует нескольким участникам намерения из приложения.
Теперь попробуем сделать своё приложение для Android.
Создаём Android-приложение
в Android Studio
Шаг 1
Выбираем название приложения, домен компании, путь к проекту и название пакета. Указываем, включить ли поддержку опциональных языков программирования C++ и Kotlin.
Шаг 2
Задаём одну или несколько целевых платформ для сборки. Для этого используется SDK и AVD, менеджер виртуальных устройств Android. Инструмент позволяет устанавливать в SDK пакеты, которые поддерживают несколько версий ОС Android и несколько уровней API (интерфейсов программирования приложений).
Чем ниже версия Android, тем больше устройств, на которых приложение запустится. Чем выше версия, тем богаче функциональность API.
Шаг 3
Выбираем основную активность, которая будет запускаться при нажатии на иконку приложения, и даём ей имя.
Шаг 4
После нескольких минут сборки Android Studio открывает интерфейс IDE. Здесь три основных момента.
Источник
Программирование под Android: 50 лучших инструментов
Знание Java и IDE – далеко не все, чтобы сделать программирование под Android комфортным. Рассмотрим полезные дополнения и рекомендации.
Лучшее для кодинга
Используйте альтернативный HTTP-клиент OkHttp.
HttpUrlConnect страдает от некоторых багов. Okhttp решает эти проблемы. Анонс.
На локальные файлы aar можно ссылаться, как показано ниже:
Для удобной работы с логами можно использовать Pidcat
Делайте коммиты с помощью систем контроля версий (VCS) вроде Git
Программа ClassyShark
Это возможность проверить Android APK и получить необходимую информацию о методах, полях, зависимостях etc. Анализирует файлы aar, class, jar, so, apk.
Библиотека Stetho
Использование библиотеки позволяет дебажить программы с помощью Chrome Dev Tools. Включает такие инструменты, как Network Monitor, SharedPreference и т. д.
Приложение Battery Historian
Анализирует состояние батареи.
Используйте константы при работе с зависимостями (например, «1.2.0»)
Избегайте знака + при указании версий зависимостей.
- Так можно избежать ошибок, несмотря на изменение API.
- Устраняется необходимость всякий раз во время сборки осуществлять онлайн-проверку последних версий для каждой зависимости.
Отложите TimerTask и используйте Handler
Для публикации приложений (например, на GitHub) не стоит использовать основную электронную почту
Векторы вместо PNG
Если же это PNG, постарайтесь сжать файлы, используя TinyPNG.
Качественное программирование под Android подразумевает использование proguard
Используйте shrinkResources
Следуйте приведенному ниже правилу для ускорения сборки gradle:
Разделите свой apk, используя gradle и нативный код
Не объединяйте все вместе, потому что потом придется долго разбираться в исходниках.
Узнайте больше об архитектурах MVP и Clean
Попытайтесь понять и использовать TDD (Test Driven Development)
Для принудительной повторной загрузки зависимостей:
Исключение выполнения определенной задачи из gradle
Предположим, необходимо убрать задачу javaDoc. Просто используйте в команде -x, а затем имя задачи. В нашем случае это javaDoc:
Чтобы каждое имя подпроекта совпадало с именем проекта
Добавьте эту строку в settings.gradle:
Больше трюков с gradle вы найдете здесь.
Следуйте принципу Do not Repeat Yourself (DRY)
Пакеты по функциям, а не по слоям
Изучите механизм Dependency Resolution
Со скоростью обновления Android-зависимостей рано или поздно вы столкнетесь с конфликтом зависимостей в приложении. Для этого используется Dependency Resolution. Официальный ресурс.
Используйте разные имена пакетов в случае дебаг-сборок:
Нужно уметь найти и остановить утечку памяти в Android-приложении
Если вы создаете градиент в xml с полностью прозрачной частью, будьте очень осторожны в использовании @android:color/transparent
Следуйте стандартным правилам в отношении имен для ваших ресурсов
Используйте специальные задачи gradle в ваших файлах build.gradle
Android использует Gradle в качестве системы сборки, что на самом деле упрощает реализацию многих вещей, автоматизируя процесс. Этот пост на reddit содержит много полезных gradle-скриптов.
Используйте подходящий .gitignore в проектах Android.
Используйте LeakCanary для обнаружения утечек памяти в приложении
Программирование под Android предусматривает использование таких библиотек, как эта. Именно они упрощают кодинг и делают приложение «шустрее».
Ускорьте сборку gradle в Android Studio 2.3+
- Перейдите к версии 3.4.1.
- Выполните команду в директории проекта, чтобы проапдейтить gradle wrapper:
- Установите необходимые свойства в глобальном файле gradle.properties:
Остановите сборку посредством gradle:
Настройте gradle для загрузки отсутствующих элементов android sdk в автоматическом режиме
- Установите необходимые свойства в глобальном файле gradle.properties:
Это экспериментальный вариант, и он загружает только инструменты и платформы для сборки, но фактически не обновляет репозитории Google или Support.
Не подключайте jcenter() и mavenCentral() вместе в файле build.gradle
MavenCentral и так входит в JCenter.
Очистите кэш gradle, если считаете, что библиотеки support и google play services несовместимы в android sdk
/.gradle/caches/ и удалите оттуда все.
Настройте удобные алиасы adb для терминала
Добавьте указанные ниже алиасы в файл
/.zshrc, сохраните и перезапустите терминал. После сохранения используйте их как показано в столбце «Применить»:
Настройте Android Studio на сбой сборки, если код содержит //STOPSHIP.
Чтобы добавить проверку на //STOPSHIP в lint, включите в build.gradle следующий код:
Если в коде есть комментарий //STOPSHIP, это вызовет ошибку при создании apk-версии.
Вы можете включить подсветку //STOPSHIP в Android Studio (по умолчанию подсветка выключена). Это делается через Preferences → Editor → Code Style → Inspections. Найдите STOPSHIP, чтобы применить настройку.
Используйте alfi, чтобы найти оператор зависимостей gradle для библиотеки
Это консольная версия web-приложения Gradle, Please.
- Запуск:
- Копирование нужной библиотеки.
- Вставка в build.gradle.
Вывод результатов юнит-тестов в консоль
Сделайте сборку быстрее, используя офлайн режим
Программирование под Android нуждается в:
Использовать абсрактный класс Logger
Если нужно инициализировать свою библиотеку автоматически, обратите внимание на Content Provider
Уменьшите размера установленного приложения с помощью «android:extractNativeLibs:false» в
Селективная сборка для конкретного метода в Android Studio
Используйте возможности Java 8, добавив sourceCompatibility & targetCompatibility в файл build.gradle:
Задайте gradle-задачу для архивирования файлов apk и proguard при сборке с целью резервного копирования:
Советы относительно UI/UX
Движение
Программирование под Android включает много составляющих. Например, в Material Design в качестве базиса используется физика реального мира. В реальности объекты не двигаются линейно. Это движение по искривленным дорожкам, с ускорением и замедлением в соответствии со свойствами движения.
Таким образом, движение должно также использовать данные свойства и анимировать объекты с сохранением естественности.
Например, автомобиль, покидающий экран, начинает движение медленно, а затем ускоряется, пока полностью не выйдет из кадра. Точно так же представления должны быть интерполированы с использованием классов AccelerateInterpolator, FastOutSlowInInterpolator, etc. Подробнее.
Оформление
Хотя пользовательские шрифты и могут использоваться для брендинга, лучше придерживаться стандартных Noto и Roboto из-за их узнаваемости. Особенно это касается основного текста.
Roboto охватывает латинские, греческие и кириллические символы, а Noto подходит для других языков.
Балансировка – важный аспект оформления, фундаментальная концепция которого заключается в том, что чем больше шрифт, тем менее жирным он должен быть.
Текст должен выравниваться по сетке с ячейками 4dp.
Лучшая длина текста для больших текстовых блоков составляет 40-60 символов в одной строке. Другие варианты вносят дисбаланс.
Иконки
Необходимый размер для иконок – 48dp с краями 1dp:
- 48px x 48px – mdpi
- 72px x 72px – hdpi
- 96px x 96px – xhdpi
- 144px x 144px – xxhdpi
- 192px x 192px – xxxhdpi
Дополнительная иконка 512px x 512px должна быть для Google Play. Значки материалов должны содержать следующие важные элементы:
- 1dp тонированный край наверху
- 1dp затененный край внизу
- мягкая тень вокруг всех краев поднятых элементов
- мягкий оттенок для обеспечения поверхностного свечения
Ripple
Для Ripple эффекта вместо ?android:attr используется ?attr/selectableItemBackground.
Для кнопки реализация должна включать:
Выходящий за края Ripple реализуется с помощью:
Программирование под Android требует знаний, а это также необходимость читать литературу, слушать подкасты, смотреть краткие интервью с опытными разработчиками и время от времени проверять новые Android-библиотеки.
Источник