This document provides an overview of topics that will be covered in an Android study jam session, including: setting up equipment like Android Studio and emulators; learning Kotlin programming basics; building several Android apps that demonstrate features like layouts, user input, lists, navigation between screens; understanding app architecture with Room and WorkManager for data persistence and background tasks; and retrieving data from the internet. The session will guide students through making their first Android app and building up their skills over 12 pathways and 15 lessons.
1. This work is licensed under the Apache 2.0 License
Android Study Jams
Session 5
T R Sai Rakshith
Technical Team Member
2. This work is licensed under the Apache 2.0 License
Let’s get started
3. This work is licensed under the Apache 2.0 License
Equipment needed for each student
० Computer
० Internet connection
० (Optional) Android device & USB cable
० Android Studio
4. This work is licensed under the Apache 2.0 License
Official tool to build Android apps
Android Studio
5. This work is licensed under the Apache 2.0 License
Android Emulator
Emulate an Android device on your computer.
Run your app on the emulator
6. This work is licensed under the Apache 2.0 License
० Basic computer literacy
० Basic math skills
० Computer & headphones
० Internet connection
० (Optional) Android device & USB cable
Prerequisites
7. This work is licensed under the Apache 2.0 License
Learning Objectives
० Build your first Android apps
० Set up Android Studio on your computer
० Learn the basics of the Kotlin programming language
8. This work is licensed under the Apache 2.0 License
What will you learn?
2
3
4
1 Introduction to Kotlin
Create your first
Android app
Build a basic layout
Add a button to an app
Learn to code in Kotlin, a modern programming
language that helps developers be more productive.
Learn to create and run your first Android app in
Android Studio.
Learn the basics of layouts in Android by creating your
very own birthday card app!
Learn how to use classes, objects, and conditionals to
create an interactive dice roller app.
Badges
Earn badges
at the end of each
pathway!
Android Basics
9. This work is licensed under the Apache 2.0 License
What will you learn?
6
5 Get user input
Display a scrollable
list
Learn how to get user input within an app by building a
tip calculator app.
Learn how to display a list of text and images in an
app.
Badges
Android Basics
7
Navigate between
screens
Add another screen to your app by adding a second
activity.
8
Intro to Navigation
Component
Learn how the Jetpack Navigation component makes
it easier to manage navigation within your app.
10. This work is licensed under the Apache 2.0 License
What will you learn?
10
9 Architecture
Components
Advanced
navigation examples
Learn good app architecture principles by building a
game app to unscramble words.
Combine what you’ve learned so far in a more
advanced app that demonstrates navigating
between multiple screens.
Badges
Android Basics
11 Coroutines Write code for more advanced and complex
Android apps.
12 Get and display data from
the internet
Retrieve and display images over the internet with
HTTP and REST.
11. This work is licensed under the Apache 2.0 License
What will you learn?
14
13 Introduction to SQL,
Room, and Flow
Use Room for data
persistence
Learn the basics of reading and manipulating data with
SQL, and how to create and use relational databases in
an Android app with the Room library.
Use the Room library to allow your apps to read
and write from a database.
Badges
Android Basics
15
Learn when and how to use WorkManager, an API that
handles background work that needs to run regardless
of whether the application process is still running.
Schedule tasks with
WorkManager
12. This work is licensed under the Apache 2.0 License
Concept Overview
13. This work is licensed under the Apache 2.0 License
० In computing, a database is simply a structured collection of data that can
be electronically accessed and written to.
० Databases can store any of the same information you can represent in an
app using Kotlin.
० On mobile devices, databases are commonly used to save data from a
running app so that it can be accessed the next time the app is opened,
without retrieving the data from another source, like the internet. This is
known as data persistence
Introduction to SQL
14. This work is licensed under the Apache 2.0 License
० When talking about data persistence, you'll often hear the term "relational
database."
० A relational database is a common type of database that organizes data into
tables, columns, and rows. When writing Kotlin code, you create classes that
represent objects.
० A table in a relational database works the same way. Besides representing
data, tables can also reference other tables so that you can have
relationships between them. A classic example would be a table of
"students", "teachers," and "course."
SQL and Relational Databases
15. This work is licensed under the Apache 2.0 License
Relationships in a table
16. This work is licensed under the Apache 2.0 License
० Learning to work with relational databases is a fundamental skill you'll take
with you throughout your programming journey.
० Knowing how relational databases work is also essential for implementing
data persistence in an Android application
० An easy way to use a database in an Android app is with a library called
Room. Room is what's called an ORM (Object Relational Mapping) library,
which as the name implies, maps the tables in a relational database to
objects usable in Kotlin code.
Introduction to ROOM
17. This work is licensed under the Apache 2.0 License
० WorkManager is the recommended solution for persistent work.
० Work is persistent when it remains scheduled through app restarts and
system reboots.
० Because most background processing is best accomplished through
persistent work, WorkManager is the primary recommended API for
background processing.
Work Manager
18. This work is licensed under the Apache 2.0 License
० Support for both asynchronous one-off and periodic tasks
० Support for constraints such as network conditions, storage space, and
charging status
० Chaining of complex work requests, including running work in parallel
० Output from one work request used as input for the next
Features of Work Manager
19. This work is licensed under the Apache 2.0 License
० Handling API level compatibility back to API level 14 (see note)
० Working with or without Google Play services
० Following system health best practices
० LiveData support to easily display work request state in UI
० WorkManager is the recommended solution for persistent work. Work is
persistent when it remains scheduled through app restarts and system
reboots. Because most background processing is best accomplished
through persistent work, WorkManager is the primary recommended API for
background processing.
Features of Work Manager
20. This work is licensed under the Apache 2.0 License
० WorkManager handles three types of persistent work:
० Immediate: Tasks that must begin immediately and complete soon. May be
expedited.
० Long Running: Tasks which might run for longer, potentially longer than 10
minutes.
० Deferrable: Scheduled tasks that start at a later time and can run
periodically.
Types of Persistent Work
21. This work is licensed under the Apache 2.0 License
THANK YOU
Editor's Notes
That’s all we’ll cover for today -- let’s get started!
Pathway 2 is where you create your first app! You will need to download and install Android Studio on your computer. This is the official tool that professional developers use for Android development. This is where you’ll be writing your Kotlin code and building your apps.
In Android Studio, you can also use the Android Emulator, which can emulate various Android devices on your computer. The emulator allows you to run your app and it provides almost all capabilities that a real Android device would have. If you do have a physical device and want to use it, there are also instructions in Pathway 2 to get you setup.
[Students can either use the emulator or a physical device to test their app, it’s up to personal preference.]
Here are some the prerequisites that will be helpful. Having basic computer literacy and basic math skills is recommended. You’ll also need a computer and access to the internet to take the online course. [Mention WiFi instructions if necessary.]
After this short presentation, we’ll all be working independently on the course. Use headphones to play the videos, so it doesn’t disrupt others around you.
It’s also helpful if you have an Android device so you can test your app. A USB cable will be needed for connecting your phone to the computer. If you don’t have an Android device, don’t worry, you can still use your computer to emulate an Android device.
Let’s talk about what you will learn as part of Android Basics. First and foremost, the goal is for you to build your first Android apps. To do this, you’ll install Android Studio on your computer, which is an application to build Android apps. Along the way, you will be exposed to programming concepts and the Kotlin language.
At the end, we’ll also talk about resources on how you can continue learning and building apps beyond this event.
Now that you’re familiar with the learning platform and how the course looks, let’s dive into some important concepts that you’ll be learning about.