Slide 1

Slide 1 text

The New Era of Android Development Ahmad Arif Faizin Curriculum Developer

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

Android Studio

Slide 5

Slide 5 text

Android Studio Bot πŸ€–

Slide 6

Slide 6 text

Device Mirroring πŸͺž ● File > Settings > Tools > Device Mirroring ● Enable mirroring of physical Android devices. ● Bye bye Visor~

Slide 7

Slide 7 text

App Quality Insights πŸͺ²

Slide 8

Slide 8 text

New UI 😎

Slide 9

Slide 9 text

Kotlin

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

Explicit Fields ✨

Slide 12

Slide 12 text

Kotlin DSL πŸͺΆ ● All in one language ● More readable ● Better compile-time checking

Slide 13

Slide 13 text

Hints & Documentation πŸ’–

Slide 14

Slide 14 text

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" }

Slide 15

Slide 15 text

Kapt to KSP 🫣

Slide 16

Slide 16 text

Android Jetpack

Slide 17

Slide 17 text

Architecture Libraries and Guidance πŸ—

Slide 18

Slide 18 text

Recommendation πŸ‘Œ https://developer.android.com/topic /architecture/recommendations

Slide 19

Slide 19 text

Modularization πŸͺ±

Slide 20

Slide 20 text

Dependency Injection πŸ’‰

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

Jetpack Compose

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

Look at the new Project Template πŸ‘€

Slide 25

Slide 25 text

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.

Slide 26

Slide 26 text

Construct UI by describing what, not how.

Slide 27

Slide 27 text

XML Vs Compose πŸ’₯ // 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) { if (newsList.size > 0){ Column { for (title in newsList){ Text(text = title) } } } else { Text(text = "No Data!") } }

Slide 28

Slide 28 text

Material You

Slide 29

Slide 29 text

No content

Slide 30

Slide 30 text

Look (again) at the new Project Template πŸ‘€πŸ‘€

Slide 31

Slide 31 text

M2 vs M3 πŸ’₯

Slide 32

Slide 32 text

No content

Slide 33

Slide 33 text

No content

Slide 34

Slide 34 text

No content

Slide 35

Slide 35 text

Conclusion 🎁 d.android.com/modern-android-development

Slide 36

Slide 36 text

β€œAll you need is the plan, the road map, and the courage to press on to your destination.” Earl Nightingale

Slide 37

Slide 37 text

Thank you