исходники приложений на kotlin

Пишем MVP приложение на Kotlin под Android

исходники приложений на kotlin

Разработка приложений на Kotlin под Android набирает популярность среди разработчиков, однако статей в русскоязычном сегменте Интернета довольно мало. Я решил немного подправить ситуацию, и написать туториал по разработке приложения на Kotlin. Мы напишем полноценное приложение с использованием всех трендовых библиотек (кроме RxJava) в мире Android-разработки. В конце у нас должно получиться расширяемое и легко тестируемое приложение (сами тесты мы писать не будем).

Внимание! В статье описывается создание приложения версии 1.0. Текущий код в репозитории может отличаться от описываемого в статье.

Наверное, некоторые из вас знают, что помимо языка программирования Kotlin JetBrains также разрабатывает библиотеку Anko, для создания UI приложения, в качестве замены обычным XML-файлам. Мы не будем использовать его в нашем проекте, дабы не ставить в затруднительное положение людей не знакомых с Anko.

Настройка Android Studio

Для написания приложений на языке Kotlin, Android Studio нужен специальный плагин. Инструкцию по установке плагина можно найти здесь. Также не забудьте отключить функцию «Instant Run» в настройках Android Studio, т. к. на данный момент она не поддерживается плагином Kotlin.

Для корректной работы генерации кода нужно использовать версию плагина не ниже 1.0.1. Я использовал версию Kotlin 1.0.2 EAP. Вот так выглядит файл build.gradle приложения в моем проекте:

Что будем писать?

Итак, для начала нам нужно определиться что же мы будем писать? Недолго думая я остановился на приложении-заметках. Название тоже придумалось легко — Notelin. Приложение очень простое и состоит из двух экранов:

— Главный экран — содержит в себе список с заметками
— Экран заметки — здесь можно смотреть/редактировать содержание выбранной заметки

Требования к приложению небольшие:

— Добавление/просмотр/удаление заметки
— Просмотр информации о заметке
— Сортировка заметок по заголовку и по дате
— Поиск по заголовкам заметок

Используемые библиотеки

Для работы с базой данных я буду использовать библиотеку Android Active. Урок по работе с ней можно найти по этой ссылке. Для реализации Depency Injection была использована библиотека Dagger 2. На Хабре есть много статей по работе с ней. Основой всего приложения будет библиотека Moxy. С ее помощью мы реализуем паттерн MVP в нашем проекте. Она полностью решает проблемы жизненного цикла, благодаря чему вы можете не переживать о пересоздании компонентов вашего приложения. Также мы воспользуемся набором расширений для языка Kotlin в Android — KAndroid. Про остальные библиотеки я буду рассказывать по ходу дела.

Ниже приведен список зависимостей проекта:

А вот так выглядит список зависимостей приложения:

Обратите внимание, что вместо apt я использую kapt. Это плагин для Gradle, позволяющий аннотировать Kotlin-элементы.

Структура приложения

Вот так выглядит структура нашего проекта в конечном варианте:

исходники приложений на kotlin

Создаем Model

У заметок будет четыре поля:

Реализуем все это в коде:

По этой модели библиотекой ActiveAndroid будет создана БД, в которой будут храниться наши заметки. Если вы заметили, у нас есть два конструктора: пустой и с параметрами. Первый конструктор будем использовать мы, а второй — ActiveAndroid. Наша модель наследуется от класса Model, благодаря чему мы можем сохранять и удалять наши заметки просто вызывая методы save() и delete(), например:

Но прежде чем использовать нашу модель, нам нужно прописать кое-какие мета-данные в Manifest-файле:

Думаю, все понятно без комментариев. Осталось унаследовать класс Application от com.activeandroid.app.Application:

Чтобы приложение было менее зависимо от БД я создал обертку NoteDao над нашей моделью, в которой будут происходить все операции по созданию, сохранению, обновлению и удалению заметок:

Наверное, вы заметили, что для создания объектов мы не использовали ключевое слово new — это отличие Kotlin от Java.

Экран с заметками

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

Создаем MainView и MainPresenter

исходники приложений на kotlin

Теперь нам нужно перевести все это в код. Для начала создадим интерфейс нашей View:

Далее мы реализуем созданный интерфейс в нашей активити:

Одной из особенностей Kotlin, является то, что наследование и реализация интерфейсов указывается через двоеточие после имени класса. Также не имеет разницы идет название родительского класса перед интерфейсами, после или даже между ними, главное, чтобы класс в списке был один. Т. е. запись выше могла бы выглядеть так:

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

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

Создадим класс презентер:

Презентер также наследуется от MvpPresenter, которому мы указываем с какой View мы будем работать.Осталось инжектировать нашу модель в презентер. Для этого мы создаем модуль — поставщика NoteDao:

Создадим Component для инжектирования презентера:

Теперь нам нужно создать статический экземпляр класса AppComponent в классе Application:

Теперь мы можем инжектировать нашу модель в презентере:

Для взаимодействия MainView и MainPresenter нам нужно создать переменную в MainActivity:

Плагин Moxy сам привяжет View к фрагменту и произведет другие необходимые действия.

Создадим разметку экрана со списком и плавающей кнопкой. Файл activity_main.xml:

Для реализации летающей кнопки я использовал библиотеку FloatingActionButton. Google уже добавили FAB в support-библиотеку, поэтому вы можете воспользоваться их решением.

Укажем нашей Activity, какой макет она должна показывать:

Далее нам нужно связать FAB и список, чтобы при прокручивании списка вверх кнопка исчезала:

Нам не нужно писать порядком надоевший findViewById, нужно лишь прописать одну строчку в блоке с import’ами:

Как видите, последний пакет совпадает с названием нашего xml-файла. IDE автоматически инициализирует свойства (property) наших View и их имена совпадают с ID, которые мы указали в разметке.

Давайте реализуем загрузку заметок из БД. Заметки нужно загружать только один раз и использовать их в последующем. В этом нам поможет метод onFirstViewAttach класса MvpPresenter, который вызывается единожды при первой привязке View к презентеру. Далее, сколько бы мы не крутили и вертели нашу Activity, данные будут закешированы в презентере.

Создадим адаптер для нашего списка:

В адаптере мы используем метод formatDate. Он служит для форматирования даты в строку:

Данный метод находится в файле DateUtils.kt и мы можем использовать как обычный статический метод. Отличие от статического метода здесь в том, что метод принадлежит не классу, а пакету и нам не нужно писать имя класса перед названием метода. В аннотации мы указываем название класса, через который мы будем обращаться к методу из Java. Например в Java дынный метод будет вызываться так:

В методе onNotesLoaded нашей Activity мы показываем наши заметки:

Если заметок нет, то мы показываем сообщение «Нет заметок» в TextView.

Насколько я знаю, для обработки клика по элементам RecycleView не существует «официального» OnItemClickListener. Поэтому мы воспользуемся своим решением:

В методе onCreate нашей Activity пишем:

Функция with позволяет не писать каждый раз имя переменной, а только лишь вызывать методы у объекта, который мы передали в нее. Обратите внимание, что для получения Activity я использовал не просто this, а this@MainActivity. Это связано с тем, что при использовании this в блоке with, возвращается объект, который мы передали в функцию with. При обычном клике по пункту мы переходим на Activity, где мы можем просмотреть текст нашей заметки. При долгом нажатии появляется контекстное меню. Если вы заметили, перед закрывающей скобкой я не написал слово return. Это не ошибка, а особенность языка Kotlin.

Вот что происходит при нажатии на пункт меню в презентере:

Мы еще не создали класс NoteActivity, поэтому компилятор будет выдавать ошибку. Для решения этой проблемы можно создать класс NoteActivity или вовсе закомментировать код внутри метода openNote. Запись NoteActivity::class.java аналогична NoteActivity.class в Java. Также заметьте, что мы обращаемся к списку не через метод get(position), а через квадратные скобки, как к обычному массиву.

При использовании MVP-библиотеки Moxy в своем приложении, нам нужно привыкать, что все действия с View, такие как показ/закрытие диалога и другие, должны проходить через презентер. Изначально это не очень привычно и неудобно, но пользы от этого гораздо больше, т. к. мы можем быть уверены, что при пересоздании Activity наше диалоговое окно никуда не пропадет.

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

При нажатии на FAB должна создаваться новая заметка:

Для создания новой заметки мы вызываем у презентера функция openNewNote:

Метод openNewNote использует созданный нами ранее openNote, в который мы передаем Context и позицию заметки в списке.

Реализуем поиск по заметкам

исходники приложений на kotlin

Давайте добавим поиск по заметкам. Создайте в папке res/menu файл main.xml:

В MainActivity пишем:

При изменении текста в поле поиска мы передаем строку из поля в презентер, после чего показываем результаты в списке. На самом деле, у SearchView нет метода onQueryChange, его добавила библиотека KAndroid.

Реализуем поиск в презентере:

Обратите внимание, как красиво, в одну строчку мы реализовали поиск по списку с помощью метода filter и лямбд. В Java тот же функционал занял бы 6-7строк. Осталось отобразить результаты поиска:

Реализуем сортировку заметок

И последний этап в создании главного экрана, это сортировка заметок. Добавим в res/menu/main.xml следующие строки:

Теперь нам нужно обработать нажатие на пункты меню:

Оператор when является более функциональным аналогом switch-case в Java. Код сортировки в MainPresenter:

Экран с содержанием заметки

Теперь нам нужно создать экран с содержанием заметки. Здесь пользователь может просмотреть/отредактировать заголовок и текст заметки, сохранить или удалить ее, а также просмотреть информацию о заметке.

Создаем NoteView и NotePresenter

исходники приложений на kotlin

Экран содержит всего лишь три View:

-Заголовок
-Дата последнего изменения
-Текст заметки

А вот и сама разметка:

В начале статьи я мельком упомянул об Anko. Библиотека позволяет существенно сократить код, не теряя при этом в удобочитаемости. Вот так, например, выглядела бы наша разметка при использовании Anko:

Но не будем отвлекаться и приступим к написанию кода. Первым делом нам нужно создать View:

Имплементируем NoteView в NoteActivity:

В onCreate мы извлекаем id заметки, чтобы презентер достал заметку из БД и передал данные во View. Создадим презентер:

Не забудьте добавить в класс AppComponent строку:

Покажем нашу заметку:

Реализуем сохранение заметки

Для сохранения заметки нам нужно выбрать соответствующий пункт в меню. Создайте файл res/menu/note.xml:

Опять же, я не стал приводить код удаления и вывода информации о заметке. При просмотре исходного кода, вы можете заметить, что помимо идентификатора заметки я передал в NoteActivity позицию заметки в списке. Это нужно для того, чтобы при удалении заметки на экране просмотра заметки, она также удалялась из списка. Для реализации этого функционала я использовал EventBus. И опять, я не стал приводить код.

На этом все: заметки добавляются, редактируются и удаляются. Также мы можем осуществить поиск и сортировку заметок. Обязательно посмотрите полный исходный код, ссылку на который я привел в конце статьи, чтобы лучше понять как все устроено.

Благодарности

Конечно же, нельзя забывать о людях, которые помогли мне при написании статьи. Хотел бы выразить благодарность хабраюзерам Юрию Шмакову (@senneco) за помощь с его библиотекой Moxy и за помощь по другим вопросам. Также, хочу сказать спаcибо сотруднику JetBrains Роману Белову (@belovrv) за ревью статьи и за предоставленный код на Anko.

UPD: Еще хотел сказать спасибо Sirikid за EPIC COMMIT, благодаря которому я переделал внушительную часть кода с использованием фич Kotlin’а.

Заключение

Надеюсь, эта статья смогла убедить вас в том, что писать приложения на Kotlin не трудно, а может даже и легче, чем на Java. Конечно же, могут встречаться и баги, которые сотрудники JetBrains достаточно быстро фиксят. Если у вас появились какие-либо вопросы, вы можете задать их напрямую разработчикам на Slack-канале. Также вы можете почитать статьи о разработке на Kotlin здесь.

Источник

Щупаем Kotlin (и чуть-чуть Gradle) на примере Отправлялки-длинных-твитов (открытые исходники)

Я никогда не был любителем HelloWorld и туториалов. В них как правило решаются проблемы, которые данным инструментом решаются хорошо, а вот острые углы и недостатки деликатно обходятся. По-настоящему пощупать язык или библиотеку можно только на реальном приложении, написании «бизнес-кода», а не «сервиса фабрики сервисов фабрик моделей сервисов». Пример такого простого приложения — на видео. Ну что, поехали?

Предпосылки к задаче

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

Что можно узнать из получившегося проекта

Бенефиты Kotlin

Нужно объявить просто POJO-класс с readonly полям? Легко.

Самостоятельно объявлять тип переменных? Но зачем, если компилятор может вывести их за вас!

Причем var — это переменная, а val — это final объект, так что случайно вам её иным значением не заменить.
Так же код позволяют сократить операторы вроде with:

Или возможность втыкать переменные внутри строки без функции format или аналогичной по смыслу:

Callback’и для кликов тоже назначаются достаточно более коротким кодом:

И как вы наверное уже заметили их примеров выше, оператор «new» тоже упразднён.

Ещё мне понравилась возможность объявлять функции без классов как альтернатива статическим методам, которых в Kotlin, как я понял, нет.

А ещё под Kotlin+Android у Kotlin есть такая классная штука — Kotlin Android Extensions. Она позволяет забыть findViewById() как страшный сон и делать следующий финт ушами:

На порядок удобнее, чем аннотации RoboGuice.

Пожалуй единственное, что мне показалось странным — формат досрочного выхода из CallBack’а:

Используем Gradle

Сегодня сборка Android-приложений с помощью Gradle считается стандартом. Правда немного напрягает то, что разработка Groovy лежащего в основе Gradle остановлена (?) в начале года. Ну да ладно, побудем оптимистами. Минимальный скрипт сборки приложения (в debug- и release-сборке) выглядит вот так.

К слову, крайне рекомендую использовать proguard для сборки релизной версии — без неё у меня Kotlin-приложение весило раз в 5 больше, чем аналогичное Java-приложение. После обработки proguard’ом же разница в размере была в 100 килобайт или около того. В proguard-правила для сборки пришлось добавить всего одно правило:

Впрочем при сборке того же скрипта не из консоли, а из например IntelliJ IDEA вы наткнётесь на проблему — консоли для ввода пароля для сертификата у вас в этом случае нет. Для данной проблемы вроде как есть решение — но мне оно не подошло, при попытке его использовать я получил ошибку:

Возможно, вам повезёт больше и вы поможете найти мне ошибку? Версии библиотек, Java и самой IDE самые свежие.

Локальные решения и выводы

Перечислять особенности же функций вычисления размера шрифта для вписывания текста в прямоугольник или расшаривания приложения я не буду — всё есть в исходниках описанного приложения на GitHub’е.

В общем, как по мне, на Kotlin код получается более лаконичным и простым, так что для своих небольших проектов я его использовать (как и делиться исходниками) продолжу и дальше. Если вам показалось, что я не использовал в этом приложении ещё какие-либо классные (и уместные) возможности Kotlin или Gradle — жду pull-request’ов и комментариев!

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

Источник

Исходники приложений на kotlin

Введение в Android

Скачивание и установка Android Studio

Android Studio — специальная среда разработки под Android. Основана на IntelliJ IDEA, поэтому пользовательский интерфейс очень похож.

Скачать Android Studio можно с официального сайта для разработчиков под Android: developer.android.com: https://developer.android.com/studio.

Устанавливается стандартным образом для каждой из поддерживаемых операционных систем (Windows, Linux, macOS).
Инструкцию можно найти здесь: https://developer.android.com/studio/install.

Создание первого приложения

Для создания нового проекта необходимо выполнить следующие шаги:

Проект нового приложения создан. Для его запуска необходимо либо подключить реальное Android-устройство, либо установить и запустить эмулятор.

Для установки эмулятора необходимо выполнить следующие шаги в рамках Android Studio:

Эмулятор создан. Можно его запустить, нажав на кнопку «Run» в окне «AVD Manager».

Подключение реального устройства

Для подключения реального устройства необходимо:

Запуск приложения на эмуляторе и устройстве

Для запуска приложения необходимо сперва выбрать устройство (слева от кнопки «Run»), на котором будет выполнен запуск, а затем нажать кнопку «Run».

Изучим структуру проекта приложения.
Вкладка «Project» на панели слева отображает структуру проекта. Режим «Android» не отображает реальную структуру проекта, но он удобен для разработки. Режим «Project» отображает реальную структуру проекта в файловой системе.

Рассмотрим структуру проекта в режиме «Android».
На верхнем уровне проект отображает свои модули и список Gradle-скриптов. Проект может содержать более, чем один модуль, но по-умолчанию у него есть хотя бы один модуль app с исходным кодом приложения. Gradle-скрипты — это сборочные скрипты проекта, описывающие этапы сборки, зависимости и другую необходимую для сборки проекта информацию. О них позже.

Модуль app содержит разделы:

Манифест AndroidManifest.xml располагается в корневом каталоге проекта. Он содержит важную информацию о приложении, которая требуется системе Android для выполнения какого-либо кода приложения. Среди прочего файл манифеста выполняет следующее:

Приложение Dice Roller

В качестве простейшего примера создадим приложение «Dice Roller», которое будет иметь один единственный экран с изображением игрального кубика и кнопкой для имитации броска.

Заготовка для приложения уже создана. Далее необходимо:

Готовый пример располагается в каталоге рядом с данным конспектом.

Игральный кубик содержат точки в диапазоне от 1 до 6. Таким образом кнопка для имитации броска должна генерировать случайное число от 1 до 6.

Сперва рассмотрим добавление кнопки без добавления изображения, а для проверки работы кнопки необходимо подготовить текстовое поле для отображения числа от 1 до 6.

1. Изменение текста и его размера на экране (activity_main.xml):

2. Добавление кнопки (тега Button ):

3. Расположение элементов в центре экрана:

Обработка нажатия на кнопку

1. Установка идентификатора кнопки:

2. Получение экземпляра кнопки по ее идентификатору:

3. Установка обработчика события onClick :

Обработчик нажатия на кнопку описывает генерацию случайного числа от 1 до 6, получение экземпляра текстового поля по идентификатору result_text (предварительно идентификатор должен быть добавлен к компоненту TextView ), и установку сгенерированного числа в качестве текста.

Если запустить приложение, можно убедиться, что нажатие на кнопку «Roll» меняет значение числа на экране.

Добавление изображения костей

1. Добавление изображений в каталог drawable :

2. Замена TextView на ImageView :

3. Замена получения экземпляра TextView на ImageView :

4. Обновление обработчика нажатия на кнопку «Roll»:

Сборка и управление зависимостями

Сборкой Android-приложений занимается утилита Gradle. Кроме сборки Gradle отвечает за следующее:

Gradle-файл проекта определяет репозитории и зависимости общие для всех модулей в проекте.
Репозитории — хранилища, в которых будут искаться добавляемые зависимости.
Зависимости — библиотеки или инструменты, которые необходимы для работы проекта.

Пример build.gradle для модуля app представлен ниже.

Блок plugins описывает плагины, которые должны быть включены в проект:

Блок android описывает параметры сборки проекта под Android:

Блок dependencies описывает зависимости от библиотек, необходимых приложению. Зависимости задаются идентификаторами библиотек в репозиториях, включенных в Gradle-файле проекта.

Источник

Исходники приложений на kotlin

Awesome Android Kotlin Apps

👓 A curated list of awesome android kotlin apps by open-source contributors.

исходники приложений на kotlin

Awesome Android Kotlin Apps aims to be the starting point for developers to find an Android app with a particular Tech Stack / Libraries.

🔃 Last updated : Fri Dec 03 06:02:38 UTC 2021

Jetpack Compose Apps

NameAuthor ✍️Description 🗒️Reputation 💪
awesome-jetpack-compose-android-appsandroiddevnotes👓 A curated list of awesome Jetpack Compose android apps by open-source contributors.

Last commit: 4 weeks ago🌟 505
🍴 49
👁️ 11

NameAuthor ✍️Description 🗒️Reputation 💪
fenixmozilla-mobileFirefox for Android

Tech Stack : Coroutines, Testing, Retrofit, Room, Firebase Perf, WorkManager, Paging, Navigation, LiveData, ViewModel

Last commit: 4 hours ago🌟 983
🍴 117
👁️ 22InureHamza417An elegant and beautiful Android app manager for both rooted and non-rooted devices and a built-in terminal, device info and analytics panel.

Tech Stack : LiveData, ViewModel, WebKit, APK Parser, libsu

Last commit: 5 hours ago🌟 83
🍴 10
👁️ 5showly-2.0michaldrabikShowly 2.0 is modern, slick, open-sourced Android TV Shows Tracker.

Tech Stack : Dagger, Coroutines, Testing, Retrofit, Room, Firebase Messaging, WorkManager, Navigation, Dynamicanimation, LiveData, ViewModel

Last commit: 5 hours ago🌟 247
🍴 19
👁️ 14iiCnmaImnIrdstA playground android app, showcasing the latest technologies and architectures using the Movie Database APIs.

Tech Stack : Dagger Hilt, Testing, Coroutines + Flow, Retrofit, Room, LiveData, ViewModel, Paging, Navigation

Last commit: 11 hours ago🌟 28
🍴 5
👁️ 1alkaaigorescodroOpen-source app to manage your tasks quickly and easily

Tech Stack : Koin, Espresso, UiAutomator, Mockk, Coroutines, Navigation, Room, MotionLayout, KTX, Modularization, Dynamic Delivery, Dark Theme, klint, Detekt, codebeat, CodeFactor, Codacy, MPAndroidChart, Groupie, LiveData, ViewModel

Last commit: 12 hours ago🌟 574
🍴 55
👁️ 14Kotlin-Pokedexmrcsxsiq🌀 A Pokedex app using ViewModel, ViewBinding, LiveData, Room and Navigation

Tech Stack : LiveData, Navigation Jetpack, ViewModel, Room, Gradle Kotlin DSL, Databinding, Retrofit, Koin and Ktlint

Last commit: 1 day ago🌟 1255
🍴 183
👁️ 23libbranuhkocaA currency tracker app demonstration. It refreshes currency list every single second based on the main currency. In addition to that, main currency is selectable.

Tech Stack : Dagger, Coroutines, Testing, Retrofit, Data Binding, Navigation, LiveData, ViewModel

Last commit: 1 day ago🌟 43
🍴 8
👁️ 2plees-trackervmiklosPlees Tracker is a simple sleep tracker for your Android phone.

Tech Stack : Room, LiveData, ViewModel

Last commit: 2 days ago🌟 65
🍴 16
👁️ 6NekomeChesireNekome is an Android application to manage tracked Anime and Manga lists.

Tech Stack : Dagger, Coroutines, Testing, Retrofit, Room, WorkManager, Navigation, LiveData, ViewModel

Last commit: 2 days ago🌟 156
🍴 23
👁️ 3PhotosSIKV

Tech Stack : Dagger, Coroutines, RxJava, Testing, Retrofit, Room, Firestore, Firebase-ML, Firebase-Analytics, Paging, Navigation, LiveData, ViewModel

Last commit: 2 days ago🌟 47
🍴 8
👁️ 7MovieHuntenginebaiMovie Android App written in Kotlin, MVVM, RxJava, Coroutine (Upcoming), Android Architecture Components and Jetpack Compose (Upcoming).

Tech Stack : Koin, RxJava, Room, Paging, Navigation, Epoxy, LiveData, ViewModel

Last commit: 3 days ago🌟 382
🍴 43
👁️ 12Pokedexskydoves🗡️ Android Pokedex using Hilt, Motion, Coroutines, Flow, Jetpack (Room, ViewModel) based on MVVM architecture.

Tech Stack : Dagger Hilt, Coroutines, Testing, Retrofit, Room, Data Binding, LiveData, ViewModel

Last commit: 3 days ago🌟 4840
🍴 575
👁️ 201habitica-androidHabitRPGNative Android app for Habitica

Tech Stack : Dagger, Coroutines, RxJava, Retrofit, Realm, Firebase Messaging, Paging, Navigation, Facebook, FlowLayout, LiveData, ViewModel

Last commit: 4 days ago🌟 932
🍴 413
👁️ 60flexbooruflexbooruA booru client for Android, support Danbooru, Moebooru, Gelbooru, Shimmie, etc.

Tech Stack : Kodein, Coroutines, Testing, Retrofit, Room, WorkManager, Exoplayer, Navigation, Tikxml, LiveData, ViewModel

Last commit: 4 days ago🌟 489
🍴 51
👁️ 27WallpaperAppGeorgCantorApp for viewing and downloading wallpapers

Tech Stack : Koin, Coroutines, Retrofit, Room, Lottie, Zoomy, Navigation, LiveData, ViewModel

Last commit: 5 days ago🌟 50
🍴 14
👁️ 3PraxismutualmobileExample Android project using MVVM, DaggerAndroid, Jetpack, Data Binding, Retrofit, RxJava and Coroutines

Tech Stack : Dagger, Retrofit, Coroutines, RXJava2, ViewModel, Data Binding

Last commit: 6 days ago🌟 90
🍴 20
👁️ 7muzeimuzeiMuzei Live Wallpaper for Android

Tech Stack : Coroutines, Testing, Retrofit, Room, Firebase Perf, WorkManager, Paging, Navigation, LiveData, ViewModel

Last commit: 1 week ago🌟 4330
🍴 949
👁️ 185EyepetizerVIPyinzhiwei🔥 基于 Kotlin 语言仿写「开眼 Eyepetizer」的一个短视频 Android 客户端项目,采用 Jetpack + 协程实现的 MVVM 架构。

Tech Stack : Coroutines, Testing, Retrofit, WorkManager, GSYVideoPlayer, Data Binding, PermissionX, EventBus, LiveData, ViewModel

Last commit: 2 weeks ago🌟 1316
🍴 316
👁️ 27GitExplorer-AndroidShashank02051997Find the right git commands 🔥 without digging through the web. 😊 😊 😉

Tech Stack : LiveData, ViewModel

Last commit: 2 weeks ago🌟 87
🍴 15
👁️ 7apturicovid-androidApturiCOVIDApturi Covid Android lietotne

Tech Stack : Dagger, Coroutines, RxJava, Testing, Retrofit, Room, WorkManager, Data Binding, ShortcutBadger, LiveData, ViewModel

Tech Stack : Dagger, Coroutines, RxJava, Testing, Room, Firebase Messaging, WorkManager, Dropbox, Calendar view, Paging, Biometric, LiveData, ViewModel

Last commit: 2 weeks ago🌟 171
🍴 51
👁️ 9AnimeXStreammukul500An Android app to watch anime on your phone without ads.

Tech Stack : Retrofit, RxJava, Epoxy, ViewModel, LiveData, Navigation, Realm, ExoPlayer v2.0, Glide

Last commit: 3 weeks ago🌟 1621
🍴 152
👁️ 110Instant-WeathermayokunadeniyiAn Android weather application implemented using the MVVM pattern, Retrofit2, Dagger Hilt, LiveData, ViewModel, Coroutines, Room, Navigation Components, Data Binding and some other libraries from the Android Jetpack.

Tech Stack : Dagger, Coroutines, Testing, Retrofit, Room, WorkManager, Paging, Data Binding, Navigation, Algolia Search, LiveData, ViewModel

Last commit: 3 weeks ago🌟 575
🍴 110
👁️ 17DadsErickSumargoBA DUM TSSS

Tech Stack : Hilt, Coroutines + Flow, UI Testing, Room, ViewModel, WorkManager, Apollo

Last commit: 3 weeks ago🌟 222
🍴 15
👁️ 5space-appValterKasperAn Android app which shows timeline of upcoming rocket launches and showcases architecture of real application.

Tech Stack : Dagger, Coroutines, Testing, Retrofit, Room, WorkManager, Data Binding, Navigation, LiveData, ViewModel

Last commit: 3 weeks ago🌟 127
🍴 14
👁️ 5ForgetMeNottema6120A flashcard app for Android.

Tech Stack : Coroutines + Flow, SQLDelight, Kotlin Serialization, Klock, Brackeys-IDE EditorKit

Last commit: 3 weeks ago🌟 183
🍴 18
👁️ 5Updootadityam49A reddit client built for android

Tech Stack : Dagger Hilt, Coroutines, Testing, Retrofit, Room, ExoPlayer, WorkManager, Data Binding, Navigation, LiveData, ViewModel, Compose

Last commit: 4 weeks ago🌟 45
🍴 7
👁️ 4open-event-attendee-androidfossasiaOpen Event Attendee Android General App https://github.com/fossasia/open-event-android/blob/apk/open-event-dev-app-playStore-debug.apk

Tech Stack : Koin, RxJava, Testing, Retrofit, Room, Stripe, PayPal, Mapbox, Paging, Data Binding, Navigation, LiveData, ViewModel

Last commit: 1 month ago🌟 1879
🍴 567
👁️ 36Resplashb-lamUnofficial Unsplash Android App

Tech Stack : Koin, Coroutines, Testing, Retrofit, Room, Firestore, Firebase In-App Messaging, Paging, Navigation, Google Play Billing, Muzei, LiveData, ViewModel

Last commit: 1 month ago🌟 471
🍴 93
👁️ 15MyCurationphicdyRSS Reader for Android with article filtering and curation

Tech Stack : Koin, Coroutines, Testing, Retrofit, Jsoup, WorkManager, Data Binding, Navigation, LiveData, ViewModel

Last commit: 1 month ago🌟 14
🍴 7
👁️ 1qksmsmoezbhattiThe most beautiful SMS messenger for Android

Tech Stack : Dagger, Coroutines, RxJava, Testing, Retrofit, Realm, ExoPlayer, Conductor, Data Binding, ShortcutBadger, LiveData, ViewModel

Last commit: 1 month ago🌟 3510
🍴 985
👁️ 132Noted-AndroidYahiaAngeloNoted app for android

Tech Stack : Koin dependency injection, Coroutines, Realm db, Material Components, Markdown, Navigation, LiveData, ViewModel

Last commit: 1 month ago🌟 65
🍴 9
👁️ 1WallPortalzedlabsMinimal Wallpapers for Android using Kotlin+Compose+MVVM+Hilt+Coroutines+Jetpack(Room, Paging, Navigation)

Tech Stack : Dagger Hilt, Coroutines, Retrofit, Room, Paging, Navigation, LiveData, ViewModel

Last commit: 1 month ago🌟 152
🍴 34
👁️ 4The-Movie-DB-KotlindangquanuetThe Movie DB app using Kotlin with updated Android features

Tech Stack : Koin, Coroutines, RxJava, Testing, Retrofit, Room, Paging, Data Binding, Easy Permissions, Navigation, LiveData, ViewModel

Tech Stack : Dagger Hilt, Coroutines, Testing, Retrofit, Room, LiveData, ViewModel

Last commit: 2 months ago🌟 1935
🍴 338
👁️ 52TeduPHELATTodo app but minimal, open-source, and free.

Tech Stack : Dagger, Room, Coroutines, Firebase Messaging, Navigation, LiveData, ViewModel

Last commit: 3 months ago🌟 126
🍴 21
👁️ 3MovieCatalogueryanrvldo

Tech Stack : ViewModel, LiveData, Coroutines, Firebase Cloud Messaging, Retrofit, Room, Glide, Dagger Hilt, and Google Material.

Last commit: 3 months ago🌟 13
🍴 1
👁️ 1apkupdaterrumboallaAPKUpdater is an open source tool that simplifies the process of finding updates for your installed apps.

Tech Stack : Koin, JSoup, Navigation, LiveData, ViewModel

Last commit: 3 months ago🌟 1238
🍴 140
👁️ 87ioschedgoogleThe Google I/O Android App

Tech Stack : Dagger Hilt, Coroutines, Testing, Room, Firestore, Firebase Auth, Firebase Messaging, Firebase Functions, Navigation, ARCore, LiveData, ViewModel

Last commit: 3 months ago🌟 20950
🍴 6195
👁️ 1469wanandroidlulululbjJetpack MVVM For Wanandroid 最佳实践 !

Tech Stack : Koin, Coroutines, Testing, Retrofit, Navigation, FlowLayout, LiveData, ViewModel

Last commit: 3 months ago🌟 1120
🍴 207
👁️ 19android-modular-architecturevmadalin📚 Sample Android Components Architecture on a modular word focused on the scalability, testability and maintainability written in Kotlin, following best practices using Jetpack.

Tech Stack : Dagger, Coroutines, Testing, Retrofit, Room, Navigation, Paging, Data Binding, LiveData, ViewModel

Last commit: 3 months ago🌟 2037
🍴 341
👁️ 89SimpleBiblemithun17Simple Bible is a light weight Bible app that lets you read the Bible, take notes, bookmark them and share with your friends.

Tech Stack : Dagger Hilt, Coroutines + Flow, ViewModel, Retrofit, Room, Navigation

Last commit: 4 months ago🌟 17
🍴 3
👁️ 1Pokedex-ARskydoves🦄 Android Pokedex-AR using ARCore, Sceneform, Hilt, Coroutines, Flow, Jetpack (Room, ViewModel, LiveData) based on MVVM architecture.

Tech Stack : Dagger Hilt, Coroutines, Retrofit, Room, ARCore, Sceneform, ViewModel, Data Binding, LiveData.

Last commit: 4 months ago🌟 441
🍴 36
👁️ 13NYTimes-AppTheCodeMonks🗽 A Simple Demonstration of the New York Times App 📱 using Jsoup web crawler with MVVM Architecture 🔥

Tech Stack : Coroutines, Room, JSoup, Navigation, LiveData, ViewModel

Last commit: 4 months ago🌟 386
🍴 49
👁️ 13rugby-rankerricknoutAn Android app for viewing and predicting the latest World Rugby rankings 🏉

Tech Stack : Dagger Hilt, Coroutines, Testing, Retrofit, Room, WorkManager, Navigation, insetter, LiveData, ViewModel

Last commit: 4 months ago🌟 267
🍴 40
👁️ 9expensesnominalistaApp written in Kotlin for budget tracking.

Tech Stack : Dagger, Coroutines, RxJava, Testing, Retrofit, Room, Firestore, Firebase Auth, Firebase Messaging, WorkManager, Navigation, LiveData, ViewModel

Last commit: 4 months ago🌟 307
🍴 68
👁️ 15DrawingsAppSharkaboiAn app to add and manage floor plan drawings with markers.

Tech Stack : Dagger Hilt, Coroutines, Room, Dhaval2404/ImagePicker, Subsampling Scale Image View, Navigation, LiveData, ViewModel

Last commit: 4 months ago🌟 22
🍴 3
👁️ 1MovieMancalvinnorAn open-source Android app for viewing Movies / TV information.

Tech Stack : Koin, Coroutines, Testing, Retrofit, Room, Navigation, LiveData, ViewModel

Last commit: 5 months ago🌟 65
🍴 13
👁️ 5MVVM-Architectureqingmei2The practice of MVVM + Jetpack architecture in Android.

Tech Stack : Dagger Hilt, Coroutines, RxJava, Testing, Retrofit, Room, Paging, Navigation, LiveData, ViewModel

Last commit: 5 months ago🌟 1629
🍴 264
👁️ 43topcorntheapache64A minimalistic movie listing app to browse IMDB’s top 250 movies, built to demonstrate MVVM with latest hot-trending Android development tools.

Tech Stack : Dagger, Coroutines, Testing, Retrofit, Room, LiveData, ViewModel

Last commit: 6 months ago🌟 169
🍴 31
👁️ 10DeezerClonefevziomurtekinThis Application using Dagger Hilt, Coroutines, Flow, Jetpack (Room, ViewModel, LiveData),Navigation based on MVVM architecture.

Tech Stack : Dagger Hilt, Coroutines, Flow, Jetpack (Room, ViewModel,Navigation LiveData), Retrofit, Paging, Testing

Last commit: 6 months ago🌟 75
🍴 5
👁️ 2GithubVisualizerdheerajkotwani📲 Android Application to track any user activity on Github built using the Github Developers API. Used Retrofit to fetch data and MVVM Architecture.

Tech Stack : Retrofit, Firebase Auth, Coroutines, LiveData, ViewModel

Last commit: 7 months ago🌟 76
🍴 16
👁️ 2wanandroidjianjunxiaoKotlin+JetPack+协程实现的MVVM架构Wanandroid客户端

Tech Stack : Coroutines, Retrofit, Room, LiveData, ViewModel

Last commit: 8 months ago🌟 226
🍴 41
👁️ 6MixUpGerardBradshawAn Android app for creating photo collages. This app demonstrates NavigationUI, Espresso testing, Robolectric testing, custom views, low-level UI manipulation, and more.

Tech Stack : Dagger, Coroutines, Testing, Navigation, ColorPicker, ViewModel

Last commit: 8 months ago🌟 25
🍴 10
👁️ 3roka-recipe-appfabirtAndroid recipes search App

Tech Stack : Dagger Hilt, Coroutines, Retrofit, Room, LiveData, ViewModel, Paging, Navigation, DataStore

Last commit: 8 months ago🌟 43
🍴 11
👁️ 3MusicPlayerZahraHeydariImplemented using Clean Arch, MVVM, LiveData, Room, Koin, Coil, Service, Notification and ExoPlayer

Tech Stack : Koin, Testing, Room, Firebase Storage, Firebase Auth, Firebase Messaging, Firebase Perf, Firebase Functions, Navigation, LiveData, ViewModel

Last commit: 8 months ago🌟 459
🍴 67
👁️ 8jetpack-release-trackerlmj0011Stay up to date on the latest AndroidX library releases.

Tech Stack : Coroutines, Testing, Fuel, Room, WorkManager, Data Binding, Navigation, LiveData, ViewModel

Last commit: 9 months ago🌟 85
🍴 16
👁️ 3BitlueandroiddevnotesforksBitlue is an app where you can check the Bitcoin’s current market price value (Bitcoin + value = Bitlue) and its records.

Tech Stack : Dagger Hilt, Coroutines + Flow, MPAndroidChart, Retrofit, LiveData, ViewModel

Last commit: 9 months ago🌟 9
🍴 4
👁️ 1flows-guideShivamdhuriaAndroid Application 🐕 based on offline first approach built using Dagger Hilt, Material Motion, Coroutines + Flow, Jetpack (Room, ViewModel, LiveData) based on MVVM architecture.

Tech Stack : Dagger Hilt, Coroutines, Flows, Retrofit, Room, Material Design Components, Navigation, LiveData, ViewModel

Last commit: 9 months ago🌟 162
🍴 22
👁️ 8droidconKE2020AppdroidconKEAndroid app fully written in Kotlin for droidconKE2020

Tech Stack : Koin, Coroutines, Testing, Retrofit, Room, Google Auth, Data Binding, Navigation, LiveData, ViewModel

Last commit: 9 months ago🌟 116
🍴 39
👁️ 15SpaceXFollowerOMIsie11Android app that helps You keep up with SpaceX 🚀

Tech Stack : Koin, Coroutines, Testing, Retrofit, Room, WorkManager, MPAndroidChart, Navigation, LiveData, ViewModel

Last commit: 9 months ago🌟 42
🍴 7
👁️ 2PexWallsGreyLabsDevWallpaper app based on pexels.com API. Kotlin/Clean/MVVM-like/SingleActivity

Tech Stack : Koin, Coroutines, RxJava, Retrofit, Room, Navigation, Markwon, LiveData, ViewModel

Last commit: 10 months ago🌟 26
🍴 8
👁️ 3feedappdievskiyCalorie tracker for android that supports recipes and products search.

Tech Stack : Dagger, Coroutines, RxJava, Testing, Retrofit, Room, Firestore, Firebase Auth, Facebook Login, WorkManager, MPAndroidChart, Data Binding, Navigation, LiveData, ViewModel

Last commit: 10 months ago🌟 42
🍴 7
👁️ 2vocable-androidwillowtreeappsVocable for Android

Tech Stack : Koin, Coroutines, Testing, Room, Data Binding, AR, LiveData, ViewModel

Last commit: 10 months ago🌟 85
🍴 6
👁️ 62TrackMyPathgs-tsAn Android app written in Kotlin that demonstrates a clean architecture with MVVM, Fused Location Provider, LifecycleService, and Coroutines. It is used as lab to test new Android features.

Tech Stack : Koin, Coroutines, Testing, Retrofit, Room, LiveData, ViewModel

Last commit: 11 months ago🌟 52
🍴 8
👁️ 3BitfinexClientgs-tsAn Android app written in Kotlin that demonstrates a clean architecture with MVVM, websockets using WebScoket client Scarlet, and RxAndroid/RxKotlin.

Tech Stack : Koin, RxJava, Testing, Scarlet, Room, Data Binding, LiveData, ViewModel

Last commit: 11 months ago🌟 11
🍴 7
👁️ 2Galleritauron567A sample Android gallery to search images posted on Reddit built using modern Android development tools (Architecture Components, MVVM, Coroutines, Flow, Navigation, Retrofit, Room, Koin)

Tech Stack : Koin, Coroutines, Testing, Retrofit, Room, Navigation, Data Binding, LiveData, ViewModel

Last commit: 11 months ago🌟 212
🍴 17
👁️ 4hiya-hiya-hiyautsmannnWhatsapp Clone base on Firebase Cloud Messaging

Tech Stack : Koin, Coroutines, Retrofit, Room, Firebase Messaging, Firebase Auth, WorkManager, Google Maps, Paging, JSoup, vanniktech/Emoji, afollestad/inline-activity-result, LiveData, ViewModel

Last commit: 11 months ago🌟 156
🍴 37
👁️ 5TvFlixreactivedroidTvFlix android app using Dagger Hilt, Coroutines, Flow, KTX, Jetpack(Room, ViewModel, Paging3, Lifecycle) based on MVVM architecture purely written in Kotlin

Tech Stack : Dagger Hilt, Coroutines, Testing, Retrofit, Room, Paging, Navigation, LiveData, ViewModel

Last commit: 12 months ago🌟 325
🍴 46
👁️ 13Covid-19-TrackerHariKulhari06Android app to track COVID-19 cases in India and globally.

Tech Stack : Dagger Hilt, Coroutines, Retrofit, Room, Firestore, WorkManager, Navigation, MPAndroidChart, LiveData, ViewModel

Last commit: 12 months ago🌟 119
🍴 31
👁️ 3CryptotrackerCharlieChristensen

Tech Stack : Dagger, Coroutines, Testing, socketIO, Retrofit, Room, MPAndroidChart, Navigation, LiveData, ViewModel

Last commit: 12 months ago🌟 3
🍴 1
👁️ 2NotesSyncKumarManas04Notes Sync is the answer to your everyday note taking requirements. It can encrypt and sync everything to the user’s own Google Drive or Dropbox accounts

Tech Stack : Coroutines, Testing, Room, Google Drive, Dropbox, WorkManager, Navigation, LiveData, ViewModel

Last commit: 1 year ago🌟 36
🍴 15
👁️ 1PhotosencommonpepperAndroid app for viewing and downloading Flickr photos.

Tech Stack : Retrofit, Room, Paging, LiveData, ViewModel

Last commit: 1 year ago🌟 5
🍴 2
👁️ 0ChangeDetectionbernaferrariAutomatically track websites changes on Android in background.

Tech Stack : Dagger, Coroutines, RxJava, Retrofit, Room, Firestore, WorkManager, Paging, Data Binding, Navigation, JSoup, js-evaluator-for-android, LiveData, ViewModel

Last commit: 1 year ago🌟 605
🍴 80
👁️ 18flexbooru-apflexbooruAn anime-pictures.net client for Android.

Tech Stack : Kodein, Coroutines, Retrofit, Room, WorkManager, Navigation, Markwon, LiveData, ViewModel

Last commit: 1 year ago🌟 49
🍴 6
👁️ 3MoonShotharoldadminA SpaceX companion app for Android

Tech Stack : Dagger, Coroutines, Testing, Retrofit, Room, WorkManager, Navigation, LiveData, ViewModel

Last commit: 1 year ago🌟 156
🍴 17
👁️ 8PukaPukaDevansh-MauryaAn Android app to identify books from their covers and give info, built using ML Kit’s Text Recognition API, Android Jetpack Libraries and Google Books API

Tech Stack : LiveData, ViewModel, Navigation Components, CameraKit, Firebase ML Kit Text Recognition API, Glide, Volley, Lottie

Last commit: 1 year ago🌟 11
🍴 1
👁️ 1Football-Appfionicholas⚽ Football App using MVVM, LiveData, RxJava2, DI, Room, Repository Patern

Tech Stack : LiveData, ViewModel, Retrofit, Room, Koin, RxJava, etc

Last commit: 1 year ago🌟 16
🍴 3
👁️ 1KnoteedkluivertKnote is a standard note taking app

Tech Stack : ViewModel, LiveData, Koin, Room db, Coroutines etc

Last commit: 1 year ago🌟 8
🍴 1
👁️ 2kotlin-mvvm-covid19rizmaulanaThis repository contains simple COVID19 data monitoring with android stack MVVM, Live Data, Koin, RxJava, RxBinding, Offline first with simple caching, etc

Tech Stack : LiveData, Koin, RxJava, RxBinding, Offline first with simple caching, Spek2Framwework for Unit Testing, etc

Last commit: 1 year ago🌟 399
🍴 115
👁️ 12AwesomeGithubidisfkj🔥 Android Github客户端,基于组件化开发,支持账户密码与认证登陆。使用Kotlin语言进行开发,项目架构是基于JetPack&DataBinding的MVVM;项目中使用了Arouter、Retrofit、Coroutine、Glide、Dagger与Hilt等流行开源技术。

Tech Stack : Coroutines, RxJava, Retrofit, Room, WorkManager, Paging, Navigation, Data Binding, ARouter, LiveData, ViewModel

Last commit: 1 year ago🌟 177
🍴 31
👁️ 5raffler-kotlinfibelattiA raffling app developed as a playground to study many topics related to Android. Kotlin + Coroutines + MVVM

Tech Stack : Dagger, Coroutines, Testing, Room, LiveData, ViewModel

Last commit: 1 year ago🌟 42
🍴 3
👁️ 3CovidNowOMIsie11Simple application for tracking Covid-19 info. Stay safe. 😷

Tech Stack : Koin, Coroutines, Testing, Retrofit, Room, MPAndroidChart, LiveData, ViewModel

Last commit: 1 year ago🌟 18
🍴 7
👁️ 2LetsChatsatyamurti🇮🇳 Open source Indian Chat application with new cool concepts.

Tech Stack : Coroutines, Retrofit, Firestore, Firebase Auth, Firebase Messaging, Firebase Storage, Cloud Functions, Data Binding, Navigation, LiveData, ViewModel

Tech Stack : Dagger, RxJava, Testing using Fakes, MockWebserver, RxRetrofit, Room, Navigation Components, Lottie, LiveData, ViewModel

Last commit: 1 year ago🌟 12
🍴 1
👁️ 2PasswordVaultabhinav0612An application where you can store all your password, bank details, card details in one place and access everything with only one master PIN. The application works totally offline.

Tech Stack : Dagger Hilt, Room, Navigation, LiveData, ViewModel

Last commit: 1 year ago🌟 26
🍴 7
👁️ 2PokemonGojnkforksJetpack 实战项目 PokemonGo(神奇宝贝)基于 MVVM 架构和 Repository 设计模式,如果这个仓库对你有帮助,请仓库右上角帮我 star 一下,非常感谢。

Tech Stack : Dagger Hilt, Koin, Coroutines, RxJava, Testing, Retrofit, Room, WorkManager, Paging, LiveData, ViewModel

Last commit: 1 year ago🌟 0
🍴 0
👁️ 1AppDevToolboxandyb129Collection of tools for Android app development in one place 🔧 🔨

Tech Stack : Dagger, Coroutines, RxJava, Room, Venom, LiveData, ViewModel

Last commit: 1 year ago🌟 21
🍴 4
👁️ 2PopularPeopleKhaledSherifSayedA 📱 Popular People app using Shared Elements between fragments with transformation motions based on MVVM (ViewModel, Coroutines, LiveData, Repository, Koin) architecture.

Tech Stack : Koin, Coroutines, Testing, Retrofit, Data Binding, Sandwich, LiveData, ViewModel

Last commit: 1 year ago🌟 13
🍴 3
👁️ 3MovieweylarA simple movie app

Tech Stack : Dagger, Coroutines, Retrofit, Room, WorkManager, Paging, Data Binding, Navigation, LiveData, ViewModel

Last commit: 1 year ago🌟 8
🍴 2
👁️ 1wiqaytna-androidWiqaytna-app

Tech Stack : RxJava, Testing, Room, Firebase Storage, Firebase Auth, Firebase Messaging, Firebase Perf, Firebase Functions, Navigation, LiveData, ViewModel

Last commit: 1 year ago🌟 166
🍴 68
👁️ 28awakerruzhan1116article app for android

Tech Stack : RxJava, Testing, Retrofit, Room, ExoPlayer, LiveData, ViewModel

Last commit: 1 year ago🌟 523
🍴 90
👁️ 17NewsFeedKevinGitongaA localized News reader Android app powered by newsapi.org

Tech Stack : Coroutines, Retrofit, Room, Pretty Time, LiveData, ViewModel

Last commit: 2 years ago🌟 9
🍴 2
👁️ 1MVVM-Architecture-Android-BeginnersMindorksOpenSourceThis repository contains a sample app that implements MVVM architecture using Kotlin, ViewModel, LiveData, and etc.

Tech Stack : Dagger, Coroutines, RXJava2, ViewModel, Data Binding, LiveData.

Tech Stack : Coroutines, Retrofit, Room, LiveData, ViewModel

Last commit: 2 years ago🌟 5
🍴 0
👁️ 0ArchAppPhilippeBoisneySimple Android app to show how to design a multi-modules MVVM Android app (fully tested)

Tech Stack : Koin, Coroutines, Testing, Retrofit, Room, Data Binding, Navigation, LiveData, ViewModel

Last commit: 2 years ago🌟 573
🍴 98
👁️ 16UpgurxiproxA very simple offline-first Imgur client app

Tech Stack : Dagger, Retrofit, Room, WorkManager, Navigation, android-upload-service, LiveData, ViewModel

Tech Stack : Coroutines, Retrofit, Room, Algolia, LocGetter, EasyValidation, Dexter, Splashy, secure-preferences, Paging, Data Binding, Navigation, LiveData, ViewModel

Last commit: 2 years ago🌟 44
🍴 4
👁️ 3Our-chatganainyPrivate chat app with realtime notification and support audio messages,image sharing,file sharing using MVVM architecture,Firebase authentication firestore,storage,FCM,cloud functions and facebook login

Tech Stack : Coroutines, Retrofit, Room, Firestore, Firebase Auth, Firebase Messaging, Facebook Login, WorkManager, Dexter, Data Binding, Navigation, LiveData, ViewModel

Last commit: 2 years ago🌟 13
🍴 5
👁️ 1AppLockeriammert🔐 Open source app locker, vault, call blocker application

Tech Stack : Dagger, RxJava, Room, WorkManager, Data Binding, RxPermissions, LiveData, ViewModel

Last commit: 2 years ago🌟 370
🍴 83
👁️ 21software-engineering-daily-androidSoftwareEngineeringDailyAndroid client for Software Engineering Daily

Tech Stack : Koin, Coroutines, Testing, Retrofit, Room, WorkManager, Exoplayer, Navigation, Android-Permissions, LiveData, ViewModel

Tech Stack : Koin, RxJava, Room, Firestore, Firebase Auth, Firebase Storage, Firebase Messaging, WorkManager, Data Binding, Paging, LiveData, ViewModel

Last commit: 2 years ago🌟 45
🍴 8
👁️ 3ExchangeRateAppkacperczyk-dev-old-projectsExchange Rates application written in Kotlin using Android Architecture Components (MVVM), Dagger 2, Retrofit, Room, Lottie, Coroutines and WorkManager

Tech Stack : Dagger, Coroutines, Retrofit, Room, WorkManager, Data Binding, MPAndroidChart, Navigation, LiveData, ViewModel

Tech Stack : Dagger, RxJava, Testing, Retrofit, Room, Data Binding, LiveData, ViewModel

Last commit: 3 years ago🌟 364
🍴 123
👁️ 20file.io-Android-Clientrumaan☁️ Unofficial file.io Android App 📱

Tech Stack : Testing, Fuel, Room, WorkManager, Navigation, PermissionsDispatcher, LiveData, ViewModel

Last commit: 3 years ago🌟 17
🍴 12
👁️ 3

NameAuthor ✍️Description 🗒️Reputation 💪
android-showcaseigorwojda💎 Android application following best practices: Kotlin, Coroutines, JetPack, Clean Architecture, Feature Modules, Tests, MVVM, DI, Static Analysis.

Tech Stack : Kodein, Coroutines, Testing, Retrofit, KAndroid, Lottie, Detekt, Navigation, Dynamic Feature Modules, LiveData, ViewModel

Last commit: 4 days ago🌟 5194
🍴 708
👁️ 138Coroutines-Flows-ModularisedferPrietoClean Architecture Modular Project: MVVM + Coroutines+ Flows + Dagger2 + LiveData + UnitTests + UITests + MockWebServer

Tech Stack : Dagger, Coroutines, Testing, Retrofit, Data Binding, Navigation, LiveData, ViewModel

Tech Stack : Kotlin, Coroutines, Flow, Dagger-Hilt, Kotlin-DSL, LiveData, Lifecycle, ViewModel, Room, Navigation, Data Binding, Material-Components, Retrofit, OkHttp, Moshi, Timber, Glide

Last commit: 2 weeks ago🌟 34
🍴 5
👁️ 2TheatreandremionPet project using Clean Architecture + MVVM + Reactive Extensions + Android Architecture Components. The data are fetched from LondonTheatreDirect API. 🎭

Tech Stack : Dagger, RxJava, Testing, Retrofit, Room, Navigation, Data Binding, LiveData, ViewModel

Tech Stack : Dagger, Unit Testing for modules, Mockito, RxJava, Retrofit, Room, CI-CD, SOLID, Code Coverage, Jacoco, Detekt, ktlint, Stetho, LiveData, ViewModel

Last commit: 2 months ago🌟 186
🍴 40
👁️ 6BLTaxiVladimirWrites🚕 BL Taxi is a simple app for calling a taxi in the city Banja Luka built using modern Android development tools

Tech Stack : Koin, Retrofit, Room, Data Binding, LiveData, View Model, Work Manager, Material Components

Last commit: 3 months ago🌟 339
🍴 39
👁️ 6PropertyFindARSmartToolFactory🏘 🎃 Real Estate Sample App with RxJava3+Coroutines Flow, Dynamic Feature Modules, Dagger Hilt, Offline First, ConcatAdapter, Animations and tests for Room, Retrofit, useCase and ViewModels with TDD.

Tech Stack : RxJava3, Coroutines Flow, Retrofit, Room, Dagger Hilt, Dynamic Feature Modules, ConcatAdapter, LiveData, ViewModel, SavedStateHandle, WorkManager, Glide, Lottie, MpCharts, MockWebServer, MockK, FlowTestObserver, ktLint, detekt, Git Hooks, Git Flow

Last commit: 4 months ago🌟 180
🍴 26
👁️ 13android-clean-architecturesansetsSample for Android Clean Architecture.

Tech Stack : Navigation Component, Dagger, Coroutines Flow, Room, Retrofit, LiveData, ViewModel, View Binding, Dynamic Feature Modules.

Tech Stack : Koin, Coroutines, Testing, Retrofit, Room, Data Binding, Motion Layout, LiveData, ViewModel

Last commit: 6 months ago🌟 427
🍴 82
👁️ 23Android-Kotlin-Clean-ArchitecturesanogueralorenzoAndroid Sample Clean Architecture App written in Kotlin

Tech Stack : Dagger Hilt, Testing, RxJava, Retrofit, AssistedInject, Epoxy, RxPaper, MvRx, ViewModel

Last commit: 1 year ago🌟 18
🍴 1
👁️ 1CoolWeatherakoufaWeather App that uses Android best practices. Android Jetpack, clean architecture. Written in Kotlin

Tech Stack : Dagger Hilt, Coroutines, Testing, Retrofit, Room, Navigation, LiveData, ViewModel

Last commit: 1 year ago🌟 175
🍴 12
👁️ 10

Tech Stack : Koin, Coroutines, RxJava, Retrofit, Room, Firestore, Firebase Auth, Firebase Storage, WorkManager, Navigation, Paging, LiveData, ViewModel

Last commit: 18 hours ago🌟 131
🍴 24
👁️ 5Open-API-Android-AppmitchtabianKotlin, MVI, Hilt, Retrofit2, Coroutines, Room Persistence, REST API, Token Authentication

Tech Stack : Dagger, Coroutines, Retrofit, Room, Navigation, LiveData, ViewModel

Last commit: 4 weeks ago🌟 480
🍴 200
👁️ 27GameDealzR4md4cA non-official Android client for IsThereAnyDeal.com

Tech Stack : Dagger, Coroutines, Testing, Retrofit, Room, WorkManager, acra, fastAdapter, Paging, JSoup, dropbox/Store, LiveData, ViewModel

Last commit: 4 months ago🌟 23
🍴 2
👁️ 5NewsFeed-MVI-DaggerHadySalhabAndroid News Application built in kotlin: MVI+Dagger+NetworkBoundResource+ViewModel+Livedata.

Tech Stack : Dagger, Coroutines, Testing, Retrofit, Room, WorkManager, Data Binding, Navigation, LiveData, ViewModel

Last commit: 2 years ago🌟 9
🍴 6
👁️ 1

NameAuthor ✍️Description 🗒️Reputation 💪
StarWarsSearch-MVIEzikeStar wars sample android project showcasing the use of View components for rendering UI in Fragments and Activities. Uses Android Jetpack, clean architecture with MVI (Uni-directional data flow), dagger hilt, and kotlin coroutines with StateFlow

Tech Stack : Jetpack, Dagger hilt, Coroutines & StateFlow, Room, Retrofit, FlowBinding

Last commit: 2 weeks ago🌟 138
🍴 22
👁️ 6Baking-App-KotlinEzikeAndroid architecture sample with dynamic feature modularisation, clean architecture with MVI (Uni-directional data flow), dagger hilt, DFM Navigation, kotlin coroutines with StateFlow and Exo player.

Tech Stack : Dagger hilt, Coroutines & StateFlow, Unit Testing, Retrofit, DFM Navigation, FlowBinding, Exoplayer

Last commit: 3 months ago🌟 349
🍴 73
👁️ 11CleanRxArchitecturelopspowerClean Rx Kotlin Architecture sample on GitHub Api 🚀

Tech Stack : Dagger, RxJava, Retrofit, Room, Clean Architecture, LiveData, ViewModel

Last commit: 4 months ago🌟 353
🍴 45
👁️ 15Clean-NotesmitchtabianClean Architecture by layer

Tech Stack : Dagger, Coroutines, Testing, Retrofit, Room, Firestore, Firebase Auth, Navigation, Markdown Processor, LiveData, ViewModel

Last commit: 8 months ago🌟 312
🍴 101
👁️ 12

NameAuthor ✍️Description 🗒️Reputation 💪
tachiyomitachiyomiorgFree and open source manga reader for Android.

Tech Stack : Inorichi injekt, Coroutines, RxJava, Testing, Retrofit, DiskLruCache, Jsoup, WorkManager, Duktape Android, Conductor

Last commit: 7 hours ago🌟 13672
🍴 1710
👁️ 516UTair-MVP-SampleImangazalievMAndroid Clean Architecture + MVP Sample written in Kotlin

Tech Stack : Clean Architecture, Coroutines, RxJava 2, Coroutines, Toothpick, Moxy, Unit-tests (Spek, Mockk), UI-tests (Kaspresso)

Last commit: 10 months ago🌟 27
🍴 5
👁️ 3

NameAuthor ✍️Description 🗒️Reputation 💪
shadowsocks-androidshadowsocksA shadowsocks client for Android

Tech Stack : Testing, Room, Firebase Ads, WorkManager

Last commit: 2 months ago🌟 32124
🍴 11524
👁️ 1629Scarlet-NotesBijoySinghSimple yet powerful rich note taking android application, with a lot of flexibilty of usage

Tech Stack : Dagger, Coroutines, Room, Firebase Auth, Firebase Database, Paging, Navigation, Evernote android-job, Facebook Litho, Facebook SoLoader, Biometric

Last commit: 11 months ago🌟 321
🍴 93
👁️ 19ScreenawayDimaBrodyPhone Screen Forced Locker

Tech Stack : Room, Play Install Referrer Library

Last commit: 1 year ago🌟 8
🍴 1
👁️ 1

Contributors are cool people.

If you contributed and are missing in this list, please send a PR including your entry in the list below! 🐣

исходники приложений на kotlin

About

👓 A curated list of awesome android kotlin apps by open-source contributors.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *