Этот проект направлен на:
Сводка спецификации:
Вот его API сервера Counter
Установите свою любимую IDE или только Android SDK (BuildTools 23.0.2 и компилированные данные 23 или определите свои собственные версии в dependencies.gradle ). Я использую Android Studio.
Клонировать хранилище и войти внутрь:
git clone git://github.com/jordifierro/android-base.git --origin android-base YourProjectName
cd YourProjectName
./bin/remove_notes
./bin/rename_project YourProjectName your.package.name
./gradlew clean build cAT
./bin/reset_git https://github.com/yourusername/YourProjectName.git
Вот и все, теперь вы можете начать разработку собственного приложения!
Примечание. Чтобы запустить приложение (теперь вы можете запустить только тесты), не забудьте настроить сервер API (Rails-API-база уже разработана для обслуживания этого приложения, но вы также можете сделать свое собственное) и настроить RestApi для подключения к нему (просто изменить параметры restapi.java).
Само приложение почти пустое, оно только направлено на то, чтобы предоставить некоторые основные модули, реализовать структуры с некоторыми шаблонами и дать пример кода. Вот спецификации:
Основная цель этого приложения - избежать написания приложения базового кода шаблона, поэтому уже реализованы следующие функции:
Это можно использовать с этого момента, и это также обеспечивает структурированный способ добавления большего количества кода.
Чтобы предоставить больше примера кода, был разработан код для управления notes (например, с рукописным представлением бумажных заметок), составленное title и content . Таким образом, приложение имеет индекс примечаний, детализацию, создание и редактирование экранов.
Его уникальная цель - быть образцом кода, поэтому он будет удален при запуске ./bin/remove_notes Script.
Код был структурирован после подхода к чистой архитектуре и шаблона модели View-Presenter (MVP). Проверьте это и эти сообщения, а также этот проект, для получения дополнительной информации об этом.
Принцип инверсии зависимости используется в приложении в основном для облегчения тестирования и облегчения компонентов и повторного использования. Это также уменьшает код шволю и помогает с управлением прицелами экземпляра. Библиотека, используемая для достижения этого, является кинжалом.
Чистая архитектура заставляет вас создавать разные слои, и, чтобы избежать ада обратного вызова, парадигма реактивного программирования применяется с использованием библиотеки Reactivex.
Как клиентское приложение, его главная цель - позволить пользователю взаимодействовать с данными из API сервера. Проект показывает, как легко справиться с этим. Модерная библиотека используется для реализации методов вызова API. Аутентификация, версия API и интернационализация включены в запросы.
Одна из самых интересных вещей этого проекта заключается в том, что он имеет полное покрытие модульного тестирования, от модулей данных до видов Android, включая все промежуточные слои. Это результат использования чистой архитектуры, инверсии зависимости и хороших методов тестирования. Одним из примеров этого является тестирование представления, когда докладчик представления высмеивает Mockito и вводится тестированием компонента кинжала, предоставленного пользовательским бегуном Junit.
Здесь вы можете найти учебники, которые объясняют некоторые из этих тестов:
Другие модели и правильные практики используются в проекте, такие как реализация деятельности и фрагменты общее поведение с наследством, использование фрагментов и определение навигации в действиях, чтобы сделать ремоделирование экрана безболезненными, используйте интерфейсы для отделки компонентов ... специальные передовые практики, такие как интернационализация струн, использование листа стиля и другие маленькие методологии. Здесь один из использованных ресурсов -> лучшие практики Android.
Travis-Ci была добавлена в качестве постоянной системы интеграции для запуска всего теста на каждом Push (как Java, так и Android-тестах).
Чтобы запустить тесты локально, просто подключите устройство или запустите эмулятор и выполните:
./gradlew clean build cAT
Это проведет тесты как Java, так и Android.
Есть несколько сценариев в папке /bin , чтобы сделать действительно простой запуск нового проекта с нуля, используя этот шаблон. Просто следуйте разделу «Быстрый старт», размещенную выше.
Все сценарии оболочки подтверждаются инструментом ShellCheck.
Вот его API сервера Counterpart Server, откуда это приложение потребляет Data-> Rails-API-базу.
Все предложения и вклады более чем приветствуются!
./gradlew clean build cAT
К сожалению, участников пока нет.
http://jordifierro.com