Android Developer Fundamentals
Lesson Plan
Last updated Tue Nov 08 2016
By Jocelyn Becker
Copyright Google Inc. 2016
SHARED PUBLICLY
Lecture hours: 36, Practical hours: 65
Unit 1: The Basics
Setting up the Android Application Development Environment, Creating, Testing and
Debugging Applications
Lecture hours: 11
Practical hours: 21
1
Lesson 1. Build Your First App
This lesson covers:
- Installing Android Studio.
- Creating an Android app project.
- Deploying the app to an emulator and a device.
Lesson
- Building a layout with UI elements including a scrolling list.
hours:
- Learning where and how to get help with building applications.
5C
9P
1.0 Intro to Android
This lesson has:
Concept:
1.0 Intro to Android
Includes 1 slide deck and 1 reference chapter
Practicals:
none (This lesson is an overview only) 1C
1.1 Create Your First Android App
This lesson has:
Concept:
1.1 Create Your First Android App
Includes 1 slide deck and 1 reference chapter
Practicals: 1C
1.1 Install Android Studio and Run Hello World 2P
1.2 Layouts, Views and Resources
This lesson has:
Concept:
1.2 Layouts, Views and Resources
Includes 1 slide deck and 1 reference chapter
Practicals: 1C
1.2A Make Your First Interactive UI 2P
1.2B Using Layouts 2P
1.3 Text and Scrolling Views
1C
This lesson has: 2P
2
Concept:
1.3 Text and Scrolling Views
Includes 1 slide deck and 1 reference chapter
Practicals:
1.3 Working with TextView Elements
1.4 Resources to Help You Learn
This lesson has:
Concept:
1.4 Resources to Help You Learn
Includes 1 slide deck and 1 reference chapter
Practicals: 1C
1.4 Learning About Available Resources 1P
3
Lesson 2. Activities and Intents
This lesson covers:
- Understanding activities, which are the major building blocks of your app's user
interface.
- Understanding both implicit and explicit intents which are used to communicate
between activities.
Lesson
- The callback events you can implement to perform tasks in each stage of the
hours:
activity lifecycle.
3C
- How to handle activity instance.
6P
2.1 Activities and Intents
This lesson has:
Concept:
2.1 Activities and Intents
Includes 1 slide deck and 1 reference chapter
Practicals: 1C
2.1 Create and Start Activities 2P
2.2 Activity Lifecycle and Saving State
This lesson has:
Concept:
2.2 Activity Lifecycle and Saving State
Includes 1 slide deck and 1 reference chapter
Practicals: 1C
2.2 Activity Lifecycle and Instance State 2P
2.3 Activities and Implicit Intents
This lesson has:
Concept:
2.3 Activities and Implicit Intents
Includes 1 slide deck and 1 reference chapter
Practicals: 1C
2.3 Activities and Implicit Intents 2P
4
Lesson 3. Testing, debugging, and backwards
compatibility
This lesson covers:
- Using the debugger.
- Setting and muting breakpoints.
- Unit testing your code.
Lesson
- Using support libraries to ensure your app is backward compatible with previous
hours:
versions of Android.
3C
6P
3.1 Debugging Your App
This lesson has:
Concept:
3.1 Debugging Your App
Includes 1 slide deck and 1 reference chapter
Practicals: 1C
3.1 Using the Debugger 2P
3.2 Testing Your App
This lesson has:
Concept:
3.2 Testing Your App
Includes 1 slide deck and 1 reference chapter
Practicals: 1C
3.2 Testing Apps With Unit Tests 2P
3.3 The Android Support Library
This lesson has:
Concept:
3.3 The Android Support Library
Includes 1 slide deck and 1 reference chapter
Practicals: 1C
3.3 3.3 P: Using The Android Support Libraries 2P
5
Unit 2: User interface
Create adaptive, responsive user interfaces that work across a wide range of devices.
Lecture hours: 8
Practical hours: 16
6
Lesson 4. User interaction and intuitive
navigation
This lesson covers:
- Understanding and implementing different navigation paths through your
application.
Lesson
- Customizing user input methods and controls.
hours:
- Building responsive navigation.
4C
- Using buttons for navigation.
8P
4.1 User Input Controls
This lesson has:
Concept:
4.1 User Input Controls
Includes 1 slide deck and 1 reference chapter
Practicals: 1C
4.1 Using Keyboards, Input Controls, Alerts, and Pickers 2P
4.2 Menus
This lesson has:
Concept:
4.2 Menus
Includes 1 slide deck and 1 reference chapter
Practicals: 1C
4.2 Using An Options Menu 2P
4.3 Screen Navigation
This lesson has:
Concept:
4.3 Screen Navigation
Includes 1 slide deck and 1 reference chapter
Practicals: 1C
4.3 Screen Navigation Using the App Bar and Tabs 2P
4.4 RecyclerView
1C
This lesson has: 2P
7
Concept:
4.4 RecyclerView
Includes 1 slide deck and 1 reference chapter
Practicals:
4.4 Create a RecyclerView
8
Lesson 5. Delightful user experience
This lesson covers:
- Using themes and styles.
- Creating responsive user interfaces that use material design principles.
Lesson
- Creating layouts that work on different screen sizes and orientations.
hours:
- Creating accessible and easily localizable apps.
3C
6P
5.1 Drawables, Themes and Styles
This lesson has:
Concept:
5.1 Drawables, Themes and Styles
Includes 1 slide deck and 1 reference chapter
Practicals: 1C
5.1 Drawables, Themes and Styles 2P
5.2 Material design
This lesson has:
Concept:
5.2 Material design
Includes 1 slide deck and 1 reference chapter
Practicals: 1C
5.2 Add cards and use material design color themes 2P
5.3 Providing resources for adaptive layouts
This lesson has:
Concept:
5.3 Providing resources for adaptive layouts
Includes 1 slide deck and 1 reference chapter
Practicals: 1C
5.3 Supporting landscape, multiple screen sizes and localization 2P
9
Lesson 6. Testing your UI
Lesson
This lesson covers: hours:
1C
Testing your UI
2P
6.1 Testing the user interface:
This lesson has:
Concept:
6.1 Testing the user interface:
Includes 1 slide deck and 1 reference chapter
Practicals: 1C
6.1 Use Espresso to test your UI 2P
Unit 3: Background tasks
Perform background work and long-running tasks in Android applications
Lecture hours: 7
Practical hours: 13
10
Lesson 7. Background tasks
This lesson covers: Lesson
hours:
Establishing an internet connection, sending an HTTP request and parsing a JSON
4C
response. Running work asynchronously in the background.
7P
7.1 AsyncTask and AsyncTaskLoader
This lesson has:
Concept:
7.1 AsyncTask and AsyncTaskLoader
Includes 1 slide deck and 1 reference chapter
Practicals:
none (AsyncTaskLoader is included in the practical for Connect to the
Internet.) 1C
7.1 Create an AsyncTask 2P
7.2 Connecting to the Internet
This lesson has:
Concept:
7.2 Connecting to the Internet
Includes 1 slide deck and 1 reference chapter
Practicals: 1C
7.2 Connect to the Internet 3P
7.3 Broadcast receivers
This lesson has:
Concept:
7.3 Broadcast receivers
Includes 1 slide deck and 1 reference chapter
Practicals: 1C
7.3 BroadcastReceiver 2P
7.4 Services
1C
This lesson has:
Concept:
7.4 Services
11
Includes 1 slide deck and 1 reference chapter
Practicals:
none (no practical)
Lesson 8. Triggering, scheduling, and optimizing
background tasks
This lesson covers: Lesson
hours:
Scheduling and triggering background tasks. Using alarms, Job Scheduler,
3C
Broadcast Receivers. Understanding the impact of data transfer on battery power.
6P
8.1 Notifications
This lesson has:
Concept:
8.1 Notifications
Includes 1 slide deck and 1 reference chapter
Practicals: 1C
8.1 Notifications 2P
8.2 Alarm managers
This lesson has:
Concept:
8.2 Alarm managers
Includes 1 slide deck and 1 reference chapter
Practicals: 1C
8.2 Alarm manager 2P
8.3 Transferring data efficiently
This lesson has:
Concept:
8.3 Transferring data efficiently
Includes 1 slide deck and 1 reference chapter
Practicals: 1C
8.3 Job Scheduler 2P
12
Unit 4: Data -- saving, retrieving, and loading
Storing, sharing and retrieving data in Android applications
Lecture hours: 7
Practical hours: 15
Lesson 9. Shared Preferences and Settings
This lesson covers:
Lesson
Understand the different ways to store and retrieve data both in the app and
hours:
externally. Use Preferences to save key value pairs. Add functionality for users to
3C
set settings.
4P
9.0 Concepts: Overview to storing data
This lesson has:
Concept:
9.0 Concepts: Overview to storing data
Includes 1 slide deck and 1 reference chapter
Practicals:
none (This lesson is an overview only) 1C
13
9.1 Shared preferences
This lesson has:
Concept:
10.1 Shared preferences
Includes 1 slide deck and 1 reference chapter
Practicals: 1C
10.1 Set and retrieve shared preferences 2P
9.2 App settings
This lesson has:
Concept:
10.2 App settings
Includes 1 slide deck and 1 reference chapter
Practicals: 1C
10.2 Add settings to your app 2P
14
Lesson 10. Storing data with SQLite
Lesson
This lesson covers: hours:
2C
Store and query data in Android's SQLite database.
4P
10.1 SQLite primer
This lesson has:
Concept:
11.1 SQLite primer
Includes 1 slide deck and 1 reference chapter
Practicals:
none (This lesson is an overview only) 1C
10.2 store data using SQLite database
This lesson has:
Concept:
10.2 store data using SQLite database
Includes 1 slide deck and 1 reference chapter
Practicals: 1C
10.2A Save user data in a database 2P
10.2B Querying the SQLLite database 2P
15
Lesson 11. Sharing Data: Content resolvers and
content providers
This lesson covers: Lesson
hours:
Using Content Resolvers and Content Providers to provide an interface into the
1C
app's data.
5P
11.1 ContentProviders
This lesson has:
Concept:
11.1 ContentProviders
Includes 1 slide deck and 1 reference chapter
Practicals: 1C
11.1A Implement a simple content provider 2P
11.1B Add a ContentProvider to your app's database 2P
11.1C Use a ContentResolver to share data with other apps 1P
Lesson 12. Loading data using loaders
This lesson covers: Lesson
hours:
Efficiently loading data provided by another app's content provider in the
1C
background and displaying it to the user, when it is ready.
2P
12.1 Using loaders to load and display data
This lesson has:
Concept:
12.1 Using loaders to load and display data
Includes 1 slide deck and 1 reference chapter
Practicals: 1C
12.1 Use a loader with a content provider 2P
16
Unit 5: What's Next?
Learn how permissions, security and performance affect your app. Learn how
Firebase can help you build and test your app. Learn how to include monetization
strategies to make money from your app. Finally, make sure your app is ready to
share with the world, and publish it.
Lecture hours: 3
Practical hours: 0
Lesson 13. Permissions, performance and
security
This lesson covers:
Lesson
The next steps in adding features to
hours:
your app, understanding permissions performance,
1C
tips about monetization, and how to publish your app!
0P
13.1 Permissions, performance and security
This lesson has:
Concept:
13.1 Permissions, performance and security
Includes 1 slide deck and 1 reference chapter
Practicals:
none (This is an overview lecture, there is no practical) 1C
17
Lesson
hours:
1C
Lesson 14. Firebase and AdMob 0P
14.1 Firebase and AdMob
This lesson has:
Concept:
14.1 Firebase and AdMob
Includes 1 slide deck and 1 reference chapter
Practicals:
none (This is an overview lecture, there is no practical) 1 C
Lesson
hours:
1C
Lesson 15. Publish! 0 P
15.1 Publish your app
This lesson has:
Concept:
16.1 Publish your app
Includes 1 slide deck and 1 reference chapter
Practicals:
none (This is an overview lecture, there is no practical) 1C
That's all folks! THE END
18