SlideShare a Scribd company logo
1 of 45
Download to read offline
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*
* Note: One session will utilize Kotlin
Koans material
This work is licensed under the Apache 2.0 License
New to Programming Track
Pre-requisites
Android Basics in Kotlin Course (here) with six
pathways currently available! More to come.
Learn the basics of building Android apps with the
Kotlin programming language and develop a collection
of simple apps to start your journey as an Android
developer!
● Basic computer
literacy
● Basic math skills
Curriculum used
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
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
More pathways for this course will be released in the
future!
New to Programming Track
This work is licensed under the Apache 2.0 License
First learn the essentials of the Kotlin programming language. Then learn the
fundamentals of Android development and best practices by building a variety
of Android apps in Kotlin.
Start off with Kotlin Koans exercises to become familiar with Kotlin syntax and
language features. If attendees are already familiar with the Kotlin programming
language, they can skip this step. Then begin the Android Kotlin Fundamentals
course which has ten pathways available.
Pre-requisites
● Prior programming experience in an object-oriented programming
language
● Familiar with how to use an IDE
● Familiar with GitHub
Curriculum used
● Kotlin Koans (here)
● Android Kotlin Fundamentals
(here)
Prior Programming Experience Track
This work is licensed under the Apache 2.0 License
1
2
3
What will you learn?
Kotlin Koans (2 hours)
Go through a series of exercises to
become familiar with basic Kotlin
language features.
Build your first
app
Install and set up Android Studio, so you
build your first "Hello, World!" Android
app in Kotlin.
(0.5
hours)
Layouts
Create different types of layouts, add
user interactivity, and use data binding
while creating two apps.
(1 hours)
Build an
interactive app
Learn the basic anatomy of an Android app
project, how to add images to your app, and
how to enable backward compatibility of an
app while creating a Dice Roller app.
(1 hours)
(No badge
for pre-
work)
Badges
Earn
badges
at the end
of each
pathway!
Prior Programming Experience
Track
Pre-
Work
This work is licensed under the Apache 2.0 License
4
5
6
7
What will you learn?
Navigation (3 hours)
Learn how multi-screen navigation works by
creating a fragment, define navigation paths,
and start an external activity through
developing a trivia app.
Activity and
Fragment
lifecycles
Learn about Activity and Fragment lifecycles,
how to handle complex lifecycle situations, and
use logging to help debug and track the state of
the app by creating the Dessert Clicker app that
will preserve its state on rotation.
(2 hours)
Architecture
components
Learn about ViewModel, LiveData, data binding
with ViewModel and LiveData, and LiveData
transformations by completing a charades game
app.
(3 hours)
Databases and
RecyclerView
Create a database using the Room library, use
coroutines to simplify asynchronous programming,
and display a list with RecyclerView in the
TrackMySleep app.
(4 hours)
Badges
Prior Programming Experience
Track
This work is licensed under the Apache 2.0 License
8
9
10
What will you learn?
Connect to the
internet
(2 hours)
Learn how to get data and images from the
internet and display them in the app by
developing a MarsRealEstate app.
Repository and
WorkManager
Create a repository, add an offline cache,
and schedule background tasks with
WorkManager by completing an app called
DevBytes, handling background processes
with best practices.
(2 hours)
Design for
everyone
Learn the basics of Android's styling
system, how to apply Material Design
principles to the UI of your app, and how
to make your app more accessible for all
users by creating a Google Developer
Groups Finder app.
(2 hours)
Prior Programming Experience
Track
Badges
This work is licensed under the Apache 2.0 License
Learning Objectives
० Learn the essentials of the Kotlin programming language
० Build a variety of Android apps
० Best practices for Android development
० Discover resources to continue learning
This work is licensed under the Apache 2.0 License
What’s your favorite programming
language and why?
This work is licensed under the Apache 2.0 License
Feature Highlight
No more nulls. The big
difference between
Kotlin and Java
This work is licensed under the Apache 2.0 License
Null Safety is here to stay
• Tony Hoare, who famously developed
the Quick Sort algorithm regards the
null reference as a ‘billion dollar
mistake’
• Kotlin partially does away with the null
reference by introducing a type system
that differentiates between nullable and
non-nullable references. For example:
This work is licensed under the Apache 2.0 License
Concept Overview
What is Kotlin?
This work is licensed under the Apache 2.0 License
Kotlin is a modern programming language that
helps developers be more productive.
This work is licensed under the Apache 2.0 License
Android Development is Kotlin-First
This work is licensed under the Apache 2.0 License
Let’s dive into
some code..
This work is licensed under the Apache 2.0 License
fun main() {
println("Hello world!")
}
What does this code
do?
This work is licensed under the Apache 2.0 License
fun main() {
println("Hello world!")
}
What does this code
do?
>>> Hello world!
This work is licensed under the Apache 2.0 License
fun main() {
println("Hello world!")
}
What do you notice about
Kotlin?
This work is licensed under the Apache 2.0 License
fun add(a: Int, b: Int): Int {
return a + b
}
fun display(): Unit {
println("Welcome")
}
Parameters and Return Type
This work is licensed under the Apache 2.0 License
mutable variable var counter: Int = 5
val name: String = "Rebecca"
immutable variable
This work is licensed under the Apache 2.0 License
var length = 5
val message = "Welcome"
What’s interesting about
these variable
declarations?
This work is licensed under the Apache 2.0 License
if (score < 20) {
println("Low")
} else if (score < 70) {
println("Medium")
} else {
println("High")
}
when (x) {
0 -> endGame()
1 -> moveNext()
2 -> skipTurn()
}
This work is licensed under the Apache 2.0 License
side
// This is the Square class
// definition
class Square(val side: Int)
// This is a Square instance
val s = Square(10)
println(s.side)
Classes
This work is licensed under the Apache 2.0 License
val numList = listOf(1, 2, 3)
val numSet = setOf(4, 5, 6)
val numMap = mapOf("a" to 10, "b" to 20, "b" to 30)
Collections
This work is licensed under the Apache 2.0 License
Break
This work is licensed under the Apache 2.0 License
Let’s get started
This work is licensed under the Apache 2.0 License
Start here:
g.co/android/studyjams
Collect your first
badge!
This work is licensed under the Apache 2.0 License
Carrie Sawyer
Build Your First
App Pathway
Build an Interactive
App
Layouts Pathway
Create a Developer
Profile
This work is licensed under the Apache 2.0 License
New to Programming
track
Start Course
This work is licensed under the Apache 2.0 License
New to programming? Start Here
Go to g.co/android/studyjams
Start Android Basics in Kotlin Course
Work on Unit 1, Pathway 1
This work is licensed under the Apache 2.0 License
Prior Programming
Experience track:
Start Kotlin Koans
This work is licensed under the Apache 2.0 License
Exercises
Check Error
Messages
Run Code &
Check
Output
Re-read
Instructi
ons
Show
Answers
Introduction, Conventions,
Collections
Go to g.co/android/studyjams and start Kotlin Koans
Coders: Start Here
This work is licensed under the Apache 2.0 License
Thanks!
This work is licensed under the Apache 2.0 License
Share what you’ve
learned with
#AndroidStudyJams
This work is licensed under the Apache 2.0 License
Additional Resources
Online curriculum
● Android Basics in Kotlin
Course
● Android Kotlin Fundamentals
Course
Android Resources
● Official Android Developers website
● Android Developers YouTube channel
● Android Developers Twitter
● Android Developers Medium blog
● Android Developers Official blog
● Android Developers Newsletter
● Android Codelabs
● Android GitHub page
Kotlin Language Resources
● Official Kotlin Language website
● Kotlin Learn by Example
● Kotlin Vocabulary series
Version
1.0
This work is licensed under the Apache 2.0 License
Let’s Play!
To find slides, content, links and more relating to
Android Study Jams visit the repo 👉
github.com/beauwilliams/Android-Study-Jams

More Related Content

What's hot

IPhone Web Development With Grails from CodeMash 2009
IPhone Web Development With Grails from CodeMash 2009IPhone Web Development With Grails from CodeMash 2009
IPhone Web Development With Grails from CodeMash 2009Christopher Judd
 
TensorFlow - La IA detrás de Google
TensorFlow - La IA detrás de GoogleTensorFlow - La IA detrás de Google
TensorFlow - La IA detrás de GoogleIsrael Blancas
 
Mobile Fest 2018. Enrique López Mañas. TensorFlow for Mobile Poets
Mobile Fest 2018. Enrique López Mañas. TensorFlow for Mobile PoetsMobile Fest 2018. Enrique López Mañas. TensorFlow for Mobile Poets
Mobile Fest 2018. Enrique López Mañas. TensorFlow for Mobile PoetsMobileFest2018
 
Google I/O 2018 Extended, Baghdad - Flutter
Google I/O 2018 Extended, Baghdad  - FlutterGoogle I/O 2018 Extended, Baghdad  - Flutter
Google I/O 2018 Extended, Baghdad - FlutterAbdElmomenKadhim
 
Introduction to flutter's basic concepts
Introduction to flutter's basic conceptsIntroduction to flutter's basic concepts
Introduction to flutter's basic conceptsKumaresh Chandra Baruri
 
Flutter festival Info session -2022
Flutter festival Info session -2022Flutter festival Info session -2022
Flutter festival Info session -2022Apoorv Pandey
 
TensorFlow Lite for mobile & IoT
TensorFlow Lite for mobile & IoT   TensorFlow Lite for mobile & IoT
TensorFlow Lite for mobile & IoT Mia Chang
 
All a flutter about Flutter.io
All a flutter about Flutter.ioAll a flutter about Flutter.io
All a flutter about Flutter.ioSteven Cooper
 
Flutter festival - Write your first Flutter application
Flutter festival - Write your first Flutter applicationFlutter festival - Write your first Flutter application
Flutter festival - Write your first Flutter applicationApoorv Pandey
 
Mobile Devolpment Slides
Mobile Devolpment SlidesMobile Devolpment Slides
Mobile Devolpment SlidesLuke Angel
 
What is flutter and why should i care?
What is flutter and why should i care?What is flutter and why should i care?
What is flutter and why should i care?Sergi Martínez
 
Build beautiful native apps in record time with flutter
Build beautiful native apps in record time with flutterBuild beautiful native apps in record time with flutter
Build beautiful native apps in record time with flutterRobertLe30
 
Cross-Platform App Development with Flutter, Xamarin, React Native
Cross-Platform App Development with Flutter, Xamarin, React NativeCross-Platform App Development with Flutter, Xamarin, React Native
Cross-Platform App Development with Flutter, Xamarin, React NativeKorhan Bircan
 

What's hot (20)

IPhone Web Development With Grails from CodeMash 2009
IPhone Web Development With Grails from CodeMash 2009IPhone Web Development With Grails from CodeMash 2009
IPhone Web Development With Grails from CodeMash 2009
 
TensorFlow - La IA detrás de Google
TensorFlow - La IA detrás de GoogleTensorFlow - La IA detrás de Google
TensorFlow - La IA detrás de Google
 
Mobile Fest 2018. Enrique López Mañas. TensorFlow for Mobile Poets
Mobile Fest 2018. Enrique López Mañas. TensorFlow for Mobile PoetsMobile Fest 2018. Enrique López Mañas. TensorFlow for Mobile Poets
Mobile Fest 2018. Enrique López Mañas. TensorFlow for Mobile Poets
 
Google I/O 2018 Extended, Baghdad - Flutter
Google I/O 2018 Extended, Baghdad  - FlutterGoogle I/O 2018 Extended, Baghdad  - Flutter
Google I/O 2018 Extended, Baghdad - Flutter
 
Introduction to flutter's basic concepts
Introduction to flutter's basic conceptsIntroduction to flutter's basic concepts
Introduction to flutter's basic concepts
 
Flutter festival Info session -2022
Flutter festival Info session -2022Flutter festival Info session -2022
Flutter festival Info session -2022
 
Flutter vs React Native 2019
Flutter vs React Native 2019Flutter vs React Native 2019
Flutter vs React Native 2019
 
TensorFlow Lite for mobile & IoT
TensorFlow Lite for mobile & IoT   TensorFlow Lite for mobile & IoT
TensorFlow Lite for mobile & IoT
 
All a flutter about Flutter.io
All a flutter about Flutter.ioAll a flutter about Flutter.io
All a flutter about Flutter.io
 
Choose flutter
Choose flutterChoose flutter
Choose flutter
 
Flutter Intro
Flutter IntroFlutter Intro
Flutter Intro
 
Flutter101
Flutter101Flutter101
Flutter101
 
Flutter festival - Write your first Flutter application
Flutter festival - Write your first Flutter applicationFlutter festival - Write your first Flutter application
Flutter festival - Write your first Flutter application
 
Mobile Devolpment Slides
Mobile Devolpment SlidesMobile Devolpment Slides
Mobile Devolpment Slides
 
What is flutter and why should i care?
What is flutter and why should i care?What is flutter and why should i care?
What is flutter and why should i care?
 
Flutter - DevFestDC
Flutter - DevFestDCFlutter - DevFestDC
Flutter - DevFestDC
 
Flutter
Flutter Flutter
Flutter
 
T2 Web Framework
T2 Web FrameworkT2 Web Framework
T2 Web Framework
 
Build beautiful native apps in record time with flutter
Build beautiful native apps in record time with flutterBuild beautiful native apps in record time with flutter
Build beautiful native apps in record time with flutter
 
Cross-Platform App Development with Flutter, Xamarin, React Native
Cross-Platform App Development with Flutter, Xamarin, React NativeCross-Platform App Development with Flutter, Xamarin, React Native
Cross-Platform App Development with Flutter, Xamarin, React Native
 

Similar to Google DSC Android Study Jams Session 1

Info session on android study jams
Info session on android study jamsInfo session on android study jams
Info session on android study jamsArjavDesai3
 
Android Study Jam 1 Day 1 | December 2021 | GDSC BVCOENM
Android Study Jam 1 Day 1 | December 2021 | GDSC BVCOENMAndroid Study Jam 1 Day 1 | December 2021 | GDSC BVCOENM
Android Study Jam 1 Day 1 | December 2021 | GDSC BVCOENMGDSCBVCOENM
 
Vit bhopal android study jams 2.0 session 1
Vit bhopal android study jams 2.0 session 1Vit bhopal android study jams 2.0 session 1
Vit bhopal android study jams 2.0 session 1ishik1
 
Android Study Jam - Info Session
Android Study Jam - Info SessionAndroid Study Jam - Info Session
Android Study Jam - Info SessionAITIKDANDAPAT
 
Android study jams 1
Android study jams 1Android study jams 1
Android study jams 1NancyMariaAS
 
Android study jam iiitv kick-off sesson
Android study jam iiitv   kick-off sessonAndroid study jam iiitv   kick-off sesson
Android study jam iiitv kick-off sessonAshutoshSingh1124
 
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
 
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 1DSCBVRITH
 
Android study jams 1
Android study jams 1Android study jams 1
Android study jams 1DSCBVRITH
 
Android Study Jams Session 01
Android Study Jams Session 01Android Study Jams Session 01
Android Study Jams Session 01DSC BIT Mesra
 
GDSC Info session and Compose Camp.pptx
GDSC Info session and Compose Camp.pptxGDSC Info session and Compose Camp.pptx
GDSC Info session and Compose Camp.pptxAbraarAhmadKhan
 
The First Ever Android Meet-up
The First Ever Android Meet-upThe First Ever Android Meet-up
The First Ever Android Meet-upvriddhigupta
 
Week 1 - Android Study Jams
Week 1 - Android Study JamsWeek 1 - Android Study Jams
Week 1 - Android Study JamsJoannaCamille2
 

Similar to Google DSC Android Study Jams Session 1 (20)

Info session on android study jams
Info session on android study jamsInfo session on android study jams
Info session on android study jams
 
Intro session kotlin
Intro session kotlinIntro session kotlin
Intro session kotlin
 
Android Study Jam 1 Day 1 | December 2021 | GDSC BVCOENM
Android Study Jam 1 Day 1 | December 2021 | GDSC BVCOENMAndroid Study Jam 1 Day 1 | December 2021 | GDSC BVCOENM
Android Study Jam 1 Day 1 | December 2021 | GDSC BVCOENM
 
Vit bhopal android study jams 2.0 session 1
Vit bhopal android study jams 2.0 session 1Vit bhopal android study jams 2.0 session 1
Vit bhopal android study jams 2.0 session 1
 
Android Study Jam - Info Session
Android Study Jam - Info SessionAndroid Study Jam - Info Session
Android Study Jam - Info Session
 
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
 
Android study jams 1
Android study jams 1Android study jams 1
Android study jams 1
 
Android study jam iiitv kick-off sesson
Android study jam iiitv   kick-off sessonAndroid study jam iiitv   kick-off sesson
Android study jam iiitv kick-off sesson
 
Final session 1
Final session 1Final session 1
Final session 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 - 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 Session 01
Android Study Jams Session 01Android Study Jams Session 01
Android Study Jams Session 01
 
Gdsc android introduction
Gdsc android introductionGdsc android introduction
Gdsc android introduction
 
ASJ intro session
ASJ intro sessionASJ intro session
ASJ intro session
 
GDSC Info session and Compose Camp.pptx
GDSC Info session and Compose Camp.pptxGDSC Info session and Compose Camp.pptx
GDSC Info session and Compose Camp.pptx
 
The First Ever Android Meet-up
The First Ever Android Meet-upThe First Ever Android Meet-up
The First Ever Android Meet-up
 
Week 1 - Android Study Jams
Week 1 - Android Study JamsWeek 1 - Android Study Jams
Week 1 - Android Study Jams
 

Recently uploaded

CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 

Google DSC Android Study Jams Session 1

  • 1. 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* * Note: One session will utilize Kotlin Koans material
  • 2. This work is licensed under the Apache 2.0 License New to Programming Track Pre-requisites Android Basics in Kotlin Course (here) with six pathways currently available! More to come. Learn the basics of building Android apps with the Kotlin programming language and develop a collection of simple apps to start your journey as an Android developer! ● Basic computer literacy ● Basic math skills Curriculum used
  • 3. 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
  • 4. 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 More pathways for this course will be released in the future! New to Programming Track
  • 5. This work is licensed under the Apache 2.0 License First learn the essentials of the Kotlin programming language. Then learn the fundamentals of Android development and best practices by building a variety of Android apps in Kotlin. Start off with Kotlin Koans exercises to become familiar with Kotlin syntax and language features. If attendees are already familiar with the Kotlin programming language, they can skip this step. Then begin the Android Kotlin Fundamentals course which has ten pathways available. Pre-requisites ● Prior programming experience in an object-oriented programming language ● Familiar with how to use an IDE ● Familiar with GitHub Curriculum used ● Kotlin Koans (here) ● Android Kotlin Fundamentals (here) Prior Programming Experience Track
  • 6. This work is licensed under the Apache 2.0 License 1 2 3 What will you learn? Kotlin Koans (2 hours) Go through a series of exercises to become familiar with basic Kotlin language features. Build your first app Install and set up Android Studio, so you build your first "Hello, World!" Android app in Kotlin. (0.5 hours) Layouts Create different types of layouts, add user interactivity, and use data binding while creating two apps. (1 hours) Build an interactive app Learn the basic anatomy of an Android app project, how to add images to your app, and how to enable backward compatibility of an app while creating a Dice Roller app. (1 hours) (No badge for pre- work) Badges Earn badges at the end of each pathway! Prior Programming Experience Track Pre- Work
  • 7. This work is licensed under the Apache 2.0 License 4 5 6 7 What will you learn? Navigation (3 hours) Learn how multi-screen navigation works by creating a fragment, define navigation paths, and start an external activity through developing a trivia app. Activity and Fragment lifecycles Learn about Activity and Fragment lifecycles, how to handle complex lifecycle situations, and use logging to help debug and track the state of the app by creating the Dessert Clicker app that will preserve its state on rotation. (2 hours) Architecture components Learn about ViewModel, LiveData, data binding with ViewModel and LiveData, and LiveData transformations by completing a charades game app. (3 hours) Databases and RecyclerView Create a database using the Room library, use coroutines to simplify asynchronous programming, and display a list with RecyclerView in the TrackMySleep app. (4 hours) Badges Prior Programming Experience Track
  • 8. This work is licensed under the Apache 2.0 License 8 9 10 What will you learn? Connect to the internet (2 hours) Learn how to get data and images from the internet and display them in the app by developing a MarsRealEstate app. Repository and WorkManager Create a repository, add an offline cache, and schedule background tasks with WorkManager by completing an app called DevBytes, handling background processes with best practices. (2 hours) Design for everyone Learn the basics of Android's styling system, how to apply Material Design principles to the UI of your app, and how to make your app more accessible for all users by creating a Google Developer Groups Finder app. (2 hours) Prior Programming Experience Track Badges
  • 9. This work is licensed under the Apache 2.0 License Learning Objectives ० Learn the essentials of the Kotlin programming language ० Build a variety of Android apps ० Best practices for Android development ० Discover resources to continue learning
  • 10. This work is licensed under the Apache 2.0 License What’s your favorite programming language and why?
  • 11. This work is licensed under the Apache 2.0 License Feature Highlight No more nulls. The big difference between Kotlin and Java
  • 12. This work is licensed under the Apache 2.0 License Null Safety is here to stay • Tony Hoare, who famously developed the Quick Sort algorithm regards the null reference as a ‘billion dollar mistake’ • Kotlin partially does away with the null reference by introducing a type system that differentiates between nullable and non-nullable references. For example:
  • 13. This work is licensed under the Apache 2.0 License Concept Overview What is Kotlin?
  • 14. This work is licensed under the Apache 2.0 License Kotlin is a modern programming language that helps developers be more productive.
  • 15. This work is licensed under the Apache 2.0 License Android Development is Kotlin-First
  • 16. This work is licensed under the Apache 2.0 License Let’s dive into some code..
  • 17. This work is licensed under the Apache 2.0 License fun main() { println("Hello world!") } What does this code do?
  • 18. This work is licensed under the Apache 2.0 License fun main() { println("Hello world!") } What does this code do? >>> Hello world!
  • 19. This work is licensed under the Apache 2.0 License fun main() { println("Hello world!") } What do you notice about Kotlin?
  • 20. This work is licensed under the Apache 2.0 License fun add(a: Int, b: Int): Int { return a + b } fun display(): Unit { println("Welcome") } Parameters and Return Type
  • 21. This work is licensed under the Apache 2.0 License mutable variable var counter: Int = 5 val name: String = "Rebecca" immutable variable
  • 22. This work is licensed under the Apache 2.0 License var length = 5 val message = "Welcome" What’s interesting about these variable declarations?
  • 23. This work is licensed under the Apache 2.0 License if (score < 20) { println("Low") } else if (score < 70) { println("Medium") } else { println("High") } when (x) { 0 -> endGame() 1 -> moveNext() 2 -> skipTurn() }
  • 24. This work is licensed under the Apache 2.0 License side // This is the Square class // definition class Square(val side: Int) // This is a Square instance val s = Square(10) println(s.side) Classes
  • 25. This work is licensed under the Apache 2.0 License val numList = listOf(1, 2, 3) val numSet = setOf(4, 5, 6) val numMap = mapOf("a" to 10, "b" to 20, "b" to 30) Collections
  • 26. This work is licensed under the Apache 2.0 License Break
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35. This work is licensed under the Apache 2.0 License Let’s get started
  • 36. This work is licensed under the Apache 2.0 License Start here: g.co/android/studyjams Collect your first badge!
  • 37. This work is licensed under the Apache 2.0 License Carrie Sawyer Build Your First App Pathway Build an Interactive App Layouts Pathway Create a Developer Profile
  • 38. This work is licensed under the Apache 2.0 License New to Programming track Start Course
  • 39. This work is licensed under the Apache 2.0 License New to programming? Start Here Go to g.co/android/studyjams Start Android Basics in Kotlin Course Work on Unit 1, Pathway 1
  • 40. This work is licensed under the Apache 2.0 License Prior Programming Experience track: Start Kotlin Koans
  • 41. This work is licensed under the Apache 2.0 License Exercises Check Error Messages Run Code & Check Output Re-read Instructi ons Show Answers Introduction, Conventions, Collections Go to g.co/android/studyjams and start Kotlin Koans Coders: Start Here
  • 42. This work is licensed under the Apache 2.0 License Thanks!
  • 43. This work is licensed under the Apache 2.0 License Share what you’ve learned with #AndroidStudyJams
  • 44. This work is licensed under the Apache 2.0 License Additional Resources Online curriculum ● Android Basics in Kotlin Course ● Android Kotlin Fundamentals Course Android Resources ● Official Android Developers website ● Android Developers YouTube channel ● Android Developers Twitter ● Android Developers Medium blog ● Android Developers Official blog ● Android Developers Newsletter ● Android Codelabs ● Android GitHub page Kotlin Language Resources ● Official Kotlin Language website ● Kotlin Learn by Example ● Kotlin Vocabulary series Version 1.0
  • 45. This work is licensed under the Apache 2.0 License Let’s Play! To find slides, content, links and more relating to Android Study Jams visit the repo 👉 github.com/beauwilliams/Android-Study-Jams