This is an Android application that allows users to create a list of vehicles they own or wish to purchase. The application provides login/signup support and uses SQLite for storing the database locally.
The Garage App provides the following features:
- User authentication: Users can create a new account or log in to an existing one.
- Car list: Users can create a list of Car they own or wish to purchase. Each Car can have a make name, model name, model id, make id and car image.
- Car details: Users can view the details of a vehicle.
- Add/edit/delete vehicles: Users can add a new vehicle, edit the car by adding car image, or delete a car from the list.
- Local database: The application uses SQLite for storing the database locally on the device.
The following technologies were used to build the Garage App:
- Java: The programming language used to develop the Android application.
- Android Studio: The IDE used to develop the Android application.
- SQLite: The database management system used to store the data locally on the device.
-
I choose SQL becasue SQLite is a popular choice for storing structured data locally on an Android device because it is lightweight, efficient, and provides a flexible SQL-based interface for organizing and querying data. It is optimized for small to medium-sized databases and can handle complex queries and transactions.
-
Whereas Room is an abstraction layer built on top of SQLite that provides a more convenient and type-safe way to work with databases in Android. It provides compile-time verification of SQL queries, a simplified data access API, and support for LiveData and RxJava for reactive programming. Room is suitable for larger, more complex databases or applications where compile-time safety is preferred.
-
Shared Preferences, on the other hand, are used to store small amounts of data in key-value pairs, typically for storing user preferences or application settings. Shared Preferences are not suitable for storing large amounts of structured data.
-
adding of car image and deleting car profie feature is not implemented due to shortage of time.
-
login/signup are backed up by SQLite but car profiles is not stored in locally.