0% found this document useful (0 votes)
57 views

Mobile App Development 700 Assignment Two - 2023

This document outlines two assignments for a Mobile Application Development course. Assignment One involves developing an Android contacts management app with a SQLite database backend and user interface. It also includes developing a quiz app with multiple choice and checkbox questions. Assignment Two requires developing an Android maps app allowing users to mark their current location and search for other locations using the Google Places API. Both assignments require submitting the projects as Android Studio solutions with documentation and screenshots.

Uploaded by

dropoutacademysa
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
57 views

Mobile App Development 700 Assignment Two - 2023

This document outlines two assignments for a Mobile Application Development course. Assignment One involves developing an Android contacts management app with a SQLite database backend and user interface. It also includes developing a quiz app with multiple choice and checkbox questions. Assignment Two requires developing an Android maps app allowing users to mark their current location and search for other locations using the Google Places API. Both assignments require submitting the projects as Android Studio solutions with documentation and screenshots.

Uploaded by

dropoutacademysa
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

FACULTY OF INFORMATION TECHNOLOGY

MOBILE APPLICATION DEVELOPMENT 700 – ASSIGNMENT TWO

Name & Surname: _ ICAS/ ITS No:

Qualification: Semester: Module Name:

Date Submitted:

ASSESSMENT CRITERIA MARK EXAMINER MODERATOR


ALLOCATI MARKS MARKS
ON
MARKS FOR CONTENT
QUESTION ONE 60
QUESTION TWO 40

TOTAL MARKS 100


TOTAL MARKS FOR ASSIGNMENT 100
Examiner’s Comments:

Moderator’s Comments:

Signature of Examiner: Signature of Moderator:


QUESTION ONE (60 Marks)
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) [30 Marks]

1.2. Create a Quiz app for Android using Java. The app should contain a total of 5 questions,
each having multiple choices. The quiz should be worth 20 marks in total, with each question
carrying 4 marks. The app should have the following features: The first question should have
three checkboxes with the following options:
• Option A: "Java"
• Option B: "Python"
• Option C: "C++" The correct answer for the first question is Option A and Option B.
The second question should have radio buttons with the following options:
• Option A: "True"
• Option B: "False" The correct answer for the second question is "True."

The third question should have four radio buttons with the following options:
• Option A: "1995"
• Option B: "2000"
• Option C: "2005"
• Option D: "2010" The correct answer for the third question is "2005."

The fourth question should have three checkboxes with the following options:
• Option A: "UI Design"
• Option B: "Database Management"
• Option C: "Network Security" The correct answer for the fourth question is Option B and
Option C.

The fifth question should have radio buttons with the following options:
• Option A: "2"
• Option B: "4"
• Option C: "6" The correct answer for the fifth question is "4."

Each question should have a "Next" button that takes the user to the next question. After
answering the fifth question, the app should display a "Submit" button. When the user clicks the
"Submit" button, the app should display a toast message showing the user's score out of 20.
The app should also have a "Reset" button to clear all selected answers and restart the quiz.
Use and layout of your choice to for the UI.
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). [30 Marks]
QUESTION TWO (40 Marks)

You required to create an Android app that integrates Google Maps. The app should allow users
to mark their current location on the map and display a marker with their current latitude and
longitude. Additionally, users should be able to search for a specific location and place a marker
on that location. Requirements:
Create an XML layout file for the main activity (activity_main.xml) that includes a
SupportMapFragment to display the Google Map. In the MainActivity Java class, implement the
functionality to display the Google Map and obtain the user's current location.
• Request necessary permissions to access the user's location.
• Display the Google Map centered at the user's current location with an appropriate zoom
level.
• Add a "Mark Current Location" button on the map that, when clicked, places a marker at
the user's current latitude and longitude.

Implement the ability to search for a specific location using the Google Places API.
• Add a search bar on top of the map where users can enter a location query.
• When the user submits a search query, use the Google Places API to fetch the location
details (latitude and longitude) for the entered query.
• Place a marker on the map at the searched location with an appropriate label.

When the user taps on any marker, display a toast message showing the latitude and longitude
of that location. Handle any necessary errors gracefully and provide appropriate error messages
to the user (e.g., if location services are disabled, if the user denies location permission, or if the
search query does not return any results).Note: To use the Google Maps API, you need to add
your API key to the AndroidManifest.xml file.
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). [40 Marks]

You might also like