It's time to create your very first Android app - a todo list app - that runs on a real Android device! You will learn the basic Android UI building blocks, and how they fit together to make a fully functional app.
This might seem intimidating at first, but you will soon have the ability to break down what you see on the screen into easily identifiable parts. Learning to both design an app and implement your designs are crucial skills to being a successful Android developer.
You will be working individually for this project. The project will be split into two phases. First, you will be creating two iterations of a paper prototype. You will be drawing the design of each screen, as well as describing what happens when the user interacts with each element on the screen. Make sure you receive instructor feedback after each iteration. Second, you will be coding the app itself. Implement the design you created in the first step using all of the knowledge you gained this week. Test both the layout and functionality of each screen as you create them. Don't wait until the end!
Your app must:
- Implement the prototype you created
- View a collection of to-do lists
- View items on a to-do list
- Allow the user to create a new to-do list
- Add items to each to-do list
- Display correctly in both landscape and portrait orientations
Bonus:
- Show an error message if invalid input is given
- Allow the user to check off and remove completed items
- Add an item detail screen that allows the user to give an optional description for each item.
As always, your app must adhere to General Assembly's student code of conduct guidelines.
If you have questions about whether or not your work adheres to these guidelines, please speak with a member of your instructional team.
- A git repository hosted on Github, with frequent commits dating back to the very beginning of the project. Commit early, commit often.
- A
readme.md
file describing what the app does, and any bugs that may exist. - Copies of your prototypes in the git repository
- One screenshot of your home screen in the
readme.md
- Complete as much of the layout XML as possible before starting to write your logic
- Use the Android API documentation - it is very thorough and provides useful code samples
- Don’t hesitate to write throwaway code to solve short term problems
- Write pseudocode before you write actual code (remember to think through the logic first!)
Below you can find an example of what the instructors' final product looks like. Be creative with your own designs!
Base on the requirements you can earn a maximum of 18 points on this project. Your instructors will score each of your technical requirements using the scale below:
Score | Expectations
----- | ------------
**0** | _Incomplete._
**1** | _Does not meet expectations._
**2** | _Meets expectations, good job!_
**3** | _Exceeds expectations, you wonderful creature, you!_
This will serve as a helpful overall gauge of whether you met the project goals, but the more important scores are the individual ones above, which can help you identify where to focus your efforts for the next project! Project-One