Description
We collaborated with Google to create this curriculum for aspiring Android developers who are new to programming in order to ensure that you get the real-world skills you need to know how to build and accelerate your journey to becoming a professional Android Developer.
Syllabus:
Course 1: Android Basics: User Interface
Building Layouts: Part 1
- Create the basic structure of a single-screen app by placing layouts on a page and integrating images, buttons, and text.
Building Layouts: Part 2
- Group layouts to allow for more creativity and variation in your design.
Project: Build a Single Screen App
Create a single-screen app that displays information about a fictitious small business. Consider your favourite coffee shop, local restaurant, or that hidden gem that sells rare comic books or records.
Your design must include the following elements:
- Your company's name
- At least one photograph of the company
- At least two other pieces of information, such as:
- Contact information for the company (for example, phone number, email address, and website)
- Address of the Company
- Description of the Company
- Operating hours
Course 2: Android Basics: User Input
Making an APP interactive: Part 1
- Create interactive layouts utilizing buttons.
Making an APP interactive: Part 2
- Continue practicing creating an interactive user experience.
Object-Oriented Programming: Part 1
- Create an object in Java and call methods on that object
Object-Oriented Programming: Part 2
- Use booleans, conditions, and relational operators, and practice adding intents and styles to your app
Project: ScoreKeeper App
Create a Score Keeper app that allows a user to keep track of the score of two different teams playing a game of your choice.
This project aims to bring together various ideas and skills that we have been practising throughout the course:
- Incorporating button code into your app
- Views must be updated • Variables must be properly scoped • Views must be found using their ID
Project: Quiz App
The Quiz App project allows you to put everything you've learned in this section of the Nanodegree programme to use.
You will create your own Android app, from the concept stage to the finished product. You can distribute your app to family and friends, as well as other students in this course. The goal is to create an educational app that quizzes users on a topic of your choosing. We want you to think outside the box in terms of how you accomplish this. It is entirely up to you to decide what the quiz questions will be about and how they will be presented to your user. (For a reasonable scope of your app, we recommend 5-10 quiz questions.)
This project is about putting together various ideas and skills that we've been working on throughout the course. They are as follows:
- Plan your app design before coding.
- Converting an app layout from a sketch to XML code.
- View creation, positioning, and styling
- Using button clicks and Java code, create interactivity.
- Adding comments and documentation to your code.
Course 3: Android Basics: Multi-Screen Apps
Intents and Activities
- Use intents and activities to build our the structure of an app
Java Break: Interfaces
- Learn how to take advantage of Interfaces - a core OOP concept in Java that makes your code more flexible.
Arrays, List, Loops & Custom Classes
- Learn how to use arrays, lists, and loops to populate your app
Java Break: Loops
- Use for and while loops to iterate over a block of code. Learn how to write nested loops. Use 2D arrays to store and retrieve information.
Quick Guide to Gradle
- Learn how to work with gradle
Images and Visual Polish
- Polish image and visuals to improve the quality of your app.
Activity Lifecycle and Audio Playback
- Use an external library to add audio to your app.
Practice set: Activity Lifecycle and Audio Playback
- Solidify your understanding of the Activity Lifecycle and Audio Playback.
Fragments
- Modify the structure of an app to make a smoother user experience.
Project: Musical Structure App
The objective is to design and build the structure of a Music app. It should be noted that the app does not have to play music for this project. The goal of this project is to design the user flow of a music playing app using Intents, new Activities, Arraylists, Loops, and Custom Classes. There are numerous music player apps available, and it will be your responsibility to design the Java structure that will store and present song information to the user, as well as the user flow through the app. Will you create an app that plays music from the user's music library? Will you create an app that will play random songs from a database? Will you create a musical recommendation engine? It is entirely up to you to make those decisions!
This project is about putting together various ideas and skills that we've been working on throughout the course. They are as follows: • designing an app experience to achieve a specific goal • developing new activities
- Using explicit Intents to connect activities in your app; and • Using OnClickListeners to add behaviour to buttons with Java code.
- Creating your own Custom Class • Iterating over an ArrayList • Using an ArrayAdapter to populate a ListView or GridView
Project: Tour Guide App
You will create your own multi-screen Android app to share your knowledge of a city you know well. The goal is to develop a Tour Guide app that provides relevant information to visitors to your city. The app can provide a list of the city's top attractions, restaurants, public places, and events. It may contain all of the best-kept secrets known only to locals. It is entirely up to you to decide which categories to include and what information to include in each.
This project is about putting together various ideas and skills that we've been working on throughout the course. They are as follows:
- Planning your app's design and navigation before coding
- Choosing appropriate data structures to store lists of information
- Creating layouts to display those lists of data
- Navigating between lists in Fragments using a ViewPager or Navigation Drawer
- Creating your own Custom Class (if applicable)
Course 4: Android Basics: Networking
JSON Parsing
- Learn how to parse JSON, one of the most useful data formats.
HTTP Networking
- Learn how to connect to the internet in your Android code.
Threads & Parallelism
- Learn how to use threads to make your device do multiple things at once.
Preferences
- Learn how to add a new Settings Activity and use the user’s stored preferences to change the URL
Project: News App
Create a News Feed app that provides a user with regularly updated news from the internet about a specific topic, person, or location.
It is up to you to present the information as well as the topic.
This project is about combining various ideas and skills that we've been working on throughout the course. They are as follows:
- Connecting to an AP
- JSON response parsing
- Handling error cases with grace.
- Using an AsyncTask to perform network operations independent of the Activity lifecycle
- Using the Uri.Builder class to add query parameters to the URL