SE 3010: Android Application Development
Assignment: Project Two
Requirements
Create an Android application for phones and/or tablets, starting from scratch, that is of your own creative design. Demonstrate the components and features of the Android SDK by including the following in your project:
At least two Fragments, each with its own layout and ViewModel.
At least one Activity, to host your various fragments.
Fragment arguments, used to pass data and state to the fragments.
A RecyclerView, Adapter, and ViewHolder, used to create a scrollable list of items.
A custom layout for the list item, containing at least 3-4 widgets to display content.
A listener for each list item that triggers some action when each list item is pressed.
A ConstraintLayout implemented somewhere in your application, using constraints correctly to effectively display its children.
A data model used throughout your application, consisting of:
one class implemented as a singleton (repository), used to maintain a collection of records and related logic.
at least one other class used to represent a record instance (entity): data members and related logic.
Data persisted into a database, implemented using Kotlin coroutines and the Room library provided by the Android SDK.
Before you start writing the code for your application, it is prudent to first generate an idea for the application you want to create, and then translate your idea into a visual representation of the application by creating wireframes and mockups, either on paper or using software.
Your application should be styled (using appropriate color, drawables, layout, typography, etc.) to look professional. You will be graded based on the effort you apply to create an application that is presentable to a client or customer.
Your application should be implemented using Android Studio and the Android SDK, and following the appropriate coding and naming conventions, software design and architectural patterns, and standards and principles suggested by the Android SDK (all as discussed in class and throughout the textbook).
While working on your project, you may leverage concepts and techniques from online tutorials and other resources, but the idea that you implement should originate from your own creative process. Your idea should differ significantly from any class or textbook example.
You may submit an out-of-class project for this assignment, provided that: 1) the project is developed independently by you, within the timeframe of this current semester, and 2) the project is not submitted for credit for any other assignment, in any other course, in any past, present, or future semester. Violating one or more of these conditions constitutes cheating.
Resources
- Refer to the Android developer documentation as needed when completing your assignment.
Submission
- Submit your project using Git and GitHub. Start by creating a repo for this assignment here.
- Show your completed assignment to the instructor during class or office hours to receive credit.
Last Updated 02/27/2024