Top Related Projects
Loop Habit Tracker, a mobile app for creating and maintaining long-term positive habits
Quick Overview
HabitRPG/habitica-android is the official Android app for Habitica, a gamified habit-tracking and productivity application. It allows users to manage their tasks, habits, and daily activities while earning rewards and progressing through a role-playing game-like experience on their mobile devices.
Pros
- Gamification elements increase user engagement and motivation
- Open-source project with an active community of contributors
- Regular updates and improvements to features and user interface
- Seamless integration with the Habitica web platform
Cons
- Some users report occasional syncing issues between the app and web version
- Limited offline functionality compared to the web version
- May be overwhelming for users new to habit-tracking or gamification concepts
- Resource-intensive, potentially affecting battery life on older devices
Code Examples
As this is a mobile application repository and not a code library, code examples are not applicable in this context.
Getting Started
Since this is not a code library but a mobile application, there isn't a typical "getting started" section with code snippets. However, here are brief instructions for developers interested in contributing to the project:
- Fork the repository on GitHub
- Clone your forked repository to your local machine
- Set up Android Studio and ensure you have the necessary SDKs installed
- Open the project in Android Studio
- Make your changes or additions to the codebase
- Test your changes thoroughly
- Create a pull request with a clear description of your modifications
For users who want to use the Habitica Android app:
- Download the app from the Google Play Store
- Create a Habitica account or log in with an existing account
- Start tracking habits, dailies, and to-dos while enjoying the gamified experience
Competitor Comparisons
Loop Habit Tracker, a mobile app for creating and maintaining long-term positive habits
Pros of uhabits
- Lightweight and focused solely on habit tracking
- Open-source with a clean, minimalist design
- Offline-first approach, ensuring privacy and data control
Cons of uhabits
- Lacks gamification elements and social features
- Limited customization options for habit types
- No cross-platform synchronization
Code Comparison
uhabits:
override fun onCheckmarkToggled(habit: Habit, timestamp: Timestamp) {
habit.originalEntries.toggle(timestamp)
notifyDataSetChanged()
}
habitica-android:
override fun onTaskDataReceived(taskList: List<Task>) {
val habits = ArrayList<Task>()
taskList.forEach { task ->
if (task.type == TaskType.HABIT) {
habits.add(task)
}
}
adapter.updateData(habits)
}
uhabits focuses on simple habit tracking with a straightforward toggle mechanism, while habitica-android incorporates a more complex task system with different types and data handling. The uhabits codebase is generally more concise and focused on core habit-tracking functionality, whereas habitica-android includes additional features related to its gamified approach and broader task management system.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Habitica for Android
Habitica is an open source habit building program which treats your life like a Role Playing Game. Level up as you succeed, lose HP as you fail, earn money to buy weapons and armor. This repository is related to the Android Native Application.
It's also on Google Play:
Having the application installed is a good way to be notified of new releases. However, clicking "Watch" on this repository will allow GitHub to email you whenever we publish a release.
What's New
See the project's Releases page for a list of versions with their changelogs.
View Releases
If you Watch this repository, GitHub will send you an email every time we publish an update.
Contributing
Thank you very much to all contributors.
How mobile releases work
All major mobile releases are organized by Milestones labeled with the release number. The 'Help Wanted' is added to any issue we feel would be okay for a contributor to work on, so look for that tag first! We do our best to answer any questions contributors may have regarding issues marked with that tag. If an issue does not have the 'Help Wanted' tag, that means staff will handle it when we have the availability.
The mobile team consists of one developer and one designer for both Android and iOS. Because of this, we switch back and forth for releases. While we work on one platform, the other will be put on hold. This may result in a wait time for PRs to be reviewed or questions to be answered. Any PRs submitted while we're working on a different platform will be assigned to the next Milestone and we will review it when we come back!
Given that our team is stretched pretty thin, it can be difficult for us to take an active role in helping to troubleshoot how to fix issues, but we always do our best to help as much as possible :) With this in mind, when selecting issues to work on it may be best to pick up issues you already have a good idea how to handle and test. Thank you for putting in your time to help make Habitica the best it can be!
Steps for contributing to this repository:
- Fork it
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Create new Pull Request
- Don't forget to include your Habitica User ID, so that we can count your contribution towards your contributor tier
Code Style Guidelines
We use Kotlin and follow the code style based on the Android Kotlin Style Guide.
Build Instructions
Config Files
-
Setup Habitica build config files by simply copying or renaming the example habitica files:
habitica.properties.example
tohabitica.properties
habitica.resources.example
tohabitica.resources
You also need
google-services.json
. Download it from Firebase in the next step.Note: this is the default production
habitica.properties
file for habitica.com. If you want to use a local Habitica server, please modify the values in the properties file accordingly. -
Go to https://console.firebase.google.com
a. Register/Login to Firebase. (You can use a Google account.)
b. Create a new project called Habitica
c. Create two apps in the project:
com.habitrpg.android.habitica
andcom.habitrpg.android.habitica.debug
d. Creating each app will generate a
google-services.json
file. Download thegoogle-services.json
file from the second app and put it in\Habitica\
and\wearos\
You can skip the last part of the app creation wizards (where you run the app to verify installation).
-
If using Android Studio, click Sync Project with Gradle Files. Update Android Studio if it asks you to update. Run Habitica.
Top Related Projects
Loop Habit Tracker, a mobile app for creating and maintaining long-term positive habits
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot