← Back to Projects

Android Anime App

Android Anime App

As part of the UI2 course at KdG in May 2024, I developed a simple yet functional anime-themed mobile app using Android Studio, Kotlin, and Jetpack Compose. It was my first time working with Kotlin, and while the app's design is basic, this project taught me a lot about mobile development fundamentals, especially in areas like navigation, theming, state management, and using ViewModel with Compose.

Technologies used:

  • Kotlin

  • Jetpack Compose

  • Android Studio

Main screen

The main screen displays a list of all the anime currently stored in the app. Each anime entry shows a picture of the show, its genre, and a brief review. This overview allows users to easily browse through the available content at a glance.

At the bottom right, there's a floating action button that lets users add a new anime. On the top right, a cogwheel icon opens the settings menu.

AndroidAppMain

Settings Menu

The settings menu provides two main options:

  • Switch to dark mode, which changes the entire app's theme.

  • Toggle display details, which lets the user choose whether to show more or less information on the main screen.

Working on this part of the app helped me better understand theming in Jetpack Compose and how to manage user preferences across the UI.

AndroidAppSettings

Add Anime Screen

When the user taps the add button, they are brought to a form where they can enter the following details for a new anime:

  • Title

  • Release date

  • Genre

  • Studio

  • Rating

  • Completion status

  • Image URL or upload

Once the form is submitted, the anime is added to the list and displayed on the main screen.

AndroidAppAddAnime

Anime Details Screen

When an anime from the list is tapped, the app navigates to a detailed view showing:

  • The anime's title

  • Release date

  • Genre

  • Studio

  • Rating

  • An image of the anime

From this screen, users also have the option to edit or delete the selected anime.

AndroidAppAnime

Technical Learnings

This project gave me valuable experience with modern Android development. I learned to:

  • Use Jetpack Compose for building UI declaratively

  • Implement navigation between different screens

  • Work with ViewModel and manage state efficiently

  • Handle basic GET, POST, PUT, and DELETE operations for managing anime data

  • Apply dark/light theming and customize the user interface

Create forms and user input handling in Compose

Conclusion

Although the app is simple, it represents a major learning step in my Android development journey. I started with no Kotlin experience and limited UI knowledge, but through this project, I became much more confident in using Jetpack Compose, structuring an app with ViewModel, handling navigation, and applying themes.