A personal finance tracking Android application built with Kotlin and Jetpack Compose. Track your expenses, manage categories, and monitor your spending habits.
- Add and track expenses
- Categorize expenses with predefined categories
- View spending summary and balance
- Local data persistence with Room database
- Modern Material Design 3 UI
Before you begin, ensure you have the following installed:
- Android Studio: Hedgehog (2023.1.1) or newer
- JDK: Java Development Kit 8 or higher
- Android SDK: API Level 34 (Android 14)
- Minimum Android version: API Level 24 (Android 7.0)
git clone <repository-url>
cd AndroidFinanceApp- Launch Android Studio
- Click "Open" or "File > Open"
- Navigate to the AndroidFinanceApp directory
- Click "OK" to open the project
Android Studio will automatically detect the Gradle files and prompt you to sync. If not:
- Click "File > Sync Project with Gradle Files"
- Wait for the sync to complete
Option A: Using an Emulator
- Open "Device Manager" in Android Studio
- Click "Create Device"
- Select a device (e.g., Pixel 5)
- Download and select a system image (API 24 or higher recommended)
- Finish the setup
Option B: Using a Physical Device
- Enable Developer Options on your Android device
- Enable USB Debugging
- Connect your device via USB
- Accept the USB debugging prompt on your device
- Select your target device/emulator from the device dropdown
- Click the "Run" button (green play icon) or press Shift+F10
- Wait for the build to complete
- The app will launch automatically on your device/emulator
app/src/main/java/com/financeapp/
├── data/
│ ├── local/ # Room database setup
│ ├── model/ # Data models
│ └── repository/ # Data repositories
├── ui/
│ ├── components/ # Reusable UI components
│ ├── screens/ # App screens
│ └── theme/ # Material theme configuration
├── navigation/ # Navigation setup
└── MainActivity.kt # Main entry point
- Language: Kotlin 1.9.20
- UI Framework: Jetpack Compose with Material 3
- Architecture: MVVM (Model-View-ViewModel)
- Database: Room 2.6.1
- Async: Kotlin Coroutines
- Navigation: Jetpack Navigation Compose
- Build System: Gradle (Kotlin DSL)
- Debug: Development build with debugging enabled
- Release: Optimized production build
To create a release build:
./gradlew assembleReleaseGradle sync fails:
- Ensure you have a stable internet connection
- Try "File > Invalidate Caches / Restart"
- Check that you have the correct JDK version
App won't run on device:
- Verify USB debugging is enabled
- Check that minimum SDK requirements are met (API 24+)
- Try running
./gradlew cleanand rebuilding
Build errors:
- Make sure Android SDK API Level 34 is installed
- Verify Kotlin plugin is up to date in Android Studio