Найти в Дзене
Колыбель приложений

Наше приложение для Android "Прокрастинатор 2.0" уходит в open-source

Немногим меньше года назад мы опубликовали приложение "Прокрастинатор 2.0", которое многим пользователям пришлось по вкусу. Если коротко, то это небольшой личный помощник, совмещающий в себе планировщик задач и базу данных для хранения заметок. Подробнее можно почитать здесь: В нынешнем виде приложение представляет собой MVP, т.е. минимально жизнеспособный образец, который, однако, мы, по некоторым причинам, не можем дальше развивать. По крайней мере в прежнем темпе. Не пропадать же добру! Поэтому мы решили открыть исходный код приложения и сделать его общедоступным. Теперь любой желающий может ознакомиться с внутренним устройством приложения и, по желанию, внести нужные ему правки. А если сильно хочется, то и влить свои правки в наш репозиторий, чтобы мы опубликовали эти новшества в магазинах Google Play и RuStore. Ссылка на GitHub-репозиторий: https://github.com/phoenix-worker/questsOpenSource Коротко о технологиях, используемых в проекте Пара слов об идентификаторах и ключах подписи
Оглавление

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

В нынешнем виде приложение представляет собой MVP, т.е. минимально жизнеспособный образец, который, однако, мы, по некоторым причинам, не можем дальше развивать. По крайней мере в прежнем темпе.

Не пропадать же добру!

Поэтому мы решили открыть исходный код приложения и сделать его общедоступным. Теперь любой желающий может ознакомиться с внутренним устройством приложения и, по желанию, внести нужные ему правки. А если сильно хочется, то и влить свои правки в наш репозиторий, чтобы мы опубликовали эти новшества в магазинах Google Play и RuStore.

Ссылка на GitHub-репозиторий:

https://github.com/phoenix-worker/questsOpenSource

Коротко о технологиях, используемых в проекте

  • написан на Kotlin с использованием современного подхода "Одна Activity, множество Fragments", а также Navigation Framework, ViewModels, Coroutines
  • для работы с локальной базой данных используется Jetpack Room
  • абсолютное большинство экранов свёрстано с использованием View и XML, но есть немножко Compose (экран заметки) и самописные View
  • Есть хорошие примеры по использованию механизма будильников (Alarms) в Android и по формированию локальных уведомлений

Пара слов об идентификаторах и ключах подписи

Любое Android-приложение имеет свой идентификатор ("applicationId" в этом файле). Также перед установкой на устройство приложение должно быть подписано с помощью ключа. Наш ключ подписи из репозитория мы удалили из соображений безопасности, потому что приложение останется опубликованным в магазинах.

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

Поэтому во избежание инцидентов с потерей своих данных в "Прокрастинаторе 2.0" перед тем, как экспериментировать с исходным кодом, сделайте резервную копию своей базы данных с помощью функции экспорта на главном экране.

Open Source
12 тыс интересуются