Android App for Anime which can sync with MyAnimeList [ FREE AND NO ADS! ]
- Synchronize with MyAnimeList to update what episodes you watched!**
- Built-in AdBlocker which blocks annoying ads and trackers
- Find Similar and Related Anime from shows you're watching
- Read information about an anime movies and anime shows
- This includes information such as score, rating, broadcast day, adaptions, sequels etc.
- See recommendations based on shows you like
- See a list of all popular, ongoing and airing shows
- Add notes to episodes you have watched
- Save a list of your favorite anime characters (aka Waifus or Husbandos)
- Find which characters play in a show and who their voice actors are.
- Don't know what to watch, use the Random Anime button
- Cleanup your MyAnimeList profile
- Bulk delete shows from your profile
- Quickly see how long it'll take before an Anime airs
- See the schedule of your favorite Anime
- Skip opening music for an Anime
- Search for shows based on filters
- Find anime wallpapers from your favorite show and batch-download them
- Look up anime songs and listen to them
- Find anime discussions about episodes on Reddit
Things you should know
- AnYme requires no app permission. So it can't look at your private files and send them to a server
- You need at least Android 4.4
- You can request new features on Reddit or the Discord server
- AnYme uses HTTPS when connecting to MAL, tho when creating a MAL account, I recommend you pick a password you do not use anywhere else
- You can login or register on Kanon through https://kanonapp.com/account/register on your phone
- AnYme is a MyAnimeList app. Other sources will not be added
- Please report ads. I can block them fairly easily.
- App Icon: LouieK22
How is AnYme build?
AnYme is a native Android application written in Java using Android Studio. It mostly consist of the Architecture Components from Google. The components are libraries which help me create robust code for the app while still being backwards comptible up to Android 4.4. Here are some example usages in the app:
LiveData and ViewModel
The LiveData component is used to update the user interface whenever a change happens in the database without having to manually pull the database or fully recreate the screen you're on. LiveData in conjuction with ViewModels also helps prevents any issues that come with configuration changes, such as needing to re-query the database after rotating your device.
Room is a wrapper for SQLite which allows me to do fancy selections over the dataset. All I have to do is annotate my existing models and Room will automatically create an abstraction layer for me. The great thing about Room is that it checks at compile time whether my queries are correct. Here is an example code for how I retrieve the users' top shows while still allowing a variable minimum score:
I use WorkManager to create tasks for code that needs to be executed in the background. I also make sure to only run it under specific conditions. For example: your profile will be updated upon app startup if you're connected to the network. WorkManager will assure that the task is only executed when possible. Here is how I update a profile: