INFO 448 A Au 20: Mobile Development: Android
Course Schedule
INFO 448 Android Mobile Development
Autumn 2020 | Remote
Instructor & TA Information
Instructor: Joel Ross
joelross@uw.edu
https://washington.zoom.us/my/joelross
Links to an external site.
Office Hours: Mon 1:30p-3:00p, Wed 8p-9:30p, and by appointment
Tow Mokaramanee
towm1204@uw.edu
https://washington.zoom.us/j/7197353581
Links to an external site.
Office Hours: Mon 3:30p-4:20p, and by appointment
Course Schedule
For complete assignment listing and deadlines, see the Assignments page.
Getting Started
Just joining us? Start by doing the following:
- COMPLETE the intro survey; this will also help us figure out how we need to accomodate you for an online course.
- READ the course syllabus. This will orient you to the course structure. THIS IS REQUIRED
- JOIN the class Piazza Links to an external site. board. Once you join, please post a reply to the introductions thread to say hello!
- INSTALL the required software: Android Studio Links to an external site. (version 4.0.1+)
Week 1 (Sep 28-Oct 04): Intro & Android Studio
This short week focuses on contextualizing the Android framework and getting you set up to do development.
Note: quarter begins on Wednesday!
Resources
- Lecture Notes: Introduction Links to an external site. (out of date)
- Codelab AKF 01.1: Get started Links to an external site.
- Codelab AKF 01.2: Anatomy of Basic Android Project Links to an external site.
Demo Videos
Assignments
Additional Resources
(The below resources will likely be useful throughout the course, though I have not vetted them or organized them by topic).
- Android Documentation Links to an external site.
- List of Online Android Training Courses Links to an external site.
- Android Basics in Kotlin Links to an external site. - online codelab based course from Google
Week 2 (Oct 05-11): Kotlin
This week focuses learning the basics of the Kotlin programming language (the current standard for Android development).
Resources
- Kotlin Documentation Links to an external site. (see "Getting Started")
- Android Basics: Introduction to Kotlin Links to an external site. - codelab course from Google
Demo Videos
- Kotlin Basics Links to an external site. (slides)
- Kotlin Classes Links to an external site. (slides)
Assignments
Additional Resources
If you find a particularly good Kotlin reference, let me know! The documentation isn't the greatest for beginners
Week 3 (Oct 12-18): Views & Resources
This week focuses developing and organizing Views in Android applications.
Resources
- Lecture Notes: Resources and Layouts Links to an external site.
- Lecture Notes: Activities Links to an external site.
Demo Videos
Additional Resources
Week 4 (Oct 19-25): Data-Driven Views
This week focuses on data-driven Views in Android: particularly the RecyclerView
.
Resources
Week 5 (Oct 26-Nov 01): Fragments & Navigation
This week introduces Fragments, an architecture component used to enable multiple "screens" of content.
Resources
- Lecture Notes: Fragments (out of date) Links to an external site.
- Fragments - Google Links to an external site.
- Getting started with the Navigation component - Google Links to an external site.
- Codelab AKF 03.2: Define navigation paths Links to an external site.
Demo Videos
Additional Resources
Week 6 (Nov 02-08): ViewModels; Network Access
This week will introduce the ViewModel component and architecture, and how it can be used to manage accessing data from the internet.
Resources
- Codelab AKF 8.1: Getting data from the internet Links to an external site.
- Codelab AKF: Loading and displaying images from the internet Links to an external site.
- ViewModel Overview - Google Links to an external site.
- LiveData Overview - Google Links to an external site.
Demo Videos
Additional Resources
- Viewmodels: A Simple Example - Android Developers Links to an external site.
- Codelab AKF 5.1: ViewModel Links to an external site.
- Codelab AKF: LiveData and LiveData observers Links to an external site.
Assignments
Week 7 (Nov 09-15): Intents, Menus, Notifications, & Settings
This week covers a number of small topics related to working "beyond the Activity".
Resources
- Lecture Notes: Intents Links to an external site.
- Lecture Notes: Notifications & Settings Links to an external site.
- Intents and Intent Filters - Google Links to an external site.
- Menus - Google Links to an external site.
- Settings - Google Links to an external site.
- Create a Notification - Google Links to an external site.
Demo Videos
Additional Resources
Week 8 (Nov 16-22): Review
This week can be used to review the material from earlier in the course while the professor gets things figured out.
Week 9 (Nov 23-29): Thanksgiving
This short week is Thanksgiving. We'll resume after the break.
Week 10 (Nov 30-Dec 06): Data Storage (Files, Preferences, Firebase)
This week focuses on how to store data within Android apps, both in the file system, in the SharedPreferrences, and in a remote database (e.g., Firebase).
Resources
- Lecture Notes: Files and Permissions Links to an external site. (slightly out of date)
- Data and file storage - Google Links to an external site.
- Codelab AKF 09.1: Shared preferences Links to an external site.
Demo Videos
Coming soon...
Week 11 (Dec 07-13): Location (Optional)
Since Android is about mobile development, this week focuses on location services in Android. Note that this material is not required for any assignments.
Week Finals (Dec 14-18)
