Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
The New Era of Android Development - IDCamp x K...
Search
Ahmad Arif Faizin
May 28, 2023
Programming
84
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
The New Era of Android Development - IDCamp x Kadin 2023
Presented for Offline Training Android Dev @Medan
Ahmad Arif Faizin
May 28, 2023
More Decks by Ahmad Arif Faizin
See All by Ahmad Arif Faizin
Mental Model untuk Memahami Orang Lain
arifaizin
0
150
The Secret Project Team Who First Launch Android OS - The Untold Story
arifaizin
0
120
The Journey to Keep Strive as a Tech Talent - The Untold Story
arifaizin
0
47
Focus Group Discussion (FGD) Penyempurnaan Kurikulum Program Studi Informatika
arifaizin
0
86
[Indocomtech Event] Intro to AI: Essential Basics and Practical Guide to Get You Started - Coding Camp 2025 powered by DBS Foundation
arifaizin
0
58
BDD 2024 - Automate Dependency Management in a Scalable Way with Gradle Version Catalog
arifaizin
0
190
Tips & Trik Menghabiskan Task dengan Automa
arifaizin
0
47
The Opportunity of a Digital World - Dicoding Career Fair 2023
arifaizin
0
150
Bringing Machine Learning in Android with MediaPipe - DroidJam 2023
arifaizin
2
800
Other Decks in Programming
See All in Programming
These Five Tricks Can Make Your Apps Greener, Cheaper, & Nicer
hollycummins
0
280
RTSPクライアントを自作してみた話
simotin13
0
600
[2026年度第1回ORセミナー] 計画最適化ベンチャーと競技プログラミング人材
terryu16
0
260
dRuby over BLE
makicamel
2
330
過去最大のMCPアップデート! 2026-07-28 RC版の謎に迫る
licux
6
270
Signal Forms: Details & Live Coding @enterJS 2026 in Mannheim
manfredsteyer
PRO
0
110
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
0
220
運用エージェントは "作る" から "育てる" へ - 記憶と自己進化の3層設計パターン / self-evolving-agents-three-layer-agent-design
gawa
12
3.6k
Claspは野良GASの夢をみるか
takter00
0
190
AI時代のUIはどこへ行く?その2!
yusukebe
21
7.1k
Go1.27で導入されるジェネリクスメソッドでできること
mackee
0
110
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.6k
Featured
See All Featured
Facilitating Awesome Meetings
lara
57
7k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.6k
Rails Girls Zürich Keynote
gr2m
96
14k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
390
Faster Mobile Websites
deanohume
310
31k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
22k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
The Limits of Empathy - UXLibs8
cassininazir
1
360
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
160
Ethics towards AI in product and experience design
skipperchong
2
310
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
A better future with KSS
kneath
240
18k
Transcript
The New Era of Android Development Ahmad Arif Faizin Curriculum
Developer
None
None
Android Studio
Android Studio Bot 🤖
Device Mirroring 🪞 • File > Settings > Tools >
Device Mirroring • Enable mirroring of physical Android devices. • Bye bye Visor~
App Quality Insights 🪲
New UI 😎
Kotlin
None
Explicit Fields ✨
Kotlin DSL 🪶 • All in one language • More
readable • Better compile-time checking
Hints & Documentation 💖
Version Catalog 📖 // build.gradle.kts plugins { alias(libs.plugins.com.android.application) alias(libs.plugins.org.jetbrains.kotlin.android) id("com.google.devtools.ksp")
} ... dependencies { implementation(libs.core.ktx) implementation(libs.appcompat) } // libs.version.toml [versions] com-android-application = "8.1.0-alpha11" org-jetbrains-kotlin-android = "1.8.0" core-ktx = "1.9.0" appcompat = "1.4.1" [libraries] core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "core-ktx" } appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" } [plugins] com-android-application = { id = "com.android.application", version.ref = "com-android-application" } org-jetbrains-kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "org-jetbrains-kotlin-android" }
Kapt to KSP 🫣
Android Jetpack
Architecture Libraries and Guidance 🗝
Recommendation 👌 https://developer.android.com/topic /architecture/recommendations
Modularization 🪱
Dependency Injection 💉
None
Jetpack Compose
None
Look at the new Project Template 👀
Jetpack Compose is Android’s recommended modern toolkit for building native
UI. It simplifies and accelerates UI development on Android. Quickly bring your app to life with less code, declarative Kotlin APIs, powerful tools, and backward compatible.
Construct UI by describing what, not how.
XML Vs Compose 💥 <!-- activity_main.xml --> <FrameLayout> <RecyclerView android:id=”@+id/listNews”
... /> <TextView android:id=”@+id/textError”.../> </FrameLayout> // Activity.kt val listNews = findViewById(R.id.listNews) val textError = findViewById(R.id.textError) if (data.size > 0){ listNews.visibility = View.VISIBLE textError.visibility = View.GONE } else { listNews.visibility = View.GONE textError.visibility = View.VISIBLE } // Activity.kt @Composable fun NewsScreen(newsList: List<News>) { if (newsList.size > 0){ Column { for (title in newsList){ Text(text = title) } } } else { Text(text = "No Data!") } }
Material You
None
Look (again) at the new Project Template 👀👀
M2 vs M3 💥
None
None
None
Conclusion 🎁 d.android.com/modern-android-development
“All you need is the plan, the road map, and
the courage to press on to your destination.” Earl Nightingale
Thank you