This is a simple Android app that calls the iTunes Public API to create a list of albums for a specified artist.
- Search field to type in the name of a Band / Singer / Artist
- Generate a list of all the albums for that artist
- Display the Album Artwork, Album Name, and Release Date
- Each row is clickable, displaying a small dialog with additional information
- Primary Genre Name
- Collection Price
- Currency
- Copyright
- Dialog with an "OK" button that dismisses the dialog
- Android Architecture ViewModel and Clean Architecture
- Written in Kotlin
- Uses Kotlin Flows
- On the UI side, Jetpack Compose
- Unit tests
- Uses Ktor and Dagger Hilt
- Install Android Studio
- Install the Java Development Kit (JDK) 17
- Install the Android SDK
- Install Gradle
Create a Result sealed class to manage the different states of the network result and loading, Which will offer a better user experience
- Kotlin 1.8.0 or higher
- Java 17 or higher
- Jetpack Compose
- Run with Android 7.0 or Higher
- Clone or download the iTunes Albums App repository from the source code repository.
- Open Android Studio and select "Open an existing Android Studio project."
- Navigate to the folder where the repository was cloned or downloaded, select the root folder of the project, and click "OK."
- Wait for Android Studio to build the project and download any necessary dependencies.
- Connect an Android emulator or physical device to your development machine.
- In Android Studio, click on the "Run" button or use the keyboard shortcut Shift + F10 to run the app.
- Select the emulator or device you want to run the app on and click "OK."
- The app should now launch on the selected emulator or device.
- Open the project in Android Studio.
- Click on the "Build" menu and select "Build Bundle(s) / APK(s)".
- In the "Build" window, select "Build APK".
- The APK file will be generated and saved in the "app/build/outputs/apk" directory of the project.
Note: Make sure to sign the APK before distributing it to end-users.
Contributions are always welcome. If you want to contribute, please fork the repository and make your changes. Then create a pull request to this repository.