Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
After I/O Kabul Android summary
Search
Hadi Tok
June 20, 2019
Technology
100
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
After I/O Kabul Android summary
Hadi Tok
June 20, 2019
More Decks by Hadi Tok
See All by Hadi Tok
Android Async Programming
oshamahue
0
130
Introduction to Functional Programing in Kotlin and Arrow
oshamahue
0
210
Kotlin for Java developers.
oshamahue
0
120
Kotlin Java interop and Kotlin Migration
oshamahue
0
92
Finding the View
oshamahue
0
160
Mocking Kotlin with MockK
oshamahue
0
150
After I/O Istanbul Jetpack CameraX
oshamahue
0
81
Mocking Kotlin with MockK
oshamahue
0
230
RxJava vs Coroutines
oshamahue
1
680
Other Decks in Technology
See All in Technology
クラウドサインを止めずに Nuxt へ 次の10年のために先に決めたこと
bengo4com
1
160
Vue.jsのGitHubから学ぶ意思決定
yut0naga1_fa
1
270
AIで選択肢が広がった組織設計の理想と現実
konifar
12
5.3k
Filter What the LLM Reads: RAG Governance with AgentCore Gateway
yakumo
0
110
FinOps Agentが生んだ技術負債:コスト自動調査の落とし穴と解消までの道のり
oasis1994liveforever
3
300
Claude Codeから見る、エンジニアの世界の変容とその先
oikon48
6
4.2k
CSS2026:OWS研究会・招待講演「世界観を、実装する」
atsush1_sada
2
330
freeeにおける AI を用いた ブラウザ動作確認の自動化の取り組み
freee
PRO
0
220
生成AI時代、PMは事業責任者に進化するともっと面白い〜PMだからこそ事業構造を動かせる時代に〜
kakehashi
PRO
0
870
「Learning Outcome」を書きたくない私が、Learning Outcomeと折り合いをつけるまで
mhlyc
0
240
Adversary Infrastructure Hunting101
disconinja
0
160
国際カードブランドルール変更に伴うクレジットカード決済取引仕様変更について
k1style
0
240
Featured
See All Featured
WENDY [Excerpt]
tessaabrams
14
40k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
1
290
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3.1k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
540
Facilitating Awesome Meetings
lara
57
7.2k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
2
370
Designing for Timeless Needs
cassininazir
1
530
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
740
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
450
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
300
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Transcript
After I/O Kabul Kotlin First/Android Q 1
Who Am I? • Hadi Tok • Lead Android Developer
@CitizenMe • Google Developers Expert on Android • Organizer at GDG Istanbul • https://haditok.com/ 2
Google I/O 3 • Organized by Google At Mountain View
CA • Gathers developers from all around the world • New technologies developed by Google announced
Google I/O 2019 What’s new on Android 4 • Kotlin
First • Coroutines first • Jetpack Compose • Dark Mode • Gesture Navigation • Security and Privacy • CameraX • ViewBindings
Kotlin First 5 • Kotlin became official language 2017 along
with Java and C++ • KTX Libraries • IDE Support • Documentation • Samples
Kotlin First 6 • Kotlin became primary language 2019 over
Java and C++ • Feature support • IDE Support • More Documentation • More Samples
How to get started with Kotlin 7 • http://try.kotlinlang.org •
https://kotlinlang.org/docs/reference/ • https://codelabs.developers.google.com/android-ko tlin-fundamentals/
Corotutines First 8 • What are Coroutines? • Non-blocking •
Asynchronous • Straightforward as plain synchronous code.
Corotutines First 9
Jetpack Coroutines support 10 • LiveData • ViewModel • WorkManager
• Room
Jetpack Compose 11 • Jetpack Compose is an unbundled toolkit
designed to simplify UI development. It combines a reactive programming model with the conciseness and ease of use of the Kotlin programming language.
Jetpack Compose 12 • Concise and Idiomatic Kotlin • Declarative
• Compatible • Enable Beautiful Apps • Accelerate Development
Jetpack Compose 13
None
Dark Mode 15 • Can reduce power usage by a
significant amount • Improves visibility for users with low vision and sensitive to bright light. • Easier to use a device in a low-light environment.
Dark Mode 16 • Can reduce power usage by a
significant amount • Improves visibility for users with low vision and sensitive to bright light. • Easier to use a device in a low-light environment.
Dark Mode 17 • <style name="AppTheme" parent="Theme.AppCompat.DayNight"> • <style name="AppTheme"
parent="Theme.MaterialComponents.DayNight">
Dark Mode 18 • Light - MODE_NIGHT_NO • Dark -
MODE_NIGHT_YES • Set by Battery Saver - MODE_NIGHT_AUTO_BATTERY • System default - MODE_NIGHT_FOLLOW_SYSTEM
Dark Mode Force Dark 19 • Easy way to implement
dark mode • Intellegently converts theme to dark on Android Q • android:forceDarkAllowed="true"
Gesture Navigation 20 • Unifies gestural navigation on Android Q
• Swipe up from bottom navigates to home • Swipe left and right from edges navigates back
21
Security&Privacy 22 • Jetpack Security Library • Location permission changes
on Q • Apps won't be able to turn on/off the WiFi on Q • SYSTEM_ALERT_WINDOW permission is deprecated on Q, Use Chat bubbles instead.
CameraX 23 • Unifies Camera library usage • Features like
Portrait, HDR, Night, and Beauty • Able to take add ons • Works on 90% of devices
CameraX 24 • Unifies Camera library usage • Features like
Portrait, HDR, Night, and Beauty • Able to take add ons • Works on 90% of devices
View Bindings 25 • Similar to DataBindings • No annotation
processing so faster at compile
Thank you Questions? 26