Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Final session 1
1. This work is licensed under the Apache 2.0 License
Android Study Jam #1
Developer Student Clubs
RNSIT
Welcomes you to
2. This work is licensed under the Apache 2.0 License
What are Android Study
Jams?
Android Study Jams are community-organized study groups
for people to learn how to build Android apps
using an online training course.
3. This work is licensed under the Apache 2.0 License
What do you get out of it ?
● A perfect kickstart to your Android
Development journey
● A digital certificate of completion
● Feature an app developed by you on Google
Developer’s page
● Chance to be a core team member of DSC
RNSIT on successful completion
4. This work is licensed under the Apache 2.0 License
Why Android Development ?
● Open Source Code - Make what you want
● Play Store – Huge App Market
● Potential reach on over 2.5 billion active
android devices
● Booming Job Prospects
5. This work is licensed under the Apache 2.0 License
Why Kotlin ?
● Expressive & Concise
● Safer Code
● Interoperable with Java
● More Libraries and Jetpack
Compose
6. This work is licensed under the Apache 2.0 License
Android Development is Kotlin-First
7. This work is licensed under the Apache 2.0 License
Let’s get started
8. This work is licensed under the Apache 2.0 License
Where to start?
Choose a track that’s appropriate for you
New to programming? Have prior programming experience?
Start hereStart here
This work is licensed under the Apache 2.0 License
9. This work is licensed under the Apache 2.0 License
Android Study Jams
New to Programming Track
10. 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 (3 hours)
(1 hour)
(1 hour)
(1 hour)
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!
New to Programming Track
11. This work is licensed under the Apache 2.0 License
What will you learn?
6
5 Get user input
Display a scrollable
list
(3 hours)
(3 hours)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
New to Programming Track
12. This work is licensed under the Apache 2.0 License
० Basic computer literacy
० Basic math skills
० Computer
० Internet connection
० (Optional) Android device & USB cable
Prerequisites
13. 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
० Discover resources to continue learning
14. This work is licensed under the Apache 2.0 License
Unit 1: Kotlin
Basics
For Android
15. This work is licensed under the Apache 2.0 License
A Pathway
16. This work is licensed under the Apache 2.0 License
Take a Quiz
17. This work is licensed under the Apache 2.0 License
Earn badges!
18. This work is licensed under the Apache 2.0 License
Developer profile
Carrie Sawyer
Photo by Christopher Campbell on Unsplash
19. This work is licensed under the Apache 2.0 License
Unit 1
Pathways 1 through 3
20. This work is licensed under the Apache 2.0 License
Write and run Kotlin
code in the browser
Kotlin Playground
Pathway 1 Pathway 2 Pathway 3
21. This work is licensed under the Apache 2.0 License
Pathway 1 Pathway 2 Pathway 3
Official tool to build Android apps
Android Studio
22. 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
Pathway 1 Pathway 2 Pathway 3
23. This work is licensed under the Apache 2.0 License
Aa
Button
Layouts
Views
Layouts
Pathway 1 Pathway 2 Pathway 3
24. This work is licensed under the Apache 2.0 License
Unit 1
Pathway 4
25. This work is licensed under the Apache 2.0 License
Class and object instances
A class is like a blueprint, which contains
instructions for how to create something.
An object instance is an actual Dice that’s
created from the blueprint.
Object instance
A second object instance
A third object instance
Dice class
26. This work is licensed under the Apache 2.0 License
Have a Question? Just ask
Go to g.co/android/studyjams
Start your Android Development Journey
27. This work is licensed under the Apache 2.0 License
Share what you’ve
learned with
#AndroidStudyJams
Do follow DSC RNSIT on all the social
platforms.
Stay Tuned !!
28. This work is licensed under the Apache 2.0 License
Thank you !
DSC RNSIT
Editor's Notes
These are some of the key benefits that developers enjoy with Kotlin:
The Kotlin language is expressive and concise, allowing you to express your ideas with less code. This reduces the amount of boilerplate code in your project.
Kotlin helps you write safer code, with features that help you minimize common programming errors like NullPointerExceptions.
Kotlin is 100% interoperable with Java, which means you can call Java-based code from Kotlin and vice-versa. If you already have an existing Android app in Java, you can add as little or as much Kotlin to the project as you want.
Another key benefit that Kotlin offers is structured concurrency with Kotlin coroutines. They simplify background task management for everything from network calls to accessing local data, which are common for mobile apps.
Kotlin has many great language features, and Kotlin is now the #4 most loved programming language according to the Stack Overflow’s 2020 Survey.
Resources:
Kotlin
Stack Overflow Developer Survey in 2020
How does this relate to Android development? In 2017, Google announced that Kotlin would be another officially supported language on Android. Then in 2019, Google announced that Android development would become increasingly Kotlin-first, so that new tools and libraries will first be made available in Kotlin. To further their commitment, Google and JetBrains formed the Kotlin Foundation to protect, promote, and advance the Kotlin language.
Within the span of several years, Kotlin has seen rapid adoption in the Android developer ecosystem. Over 70% of the top 1000 Android apps use Kotlin and 60% of professional Android developers use Kotlin. There has never been a better time to start learning Kotlin to take advantage of the latest features on Android.
On that note, let’s dive in and look at the basics of what Kotlin code looks like.
Resources:
Android's Kotlin-first approach
That’s all we’ll cover for today -- let’s get started!
Hi everyone! My name is <Insert Name> and welcome to Android Study Jams! This is session 1 of the New to Programming Track.
This track is for people with little to no programming experience, we start at the beginning and you’ll learn how to build simple Android apps in Kotlin!
If you already have programming experience, consider the Prior Programming Experience track, where the content will be introduced at a faster pace.
Assuming you are in the right place, here are some the prerequisites that will be helpful for this track. 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 this New to Programming track of Android Study Jams. 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.
The course is made up of units, and units are composed of pathways.
In this track, we’ll be focused on the first unit, which is shown here. It has made up of 4 pathways. In Session 1, you’ll work on the first 3 pathways: 1) Introduction to Kotlin, 2) Create your first app, and 3) Build a basic layout. In Session 2, you’ll work on the 4th pathway, which is a little longer.
You may be wondering, what is a pathway? It’s an ordered sequence of activities to learn a specific skill. An activity can be a video, hands-on coding tutorial (known as a codelab), an article, or quiz. You can see at least 4 activities in this first pathway. All these activities are meant to help you reach specific learning objectives by the end of this pathway.
There’s a quiz at the end of each pathway to check your understanding of what you just learned. Here’s what a sample quiz looks like. There are no limits to the number of retries for a quiz. But if you get a question wrong, try to understand what the concept is (even if you need to look back at the source material), before answering again.
After you pass the quiz, you earn a badge like this one!
The badges you earn can be saved to your developer profile. When you are taking the course, be sure to sign in (in the top right corner) and create a developer profile if you haven’t already. It’s very quick to create. As you earn more badges, you can see them on your developer profile and favorite them, as shown here.
[Read more on the Google developer profile]
Start by working on the first pathway in Unit 1 of the Android Basics in Kotlin course.
To make it easier for you to learn, you’ll be writing your code in the Kotlin Playground which you can access via the web browser. The site looks something like this. You can write your code in this window and hit the green arrow to run it. The result of your code (known as the output) will show up at the bottom of the window (where it says “Hello, world!”).
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.]
The layout of an app is the design or arrangement of what the user sees on the screen. In Android, a layout is made up of Views.
In this session, you’ll complete Unit 1 of the Android Basics in Kotlin course by finishing Pathway 4: Add a button to an app. In this pathway, you’ll be building an interactive app called the Dice Roller app. It rolls a dice when the button is pressed and updates the screen with the result.
As you write Kotin code for your app, you’ll need to understand what classes and objects are. You can think of a class like a blueprint. It contains instructions for how to create something. From the Dice blueprint, you can create actual Dice.
More specifically, the Dice class contains details like what properties a Dice has (e.g. number of sides) and how it behaves (e.g. it can be rolled). The great advantage of having the Dice class is now you can create as many Dice object instances as you want, as shown in the diagram. It saves time from having to write all the same code over and over again. This makes your code more organized and easier to maintain.
[Optional: You could also use this analogy. A blueprint of a house contains the instructions of how to create the house. But the blueprint is not the house itself. The actual house is the object instance, and you can create multiple house object instances from the same blueprint.]
Alright, go ahead and get started on Unit 1, Pathway 1 of the Android Basics in Kotlin course. [You can give them about an hour to work on this]
If you finish early, you can move onto Pathways 2 and 3. We will be taking a break at <Insert Time>.
Hope you all enjoyed the game and learning to create the Dice Roller app!
On social media, remember to post photos or highlights from today using #AndroidStudyJams. [Include your own developer community and chapter hashtags (i.e. #developerstudentclubs #dsccmu)]