Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

1.1. You are assigned to develop a personalized contacts management app for Android using Java and XML with a backend SQLite database. The app will

1.1. You are assigned to develop a personalized contacts management app for Android using Java and XML with a backend SQLite database. The app will allow users to store and manage their contacts' information efficiently. 

Requirements: 

User Interface: Design the user interface using XML to create an intuitive and user-friendly form for adding and updating contacts. The form should include the following fields: 

1. Contact Name (TextInputLayout not EditText) 

2. Contact Email (TextInputLayout not EditText t) 

3. Contact Phone Number (TextInputLayout not EditText t) 

4. Contact Birthday (DatePicker) 

5. Save Button (Button) to add a new contact or update an existing contact 

Database Schema: Define the structure of the SQLite database that will store the contact information. The database should have a single table named "Contacts" with the following columns: 

1. ID (Primary Key, Auto-increment) 

2. Name (Text) 

3. Email (Text) 

4. Phone Number (Text) 

5. Birthday (Text) Java 

Code Implementation: Implement the necessary Java classes to handle the database operations, including: 

1. DatabaseHelper: A subclass of SQLiteOpenHelper to manage database creation and version management. 

2. ContactModel: A POJO (Plain Old Java Object) class to represent a contact entity, and it should include appropriate getter and setter methods. 

3. ContactDAO (Data Access Object): A class to perform CRUD (Create, Read, Update, Delete) operations on the database. The class should contain methods for: 

• Inserting a new contact into the database. 

• Updating an existing contact's information. 

• Deleting a contact from the database. 

• Retrieving a list of all contacts from the database. 

• Querying contacts by their attributes (e.g., name, email, phone number, or birthday). 

Functionality: 

1. When the user opens the app, they should see a list of their saved contacts (if any) displayed in a RecyclerView or ListView. 

2. Users can tap on a contact in the list to view its details in the form fields. 

3. The user can add a new contact by entering the necessary information in the form and tapping the "Save" button. 

4. If the user taps on an existing contact in the list, the form should populate with that contact's details. The user can then edit the information and save the changes. 

5. The app should perform appropriate input validation to ensure that the required fields are filled correctly, such as valid email addresses and phone numbers. 

Other Enhancements: 

1. Allow users to sort and filter their contacts based on different attributes (e.g., name, birthday). 

2. Implement a search feature that allows users to search for specific contacts by name or email. 

3. Implement a "Delete" confirmation dialog to prevent accidental deletions. 

Submit your solution as a well-organized Android Studio project, including all the necessary XML layout files, Java classes, and any additional resources used. Ensure that your code is thoroughly commented and follows best coding practices for maintainability and readability. Also include screen shots of the UI that are necessary (A must do otherwise student will lose a lot of marks)

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Auditing An International Approach

Authors: Wally J. Smieliauskas, Kathryn Bewley

6th edition

978-0070968295, 9781259087462, 978-0071051415

More Books

Students also viewed these Programming questions

Question

Solve the equation y" + y' 6y = 0.

Answered: 1 week ago

Question

Describe how the neo-Freudians modified Freuds theory.

Answered: 1 week ago

Question

Describe how humanists such as Carl Rogers explain personality.

Answered: 1 week ago