SlideShare a Scribd company logo
This work is licensed under the Apache 2.0 License
Android Study Jams
Kick-off Sessions
This work is licensed under the Apache 2.0 License
1. Why are you here?
2. What are your goals?
3. How do you plan to achieve them?
This work is licensed under the Apache 2.0 License
Who would like to share?
This work is licensed under the Apache 2.0 License
Learning Objectives
० Learn the basics of the Kotlin programming language
० Set up Android Studio on your computer
० Build your first Android apps
० Discover resources to continue learning
This work is licensed under the Apache 2.0 License
Why Native?
Why not use a cross platform framework?
This work is licensed under the Apache 2.0 License
Why Kotlin? Why not Java?
This work is licensed under the Apache 2.0 License
What’s in it for you?
This work is licensed under the Apache 2.0 License
What you need to
do
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
Where to start?
There are two tracks
New to programming? Have prior programming experience?
Start here
Start here
This work is licensed under the Apache 2.0 License
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
Concept Overview
This work is licensed under the Apache 2.0 License
Use Kotlin to start writing Android apps
Kotlin helps developers be more productive
Kotlin Programming Language
This work is licensed under the Apache 2.0 License
Benefits of Kotlin
● Expressive & Concise
● Safer Code
● Interoperable with Java
● Structured Concurrency
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
Android Development is Kotlin-First
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
Official tool to build Android apps
Android Studio
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
This work is licensed under the Apache 2.0 License
The part of your app where
the user interacts with it
User Interface
This work is licensed under the Apache 2.0 License
Aa
Button
Layout
s
Views
Layouts
This work is licensed under the Apache 2.0 License
Hello Android!
Views
TextView ImageView Button
This work is licensed under the Apache 2.0 License
MainActivity
An activity provides the
window in which the app
draws its UI.
Activity
This work is licensed under the Apache 2.0 License
Flowchart
A set of states an activity
can be in during its entire
lifetime
Activity Lifecycle
This work is licensed under the Apache 2.0 License
Let’s get started
This work is licensed under the Apache 2.0 License
Additional Resources
Online curriculum
● Android Basics in Kotlin Course
● Android Kotlin Fundamentals Course
● Udacity Developing Android Apps with
Kotlin Course
● Udacity Advanced Android with Kotlin
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
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
Stay tuned for Session 2

More Related Content

What's hot

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
ishik1
 
Final session 1
Final session 1Final session 1
Final session 1
IpsitaSanyal1
 
Android study jams
Android study jamsAndroid study jams
Android study jams
NaveenK158
 
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 Session
AITIKDANDAPAT
 
Intro session kotlin
Intro session kotlinIntro session kotlin
Intro session kotlin
MohammedMehdiPatel
 
Week 1 - Android Study Jams
Week 1 - Android Study JamsWeek 1 - Android Study Jams
Week 1 - Android Study Jams
JoannaCamille2
 
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
Sunita Singh
 
Info session on android study jams
Info session on android study jamsInfo session on android study jams
Info session on android study jams
ArjavDesai3
 
Study Jam Session 2
Study Jam Session 2Study Jam Session 2
Study Jam Session 2
Boston Android
 
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
alfinazilah
 
Android study jams 1
Android study jams 1Android study jams 1
Android study jams 1
DSCBVRITH
 
Android Study Jams Session 5
Android Study Jams Session 5Android Study Jams Session 5
Android Study Jams Session 5
SadhanaParameswaran
 
The First Ever Android Meet-up
The First Ever Android Meet-upThe First Ever Android Meet-up
The First Ever Android Meet-up
vriddhigupta
 
Prior programming experience track
Prior programming experience trackPrior programming experience track
Prior programming experience track
AshwinRaj57
 
Android Study Jams - Session 1
Android Study Jams - Session 1Android Study Jams - Session 1
Android Study Jams - Session 1
SadhanaParameswaran
 
Android Study Jams Session 4
Android Study Jams Session 4Android Study Jams Session 4
Android Study Jams Session 4
SadhanaParameswaran
 
Android Study Jams - Session 3
Android Study Jams - Session 3Android Study Jams - Session 3
Android Study Jams - Session 3
SadhanaParameswaran
 
Android Workshop Part 1
Android Workshop Part 1Android Workshop Part 1
Android Workshop Part 1
NAILBITER
 
Android Study Jams - Session 2
Android Study Jams - Session 2Android Study Jams - Session 2
Android Study Jams - Session 2
SadhanaParameswaran
 

What's hot (20)

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
 
Final session 1
Final session 1Final session 1
Final session 1
 
Android study jams
Android study jamsAndroid study jams
Android study jams
 
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
 
Intro session kotlin
Intro session kotlinIntro session kotlin
Intro session kotlin
 
Week 1 - Android Study Jams
Week 1 - Android Study JamsWeek 1 - Android Study Jams
Week 1 - Android Study Jams
 
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
 
Info session on android study jams
Info session on android study jamsInfo session on android study jams
Info session on android study jams
 
Study Jam Session 2
Study Jam Session 2Study Jam Session 2
Study Jam Session 2
 
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 study jams 1
Android study jams 1Android study jams 1
Android study jams 1
 
Android Study Jams Session 5
Android Study Jams Session 5Android Study Jams Session 5
Android Study Jams Session 5
 
The First Ever Android Meet-up
The First Ever Android Meet-upThe First Ever Android Meet-up
The First Ever Android Meet-up
 
Prior programming experience track
Prior programming experience trackPrior programming experience track
Prior programming experience track
 
Android Study Jams - Session 1
Android Study Jams - Session 1Android Study Jams - Session 1
Android Study Jams - Session 1
 
Android Study Jams Session 4
Android Study Jams Session 4Android Study Jams Session 4
Android Study Jams Session 4
 
Android Study Jams - Session 3
Android Study Jams - Session 3Android Study Jams - Session 3
Android Study Jams - Session 3
 
Android Workshop Part 1
Android Workshop Part 1Android Workshop Part 1
Android Workshop Part 1
 
Android Study Jams - Session 2
Android Study Jams - Session 2Android Study Jams - Session 2
Android Study Jams - Session 2
 

Similar to Android study jam iiitv kick-off sesson

ASJ Workshop - Introduction
ASJ Workshop - IntroductionASJ Workshop - Introduction
ASJ Workshop - Introduction
Amsavarthan Lv
 
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
 
DSC Android Study Jam
DSC Android Study JamDSC Android Study Jam
DSC Android Study Jam
DSC GVP
 
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
BeauWilliams7
 
Session-1 edited.pptx
Session-1 edited.pptxSession-1 edited.pptx
Session-1 edited.pptx
scienceTech11
 
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
Domendra Sahu
 
Compose Camp Slide.pptx (1).pdf
Compose Camp Slide.pptx (1).pdfCompose Camp Slide.pptx (1).pdf
Compose Camp Slide.pptx (1).pdf
AryanKhandelwal35
 
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
Shreytripathi6
 
Session-1.pptx
Session-1.pptxSession-1.pptx
Session-1.pptx
RamshaAshraf12
 
[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
shahipc
 
Introduction to android study jams
Introduction to  android study jamsIntroduction to  android study jams
Introduction to android study jams
Google Developer Student Clubs - UIT RGPV, Bhopal
 
Compose Camp Slide Session 1
Compose Camp Slide Session 1Compose Camp Slide Session 1
Compose Camp Slide Session 1
AkshatBajpai12
 
Android study jams 1
Android study jams 1Android study jams 1
Android study jams 1
DSCBVRITH
 
Compose Camp: Introduction to Kotlin.pptx
Compose Camp: Introduction to Kotlin.pptxCompose Camp: Introduction to Kotlin.pptx
Compose Camp: Introduction to Kotlin.pptx
AmruthasriAmaravati
 
Android study jams 1
Android study jams 1Android study jams 1
Android study jams 1
NancyMariaAS
 
Compose Camp S1.pptx
Compose Camp S1.pptxCompose Camp S1.pptx
Compose Camp S1.pptx
GDSCSIT
 
Android Study Jams - Session 1
Android Study Jams - Session 1Android Study Jams - Session 1
Android Study Jams - Session 1
AditiSaxena72
 
Compose Camp 2.pdf
Compose Camp 2.pdfCompose Camp 2.pdf
Compose Camp 2.pdf
AbhishekS325285
 
Compose Camp.pdf
Compose Camp.pdfCompose Camp.pdf
Compose Camp.pdf
AbhishekS325285
 
Session 1 ppt.pptx
Session 1 ppt.pptxSession 1 ppt.pptx
Session 1 ppt.pptx
Sumit766160
 

Similar to Android study jam iiitv kick-off sesson (20)

ASJ Workshop - Introduction
ASJ Workshop - IntroductionASJ Workshop - Introduction
ASJ Workshop - Introduction
 
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]
 
DSC Android Study Jam
DSC Android Study JamDSC Android Study Jam
DSC Android Study Jam
 
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
 
Session-1 edited.pptx
Session-1 edited.pptxSession-1 edited.pptx
Session-1 edited.pptx
 
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
 
Compose Camp Slide.pptx (1).pdf
Compose Camp Slide.pptx (1).pdfCompose Camp Slide.pptx (1).pdf
Compose Camp Slide.pptx (1).pdf
 
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
 
Session-1.pptx
Session-1.pptxSession-1.pptx
Session-1.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
[EXTERNAL] Android Basics Sessions 1 _ 2 - Android Study Jams.pptx
 
Introduction to android study jams
Introduction to  android study jamsIntroduction to  android study jams
Introduction to android study jams
 
Compose Camp Slide Session 1
Compose Camp Slide Session 1Compose Camp Slide Session 1
Compose Camp Slide Session 1
 
Android study jams 1
Android study jams 1Android study jams 1
Android study jams 1
 
Compose Camp: Introduction to Kotlin.pptx
Compose Camp: Introduction to Kotlin.pptxCompose Camp: Introduction to Kotlin.pptx
Compose Camp: Introduction to Kotlin.pptx
 
Android study jams 1
Android study jams 1Android study jams 1
Android study jams 1
 
Compose Camp S1.pptx
Compose Camp S1.pptxCompose Camp S1.pptx
Compose Camp S1.pptx
 
Android Study Jams - Session 1
Android Study Jams - Session 1Android Study Jams - Session 1
Android Study Jams - Session 1
 
Compose Camp 2.pdf
Compose Camp 2.pdfCompose Camp 2.pdf
Compose Camp 2.pdf
 
Compose Camp.pdf
Compose Camp.pdfCompose Camp.pdf
Compose Camp.pdf
 
Session 1 ppt.pptx
Session 1 ppt.pptxSession 1 ppt.pptx
Session 1 ppt.pptx
 

Recently uploaded

Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
UiPathCommunity
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
Globus
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
Jen Stirrup
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 

Recently uploaded (20)

Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 

Android study jam iiitv kick-off sesson

  • 1. This work is licensed under the Apache 2.0 License Android Study Jams Kick-off Sessions
  • 2. This work is licensed under the Apache 2.0 License 1. Why are you here? 2. What are your goals? 3. How do you plan to achieve them?
  • 3. This work is licensed under the Apache 2.0 License Who would like to share?
  • 4. This work is licensed under the Apache 2.0 License Learning Objectives ० Learn the basics of the Kotlin programming language ० Set up Android Studio on your computer ० Build your first Android apps ० Discover resources to continue learning
  • 5. This work is licensed under the Apache 2.0 License Why Native? Why not use a cross platform framework?
  • 6. This work is licensed under the Apache 2.0 License Why Kotlin? Why not Java?
  • 7. This work is licensed under the Apache 2.0 License What’s in it for you?
  • 8. This work is licensed under the Apache 2.0 License What you need to do
  • 9. This work is licensed under the Apache 2.0 License Start here: g.co/android/studyjams Collect your first badge!
  • 10. This work is licensed under the Apache 2.0 License Where to start? There are two tracks New to programming? Have prior programming experience? Start here Start here This work is licensed under the Apache 2.0 License
  • 11. This work is licensed under the Apache 2.0 License Android Basics in Kotlin Course
  • 12. This work is licensed under the Apache 2.0 License Unit 1: Kotlin Basics For Android
  • 13. This work is licensed under the Apache 2.0 License A Pathway
  • 14. This work is licensed under the Apache 2.0 License Take a Quiz
  • 15. This work is licensed under the Apache 2.0 License Earn badges!
  • 16. This work is licensed under the Apache 2.0 License Developer profile Carrie Sawyer Photo by Christopher Campbell on Unsplash
  • 17. This work is licensed under the Apache 2.0 License Concept Overview
  • 18. This work is licensed under the Apache 2.0 License Use Kotlin to start writing Android apps Kotlin helps developers be more productive Kotlin Programming Language
  • 19. This work is licensed under the Apache 2.0 License Benefits of Kotlin ● Expressive & Concise ● Safer Code ● Interoperable with Java ● Structured Concurrency
  • 20. This work is licensed under the Apache 2.0 License Write and run Kotlin code in the browser Kotlin Playground
  • 21. This work is licensed under the Apache 2.0 License Android Development is Kotlin-First
  • 22. This work is licensed under the Apache 2.0 License fun main() { println("Hello world!") } What does this code do?
  • 23. This work is licensed under the Apache 2.0 License fun main() { println("Hello world!") } What does this code do? >>> Hello world!
  • 24. This work is licensed under the Apache 2.0 License fun main() { println("Hello world!") } What do you notice about Kotlin?
  • 25. 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
  • 26. This work is licensed under the Apache 2.0 License mutable variable var counter: Int = 5 val name: String = "Rebecca" immutable variable
  • 27. This work is licensed under the Apache 2.0 License var length = 5 val message = "Welcome" What’s interesting about these variable declarations?
  • 28. 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() }
  • 29. 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
  • 30. 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
  • 31. This work is licensed under the Apache 2.0 License Official tool to build Android apps Android Studio
  • 32. 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
  • 33. This work is licensed under the Apache 2.0 License The part of your app where the user interacts with it User Interface
  • 34. This work is licensed under the Apache 2.0 License Aa Button Layout s Views Layouts
  • 35. This work is licensed under the Apache 2.0 License Hello Android! Views TextView ImageView Button
  • 36. This work is licensed under the Apache 2.0 License MainActivity An activity provides the window in which the app draws its UI. Activity
  • 37. This work is licensed under the Apache 2.0 License Flowchart A set of states an activity can be in during its entire lifetime Activity Lifecycle
  • 38. This work is licensed under the Apache 2.0 License Let’s get started
  • 39. This work is licensed under the Apache 2.0 License Additional Resources Online curriculum ● Android Basics in Kotlin Course ● Android Kotlin Fundamentals Course ● Udacity Developing Android Apps with Kotlin Course ● Udacity Advanced Android with Kotlin 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
  • 40. This work is licensed under the Apache 2.0 License Share what you’ve learned with #AndroidStudyJams
  • 41. This work is licensed under the Apache 2.0 License Stay tuned for Session 2