A modern Android application to manage your contacts. The app allows users to create, view, update, and delete contacts using a simple and intuitive interface. It features a ViewPager2-based navigation to switch between All Contacts and Favorite Contacts.
This project follows the MVVM architecture, utilizes Room for local data persistence, and employs Data Binding for clean and efficient UI updates.
- View all contacts or favorite contacts using tabs with ViewPager2
- Add new contacts with name, number, email, and profile image
- Add profile images using the Android Photo Picker
- Mark/unmark contacts as favorites
- Edit and delete existing contacts
- Live UI updates using LiveData and Data Binding
- Local database using Room
- Follows MVVM (Model-View-ViewModel) architecture
| Home Page | Add Contact | Contact List |
|---|---|---|
![]() |
![]() |
![]() |
| Edit Contact | Delete Contact | Favorite Contact |
|---|---|---|
![]() |
![]() |
![]() |
- Language: Java
- Architecture: MVVM
- Database: Room (SQLite)
- UI Components:
- RecyclerView
- ViewPager2 with TabLayout
- Data Binding
- ConstraintLayout
- Lifecycle Components:
- ViewModel
- LiveData
- Main Screen: Tab layout with All Contacts and Favorites
- Add Contact: Input form with validation
- Update Contact: Modify existing contact details
- Empty State: Shows message when no contacts exist
- Clone the repository:
git clone https://github.com/rahulsrenj/Phone-Book-App.git





