CS/SE 3010: Android Application Development
Assignment: Final Project
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:
A variety of Fragments and Layouts, used to structure the various views for your application.
A web API client, used to retrieve a collection of data from a remote web service using an HTTP connection (Chapters 24–26).
- Be careful when choosing an API to implement. Some APIs are more difficult to work with than others.
- Choose an API that provides data in JSON format. Avoid XML-formatted data, for simplicity.
- Choose an API that uses an API key for authentication (or no authentication). Avoid OAuth, for simplicity.
- Do NOT choose an API that only returns a single record per response. You must retrieve and display a collection of data.
- In considering whether or not to move forward with an API, read its documentation and experiment before deciding.
- If you don’t have an API in mind, consider referring to a list such as this one or this one for inspiration.
A RecyclerView used to display the collection of data retrieved from the API, using an appropriate layout structure.
Any two of the following:
- One or more implicit intents, used to open other applications, such as a camera app (Chapters 15–16).
- Localization and/or accessibility considerations implemented throughout your application (Chapters 17–18).
- Audio playback, used to provide audible user feedback or play audio media (Chapter 19–20).
- A comprehensive visual design, implemented using styles, themes, and XML drawables (Chapters 21–22).
- A WebView, used to display web content not practically presentable with native widgets (Chapter 29).
- Custom drawing, implemented using custom views, touch events, and the Canvas and Paint classes (Chapter 30).
- Property animations implemented effectively within your application (Chapter 31).
- An approved alternative component or feature.
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.
- Refer to the Android developer documentation as needed when completing your assignment.
- 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 03/28/2022