SlideShare a Scribd company logo
1 of 32
This work is licensed under the Apache 2.0 License
Android Study Jam 1
Day 1
Session 1 - Introduction to Kotlin
Mayuresh Kulkarni
@mayuresh8181 ( instagram )
Speakers
This work is licensed under the Apache 2.0 License
० Basic computer literacy
० Basic math skills
० Any One Language
० (Optional) Android device & USB cable
Prerequisites
This work is licensed under the Apache 2.0 License
What is Android Study Jam?
Android Study Jams are community-organized study groups for
people to learn how to build Android apps in the Kotlin
programming language, using the curriculum provided by Google.
Certificate of Participation
[Your Name]
For Attending a Three Day Workshop on Android
through Android Study Jams
Signed & Verified By
[ Location Name ] - 08/21/2021
[ Facilitator Name ]
Certificate of Completion
[Your Name]
For completion of the Android Basics in Kotlin Course
through the Android Study Jams program
Signed & Verified By
[ Location Name ] - 08/21/2021
[ Facilitator Name ]
This work is licensed under the Apache 2.0 License
Learning Objectives
० Learn the basics of the Kotlin programming language
० Discover resources to continue learning
० Build your first Android app
This work is licensed under the Apache 2.0 License
Let’s get started!
This work is licensed under the Apache 2.0 License
Create your Developers Profile at
https://developers.google.com/profile
This work is licensed under the Apache 2.0 License
Android Basics
in Kotlin Course
This work is licensed under the Apache 2.0 License
Unit 1: Kotlin
Basics
For Android
This work is licensed under the Apache 2.0 License
A Pathway
This work is licensed under the Apache 2.0 License
Take a Quiz
This work is licensed under the Apache 2.0 License
Earn badges!
This work is licensed under the Apache 2.0 License
Developer profile
Carrie Sawyer
Photo by Christopher Campbell on Unsplash
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)
(2 hours)
(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!
Android Basics in Kotlin
This work is licensed under the Apache 2.0 License
What will you learn?
6
5 Get user input
Display a scrollable
list
(2 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
Android Basics
7
Navigate between
screens
(2 hours)
Add another screen to your app by adding a
second activity.
8
Intro to Navigation
Component
(1 hour)
Learn how the Jetpack Navigation component makes
it easier to manage navigation within your app.
This work is licensed under the Apache 2.0 License
What will you learn?
10
9 Architecture
Components
Advanced
navigation examples
(2 hours)
(2 hours)
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.
(1 hour)
12 Get and display data from
the internet
Retrieve and display images over the internet with
HTTP and REST.
(1 hour)
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
(1 hour)
(2 hours)
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
(1 hour)
This work is licensed under the Apache 2.0 License
History of
Kotlin
This work is licensed under the Apache 2.0 License
What is Kotlin?
This work is licensed under the Apache 2.0 License
Kotlin v/s Java
Which one to use?
This work is licensed under the Apache 2.0 License
public class ClearBridge {
public static double calculate (double a, String op, double b)
throws Exception {
switch (op) {
case "add":
return a + b;
case "subtract":
return a - b;
case "multiply":
return a * b;
case "divide":
return a / b;
default:
throw new Exception();
}
}
}
Simple Arithmetic Program -
Java
This work is licensed under the Apache 2.0 License
fun calculate (a: Double, op: String, b: Double):
Double {
when (op) {
"add" -> return a + b
"subtract" -> return a - b
"multiply" -> return a * b
"divide" - > return a / b
else -> throw Exception()
}
}
Simple Arithmetic Program - Kotlin
This work is licensed under the Apache 2.0 License
Some important stuff…
This work is licensed under the Apache 2.0 License
Write and run Kotlin
code in the browser
Kotlin Playground
This work is licensed under the Apache 2.0 License
Official tool to build Android apps
Android Studio
This work is licensed under the Apache 2.0 License
Android Emulator / Real
Device
Emulate an Android device on your computer.
Run your app on the emulator / Run On Your
Original Device
This work is licensed under the Apache 2.0 License
Let’s Write Some
Kotlin Code
This work is licensed under the Apache 2.0 License
Writing Code in Kotlin
Printing some statements
fun main() {
println("no line break")
println("")
println("with line n break")
}
This work is licensed under the Apache 2.0 License
Writing Code in Kotlin
Declaring Variables in Kotlin
val age = 19 // Defining as val can’t be changed later
var name = "jaydeep" // Defining as var can be changed later
This work is licensed under the Apache 2.0 License
Writing Code in Kotlin
Printing a Variable
Syntax: ${variable}
E.g. println("Hey! My name is ${name}")
This work is licensed under the Apache 2.0 License
Switch to Kotlin
Playground

More Related Content

What's hot

Info session on android study jams
Info session on android study jamsInfo session on android study jams
Info session on android study jamsArjavDesai3
 
Android development-tutorial
Android development-tutorialAndroid development-tutorial
Android development-tutorialilias ahmed
 
Android study jams - new to programming track sessions 2
Android study jams - new to programming track sessions 2Android study jams - new to programming track sessions 2
Android study jams - new to programming track sessions 2alfinazilah
 
Android tutorial
Android tutorialAndroid tutorial
Android tutorialmaster760
 
Android study jams 1
Android study jams 1Android study jams 1
Android study jams 1DSCBVRITH
 
Week 1 - Android Study Jams
Week 1 - Android Study JamsWeek 1 - Android Study Jams
Week 1 - Android Study JamsJoannaCamille2
 
The First Ever Android Meet-up
The First Ever Android Meet-upThe First Ever Android Meet-up
The First Ever Android Meet-upvriddhigupta
 
Android study jams 2021 [collab] [master]
Android study jams 2021 [collab] [master]Android study jams 2021 [collab] [master]
Android study jams 2021 [collab] [master]GDSCIIITBbsr
 
Android Study Jam - Info Session
Android Study Jam - Info SessionAndroid Study Jam - Info Session
Android Study Jam - Info SessionAITIKDANDAPAT
 
Android study jams
Android study jamsAndroid study jams
Android study jamsNaveenK158
 
Prior programming experience track
Prior programming experience trackPrior programming experience track
Prior programming experience trackAshwinRaj57
 
Google I/O 2019 - what's new in Android Q and Jetpack
Google I/O 2019 - what's new in Android Q and JetpackGoogle I/O 2019 - what's new in Android Q and Jetpack
Google I/O 2019 - what's new in Android Q and JetpackSunita Singh
 
Android Workshop Part 1
Android Workshop Part 1Android Workshop Part 1
Android Workshop Part 1NAILBITER
 

What's hot (20)

Final session 1
Final session 1Final session 1
Final session 1
 
Info session on android study jams
Info session on android study jamsInfo session on android study jams
Info session on android study jams
 
Android development-tutorial
Android development-tutorialAndroid development-tutorial
Android development-tutorial
 
Android study jams - new to programming track sessions 2
Android study jams - new to programming track sessions 2Android study jams - new to programming track sessions 2
Android study jams - new to programming track sessions 2
 
Android tutorial
Android tutorialAndroid tutorial
Android tutorial
 
Android Study Jams Session 5
Android Study Jams Session 5Android Study Jams Session 5
Android Study Jams Session 5
 
Android study jams 1
Android study jams 1Android study jams 1
Android study jams 1
 
Week 1 - Android Study Jams
Week 1 - Android Study JamsWeek 1 - Android Study Jams
Week 1 - Android Study Jams
 
Android Study Jams Session 4
Android Study Jams Session 4Android Study Jams Session 4
Android Study Jams Session 4
 
The First Ever Android Meet-up
The First Ever Android Meet-upThe First Ever Android Meet-up
The First Ever Android Meet-up
 
Android study jams 2021 [collab] [master]
Android study jams 2021 [collab] [master]Android study jams 2021 [collab] [master]
Android study jams 2021 [collab] [master]
 
Android Study Jam - Info Session
Android Study Jam - Info SessionAndroid Study Jam - Info Session
Android Study Jam - Info Session
 
Android Study Jams - Session 1
Android Study Jams - Session 1Android Study Jams - Session 1
Android Study Jams - Session 1
 
Android Study Jams - Session 3
Android Study Jams - Session 3Android Study Jams - Session 3
Android Study Jams - Session 3
 
Android Study Jams - Session 2
Android Study Jams - Session 2Android Study Jams - Session 2
Android Study Jams - Session 2
 
Android study jams
Android study jamsAndroid study jams
Android study jams
 
Prior programming experience track
Prior programming experience trackPrior programming experience track
Prior programming experience track
 
Google I/O 2019 - what's new in Android Q and Jetpack
Google I/O 2019 - what's new in Android Q and JetpackGoogle I/O 2019 - what's new in Android Q and Jetpack
Google I/O 2019 - what's new in Android Q and Jetpack
 
Android Workshop Part 1
Android Workshop Part 1Android Workshop Part 1
Android Workshop Part 1
 
Study Jam Session 2
Study Jam Session 2Study Jam Session 2
Study Jam Session 2
 

Similar to Android Study Jam 1 Day 1 | December 2021 | GDSC BVCOENM

Google DSC Android Study Jams Session 1
Google DSC Android Study Jams Session 1Google DSC Android Study Jams Session 1
Google DSC Android Study Jams Session 1BeauWilliams7
 
GDSC - IIITB: Android Study Jams - Introductory Session
GDSC - IIITB: Android Study Jams - Introductory SessionGDSC - IIITB: Android Study Jams - Introductory Session
GDSC - IIITB: Android Study Jams - Introductory SessionShreytripathi6
 
Android study jams 1
Android study jams 1Android study jams 1
Android study jams 1NancyMariaAS
 
Android study jams 1
Android study jams 1Android study jams 1
Android study jams 1DSCBVRITH
 
Android study jams info session 2021 new GDSC GECBSP
Android study jams info session 2021 new GDSC GECBSPAndroid study jams info session 2021 new GDSC GECBSP
Android study jams info session 2021 new GDSC GECBSPDomendra Sahu
 
Android Study Jams Info Session 2021 | GDSC IIITA
Android Study Jams Info Session 2021 | GDSC IIITAAndroid Study Jams Info Session 2021 | GDSC IIITA
Android Study Jams Info Session 2021 | GDSC IIITATejasMane18
 
DSC Android Study Jam
DSC Android Study JamDSC Android Study Jam
DSC Android Study JamDSC GVP
 
ASJ Workshop - Introduction
ASJ Workshop - IntroductionASJ Workshop - Introduction
ASJ Workshop - IntroductionAmsavarthan Lv
 
Android Study Jam - Introduction
Android Study Jam - IntroductionAndroid Study Jam - Introduction
Android Study Jam - IntroductionHitanshDoshi
 
[EXTERNAL] Android Basics Sessions 1 _ 2 - Android Study Jams.pptx
[EXTERNAL] Android Basics Sessions 1 _ 2 - Android Study Jams.pptx[EXTERNAL] Android Basics Sessions 1 _ 2 - Android Study Jams.pptx
[EXTERNAL] Android Basics Sessions 1 _ 2 - Android Study Jams.pptxshahipc
 
Session-1 edited.pptx
Session-1 edited.pptxSession-1 edited.pptx
Session-1 edited.pptxscienceTech11
 
Android Study Jams - New to Programming [27th december]
Android Study Jams - New to Programming [27th december]Android Study Jams - New to Programming [27th december]
Android Study Jams - New to Programming [27th december]PragatiVerma31
 
Compose Camp Slide.pptx (1).pdf
Compose Camp Slide.pptx (1).pdfCompose Camp Slide.pptx (1).pdf
Compose Camp Slide.pptx (1).pdfAryanKhandelwal35
 
Kotlin Basics & Introduction to Jetpack Compose.pptx
Kotlin Basics & Introduction to Jetpack Compose.pptxKotlin Basics & Introduction to Jetpack Compose.pptx
Kotlin Basics & Introduction to Jetpack Compose.pptxtakshilkunadia
 

Similar to Android Study Jam 1 Day 1 | December 2021 | GDSC BVCOENM (20)

Google DSC Android Study Jams Session 1
Google DSC Android Study Jams Session 1Google DSC Android Study Jams Session 1
Google DSC Android Study Jams Session 1
 
GDSC - IIITB: Android Study Jams - Introductory Session
GDSC - IIITB: Android Study Jams - Introductory SessionGDSC - IIITB: Android Study Jams - Introductory Session
GDSC - IIITB: Android Study Jams - Introductory Session
 
Android study jams 1
Android study jams 1Android study jams 1
Android study jams 1
 
Android study jams 1
Android study jams 1Android study jams 1
Android study jams 1
 
Android study jams info session 2021 new GDSC GECBSP
Android study jams info session 2021 new GDSC GECBSPAndroid study jams info session 2021 new GDSC GECBSP
Android study jams info session 2021 new GDSC GECBSP
 
Gdsc android introduction
Gdsc android introductionGdsc android introduction
Gdsc android introduction
 
ASJ intro session
ASJ intro sessionASJ intro session
ASJ intro session
 
Android Study Jams Info Session 2021 | GDSC IIITA
Android Study Jams Info Session 2021 | GDSC IIITAAndroid Study Jams Info Session 2021 | GDSC IIITA
Android Study Jams Info Session 2021 | GDSC IIITA
 
Compose Camp 1.pdf
Compose Camp 1.pdfCompose Camp 1.pdf
Compose Camp 1.pdf
 
Compose Camp 1.pdf
Compose Camp 1.pdfCompose Camp 1.pdf
Compose Camp 1.pdf
 
DSC Android Study Jam
DSC Android Study JamDSC Android Study Jam
DSC Android Study Jam
 
ASJ Workshop - Introduction
ASJ Workshop - IntroductionASJ Workshop - Introduction
ASJ Workshop - Introduction
 
Android Study Jam - Introduction
Android Study Jam - IntroductionAndroid Study Jam - Introduction
Android Study Jam - Introduction
 
[EXTERNAL] Android Basics Sessions 1 _ 2 - Android Study Jams.pptx
[EXTERNAL] Android Basics Sessions 1 _ 2 - Android Study Jams.pptx[EXTERNAL] Android Basics Sessions 1 _ 2 - Android Study Jams.pptx
[EXTERNAL] Android Basics Sessions 1 _ 2 - Android Study Jams.pptx
 
Session-1 edited.pptx
Session-1 edited.pptxSession-1 edited.pptx
Session-1 edited.pptx
 
Introduction to android study jams
Introduction to  android study jamsIntroduction to  android study jams
Introduction to android study jams
 
Session-1.pptx
Session-1.pptxSession-1.pptx
Session-1.pptx
 
Android Study Jams - New to Programming [27th december]
Android Study Jams - New to Programming [27th december]Android Study Jams - New to Programming [27th december]
Android Study Jams - New to Programming [27th december]
 
Compose Camp Slide.pptx (1).pdf
Compose Camp Slide.pptx (1).pdfCompose Camp Slide.pptx (1).pdf
Compose Camp Slide.pptx (1).pdf
 
Kotlin Basics & Introduction to Jetpack Compose.pptx
Kotlin Basics & Introduction to Jetpack Compose.pptxKotlin Basics & Introduction to Jetpack Compose.pptx
Kotlin Basics & Introduction to Jetpack Compose.pptx
 

More from GDSCBVCOENM

The what and how's of cybersecurity
The what and how's of cybersecurityThe what and how's of cybersecurity
The what and how's of cybersecurityGDSCBVCOENM
 
Info session ppt
Info session pptInfo session ppt
Info session pptGDSCBVCOENM
 
GDSC BVCOENM - Google Cloud Study Jam October 2021 | Day 1 + Day 2
GDSC BVCOENM - Google Cloud Study Jam October 2021 | Day 1 + Day 2GDSC BVCOENM - Google Cloud Study Jam October 2021 | Day 1 + Day 2
GDSC BVCOENM - Google Cloud Study Jam October 2021 | Day 1 + Day 2GDSCBVCOENM
 

More from GDSCBVCOENM (6)

Ready set hack
Ready set hackReady set hack
Ready set hack
 
The what and how's of cybersecurity
The what and how's of cybersecurityThe what and how's of cybersecurity
The what and how's of cybersecurity
 
Info session ppt
Info session pptInfo session ppt
Info session ppt
 
Day 2 ppt
Day 2 pptDay 2 ppt
Day 2 ppt
 
Day 1 ppt
Day 1 pptDay 1 ppt
Day 1 ppt
 
GDSC BVCOENM - Google Cloud Study Jam October 2021 | Day 1 + Day 2
GDSC BVCOENM - Google Cloud Study Jam October 2021 | Day 1 + Day 2GDSC BVCOENM - Google Cloud Study Jam October 2021 | Day 1 + Day 2
GDSC BVCOENM - Google Cloud Study Jam October 2021 | Day 1 + Day 2
 

Recently uploaded

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Visualising and forecasting stocks using Dash
Visualising and forecasting stocks using DashVisualising and forecasting stocks using Dash
Visualising and forecasting stocks using Dashnarutouzumaki53779
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 

Recently uploaded (20)

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Visualising and forecasting stocks using Dash
Visualising and forecasting stocks using DashVisualising and forecasting stocks using Dash
Visualising and forecasting stocks using Dash
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 

Android Study Jam 1 Day 1 | December 2021 | GDSC BVCOENM

  • 1. This work is licensed under the Apache 2.0 License Android Study Jam 1 Day 1 Session 1 - Introduction to Kotlin Mayuresh Kulkarni @mayuresh8181 ( instagram ) Speakers
  • 2. This work is licensed under the Apache 2.0 License ० Basic computer literacy ० Basic math skills ० Any One Language ० (Optional) Android device & USB cable Prerequisites
  • 3. This work is licensed under the Apache 2.0 License What is Android Study Jam? Android Study Jams are community-organized study groups for people to learn how to build Android apps in the Kotlin programming language, using the curriculum provided by Google.
  • 4. Certificate of Participation [Your Name] For Attending a Three Day Workshop on Android through Android Study Jams Signed & Verified By [ Location Name ] - 08/21/2021 [ Facilitator Name ]
  • 5. Certificate of Completion [Your Name] For completion of the Android Basics in Kotlin Course through the Android Study Jams program Signed & Verified By [ Location Name ] - 08/21/2021 [ Facilitator Name ]
  • 6. This work is licensed under the Apache 2.0 License Learning Objectives ० Learn the basics of the Kotlin programming language ० Discover resources to continue learning ० Build your first Android app
  • 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 Create your Developers Profile at https://developers.google.com/profile
  • 9. This work is licensed under the Apache 2.0 License Android Basics in Kotlin Course
  • 10. This work is licensed under the Apache 2.0 License Unit 1: Kotlin Basics For Android
  • 11. This work is licensed under the Apache 2.0 License A Pathway
  • 12. This work is licensed under the Apache 2.0 License Take a Quiz
  • 13. This work is licensed under the Apache 2.0 License Earn badges!
  • 14. This work is licensed under the Apache 2.0 License Developer profile Carrie Sawyer Photo by Christopher Campbell on Unsplash
  • 15. 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) (2 hours) (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! Android Basics in Kotlin
  • 16. This work is licensed under the Apache 2.0 License What will you learn? 6 5 Get user input Display a scrollable list (2 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 Android Basics 7 Navigate between screens (2 hours) Add another screen to your app by adding a second activity. 8 Intro to Navigation Component (1 hour) Learn how the Jetpack Navigation component makes it easier to manage navigation within your app.
  • 17. This work is licensed under the Apache 2.0 License What will you learn? 10 9 Architecture Components Advanced navigation examples (2 hours) (2 hours) 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. (1 hour) 12 Get and display data from the internet Retrieve and display images over the internet with HTTP and REST. (1 hour)
  • 18. 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 (1 hour) (2 hours) 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 (1 hour)
  • 19. This work is licensed under the Apache 2.0 License History of Kotlin
  • 20. This work is licensed under the Apache 2.0 License What is Kotlin?
  • 21. This work is licensed under the Apache 2.0 License Kotlin v/s Java Which one to use?
  • 22. This work is licensed under the Apache 2.0 License public class ClearBridge { public static double calculate (double a, String op, double b) throws Exception { switch (op) { case "add": return a + b; case "subtract": return a - b; case "multiply": return a * b; case "divide": return a / b; default: throw new Exception(); } } } Simple Arithmetic Program - Java
  • 23. This work is licensed under the Apache 2.0 License fun calculate (a: Double, op: String, b: Double): Double { when (op) { "add" -> return a + b "subtract" -> return a - b "multiply" -> return a * b "divide" - > return a / b else -> throw Exception() } } Simple Arithmetic Program - Kotlin
  • 24. This work is licensed under the Apache 2.0 License Some important stuff…
  • 25. This work is licensed under the Apache 2.0 License Write and run Kotlin code in the browser Kotlin Playground
  • 26. This work is licensed under the Apache 2.0 License Official tool to build Android apps Android Studio
  • 27. This work is licensed under the Apache 2.0 License Android Emulator / Real Device Emulate an Android device on your computer. Run your app on the emulator / Run On Your Original Device
  • 28. This work is licensed under the Apache 2.0 License Let’s Write Some Kotlin Code
  • 29. This work is licensed under the Apache 2.0 License Writing Code in Kotlin Printing some statements fun main() { println("no line break") println("") println("with line n break") }
  • 30. This work is licensed under the Apache 2.0 License Writing Code in Kotlin Declaring Variables in Kotlin val age = 19 // Defining as val can’t be changed later var name = "jaydeep" // Defining as var can be changed later
  • 31. This work is licensed under the Apache 2.0 License Writing Code in Kotlin Printing a Variable Syntax: ${variable} E.g. println("Hey! My name is ${name}")
  • 32. This work is licensed under the Apache 2.0 License Switch to Kotlin Playground

Editor's Notes

  1. Let us begin! A very good evening to everyone present here. Welcome to Android Campaign 2021 and Android Study Jams. This is the 1st session of the 3 Study Jams that we have planned for you guys. We had posted a timeline a few days ago on our social media handles. We are going to follow that timeline religiously and expect you guys also to follow it accordingly, if not faster, please be at least at the same pace as the Study Jams. So, before we begin, I would like to introduce myself to you guys and tell a brief about myself first. I am Mayuresh Kulkarni, a final year Computer Engineering student of Bharati Vidyapeeth College of Engineering, Navi Mumbai. I am the Founder and Lead of the Google chapter in our campus that is GDSC BVCOE-NM, I was also the Google CloudReady Facilitator for 4 months from March to June 2021. Along with that, I am also a Microsoft Student Partner since January 2020. I have been to multiple research conferences at national and international level and presented my papers over there, also winning the award for best paper in the track in one of the international conferences. And finally, I will be the speaker for today’s session. I will try to share some of my knowledge of Android and Kotlin with you all. I have some experienced guys with me here on my team as well. So if you have any queries, please feel free to ask them without any hesitation. We would absolutely love to answer them.
  2. So, here are some the prerequisites that will be helpful for this session. 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. Since we would be using Android Studio, I encourage you all to use a wifi if possible, because installing and setting up Android Studio requires around 2GB of data upfront. Without that you cannot start developing applications. After this short presentation, we all be working independently on the course. 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.
  3. Let’s talk about what you will learn as part of this Study Jam of Android Campaign. 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.
  4. Now, without further ado, let us start with your Developer profile.
  5. Create your Google Developer profile by going to developers.google.com/profile There you will be asked to sign in using your Google account. Select the one which you want to use to complete the Android training course. Once it is setup, go to the course “Android Basics in Kotlin”
  6. You’ll be working through the Android Basics in Kotlin course. This is a free online training course developed by Google for people like yourself to learn how to build basic Android apps.
  7. The course is made up of units, and units are composed of pathways. In this session, 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, the 2nd unit and the 3rd unit, which is scheduled for tomorrow.
  8. You may be wondering, what is a pathway? So, a Pathway is an ordered sequence of activities to learn a specific skill. You need to complete some activites to complete the pathway. 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.
  9. 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. And most importantly, since this is a skill building task and not your college examination, copying and taking answers from internet would do more damage than good. Hence, I request everyone present here to give it an honest try by learning and understanding the concept and then attempting the quiz, rather than getting the answers from your friend or from internet.
  10. Moving on, After you pass the quiz, you earn a badge like this one! A badge is a sure shot proof of your efforts, hard work, time and energy that you have put into learning this skill. You can earn upto 16 badges minimum by the time you complete the entire course!
  11. The badges you earn are 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.
  12. These are all the 15 Pathways, their objectives and the learning outcomes of the Android Basics with Kotlin course. You can also see the estimated time given for that particular pathway. That is just the average time. You might even complete it faster than what Google has given. In most cases, you complete the task in 70% of the given time. But that depends very much on your PC as well. If Android Studio hangs or stops responding, then that troubleshooting time will increase. Anyways, on the right side you can see the badges that you will get after completing the Pathway. You can see these badges on your developer profile dashboard anytime you want. Have a look through the pathways and if you want take a screenshot for you to refer later, after the session. <wait for 30 seconds>
  13. You can even go through the pathways right now to get an idea of how much you would learn by the time you complete the training. <wait for 30 seconds>
  14. <wait for 30 seconds>
  15. <wait for 30 seconds> These are all the pathways of this course. I hope you all have noted down or taken screenshots for future reference.
  16. Now, let us understand a bit about the history of Kotlin language. In July 2011, JetBrains unveiled Project Kotlin, a new language for the JVM. The name is derived from the Kotlin Island. Kotlin was released on 15 February 2016. At Google I/O 2017, Google announced first-class support for Kotlin on Android. In 2019, Google announced that the Kotlin programming language is now its preferred language for Android app developers. With the release of Android Studio 3.0, Google gave the option to directly build Kotlin apps as an option while creating a new project. After a few months, Google also gave developers some additional tools and resources to port their apps into Kotlin, if they have already developed them in Java. So, Google is going all in with full force for support of Kotlin.
  17. Kotlin is an open-source, statically-typed programming language that supports both object-oriented and functional programming. Kotlin provides similar syntax and concepts from other languages, including C#, Java, and Scala, among many others. And, if its not already pretty clear, its main purpose is to build clean, robust applications that run better than their Java counterparts.
  18. Now, before learning Kotlin, let us understand why should we use Kotlin for app development and how does it compare with Java. Java was, and still is, one of the most famous and largely used programming language in IT industry. Even Android OS native apps were built on Java in the earlier days. Now, Google has changed almost all their apps to Kotlin. For beginner and a new developer, Kotlin should be the obvious answer between Kotlin and Java. If you ask me why, I would like to give you an example of simple arithmetic code in Java and the same functional code in Kotlin. Decide for yourself.
  19. This is the program for addition, subtraction, division and multiplication of 2 numbers, A and B. Look at the code and the number of lines it takes. Now, let us take a look at Kotlin
  20. This is the same program in Kotlin. Look at the simplicity of the code. For those coming from Python, I’m sure you all must be overjoyed yet again to see you got a lazier alternative to Java <ha ha> A very big advantage of Kotlin over Java is that Kotlin heavily focuses on functionality over code. You will understand this statement as and how you start using Kotlin in your apps.
  21. Here is some important stuff for you all to learn. All those who are bored, please wake up now, this is where things get interesting.
  22. 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!”). I will put the link to Kotlin playground in the chats.
  23. Next is Android Studio. 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.
  24. 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. You can either use the emulator or a physical device to test your app, it’s up to you and a personal preference. I personally like to use emulator, if anything goes wrong, I can delete the deivce from AVD manager and reinstall it in minutes. If anything happens to my phone, it will create actual problems for me. Also it is safer to use emulator since your apps will be less secure in the beginning. Hence, for learning purpose, I will highly recommend you use the emulator.
  25. Code Views After This
  26. Let us Switch to Kotlin Playground for better understanding