There has been a lot of progress done in and for Android Development. Support for large screens and form factors, wearOs and Compose TV, new updates in Kotlin like K2 complier, KSP, Kotlin Multiplatform and more updates coming to Jetpack and more. In this talk, we'll highlight the new updates, new library releases as well as updates in Android Studio.
Making Android Development better than before!
GDE for Android
Also, I create content @Kodeco
Twitter: @B__Kinya | LinkedIn: Beatrice Kinya
Android | Kotlin | Jetpack
- 2017: Oﬃcially supported language for Android.
- Google I/0 2019: Google announced Kotlin as the ﬁrst class language for Android
- New libraries, development tools and guidelines are now designed in Kotlin, for
instance Jetpack Compose.
- Android ❤ Kotlin:
- Kotlin is safe, concise and expressive
- Structured concurrency oﬀered by coroutines
- Now in Beta , in Kotlin 1.9.0 release
- Better builds and improved IDE performance. It’s twice faster compared to Kotlin
- Default for Kotlin 2.0
- Starting with Kotlin 1.9.0, you can test K2 compiler using
kotlin.experimental.tryK2=true gradle property. Use the following
command on command line
./gradlew assemble -Pkotlin.experimental.tryK2=true
- Or Update language version from modules build.gradle ﬁle
Kotlin DSL for Gradle Builds
- Gradle Kotlin DSL is an alternative syntax to Groovy DSL for writing gradle build
- Advantages include code completion, navigating to source ,syntax highlighting and
type and method documentation.
Kotlin DSL for Gradle Builds
- Starting Android Studio Giraﬀe Kotlin DSL will be the default DSL for writing
Gradle Build Scripts
- Android Studio Giraﬀe oﬀers Gradle version catalog an an experimental option.
- Gradle Version Catalog provides a centralised place for managing dependencies.
- Kotlin Symbol processing(KSP), a better alternative to Kotlin Annotation
- KAPT generates Java stubs from Kotlin code to allow annotation processors written
for Java to work with Kotlin code. This is time consuming
- KSP, a ﬁrst alternative for Kotlin, directly analyses Kotlin Code.
- It’s 2X faster. It does not generate Java stubs
- It provides better typing. It better understands kotlin constructs and types such as
- It’s multi-platform ready
- Kotlin Multiplatform simpliﬁes development of cross-platform projects.
- It allows sharing code across diﬀerent platforms while retaining the beneﬁts and
ﬂexibility of native programming.
- Now in Beta
- Jetpack Libraries supporting Kotlin multi-platform
Large Screens and Form Factors
Pixel Tablet and Pixel Fold
- Pager and ﬂow layouts for designing adaptive ui layouts across diﬀerent screen
- Flow layouts are similar to Row and Column.
- They diﬀer in that items move to the next line when container runs out of space.
- You can also use LazyGrid layouts.
Window Size Class
- androidx.compose.material3.windowsizeclass library enables you observe
device window size class so that you can build adaptive ui layouts easily.
- Window size classes include : small, medium and large
- Jetpack WindowManager library help developers adapt their apps to a
- Activity embedding used in a multi-activity apps design adaptive layouts for
diﬀerent screen sizes.
- In 1.1 release of Jetpack WindowManager, activity embedding is no longer
- Window layout library allows you to determine features of app display window
such as fold posture and orientation.
Check out this article to learn how to build adaptive apps for large screens and
- Jetpack Glance library enables you to develop widgets customized for android
phones, tablets and foldables.
- Glance simpliﬁes implementation of interactive and responsive widgets
- Compose for Wear OS 1.1 stable was released December last year.
- 1.2 release is currently in alpha with new features like:
- The placeholder and placeholderShimmer add elegant loading
animations that can be used on chips and cards while content is loading.
- expandableItems make it possible to fold long lists or long text, and only
expand to show their full length upon user interaction.
- Android studio lets you preview multiple watch screen and text sizes.
- And more ..
Compose for TV
- An alpha release of Androidx TV library
- Compose for TV allows to build intuitive TV apps using less code and an intuitive,
powerful and ﬂexible API.
- Compose for TV comes with variety of components you can use alongside material
- TvLazyRow, TvLazyColumn, TvLazyGrid for scrollable content.
- TabRow & Tab and NavigationDrawer for navigation
- Jetpack is a suite of libraries, tools and guidelines to help developers develop
robust android apps, while writing code that works consistently across diﬀerent
android versions and devices.
- The libraries can be grouped into 3 major categories
- Architecture libraries
- Performance Optimization
- User Interface libraries
➢ @Upsert annotation added in Room 2.5.0
➢ Support for value classes for KSP. This is available starting from Room 2.6.0-alpha01
➢ Update WorkRequest that’s already enqueued while maintaining original enqueue time and chaining.
➢ updateWork() API allows you to update existing work request without having to manually cancel and create a
new work request.
➢ Available WorkManager 2.8.0
➢ DataStore 1.1-alpha
➢ Support for KMM
➢ Accessing DataStore from multiple processes while providing data consistency between the proccess
➢ CollectAsStateWithLifecycle API
➢ Released in lifecycle 2.6.0
- Have you heard about baseline proﬁle?
- Check out Baseline Proﬁle library and learn how you can improve your app start-up
- And Macrobenchmark library to monitor and improve the performance of your
- Recommended design system for Android apps
- 1.1 stable release.
- Added new components
- Bottom Sheet
- Date and time picker
- Search bar
- Flow layouts
Android Studio Giraffe
- Now Stable
- Live edit on both the emulator and physical device without rebuilding or
redeploying your app.
- Support for new animations APIs in Animation preview so you can debug any
animations using animate*AsState, CrossFade,
rememberInfiniteTransition, and AnimatedContent.
- Compose preview supports live updates from multiple ﬁles.
- Improved auto-complete behavior
Android Studio Giraffe
- Resizable emulator now includes diﬀerent foldable postures: folded, unfolded and
Android Studio Hedgehog
- Now in Canary 14
- Showing compose state information in the debugger. It’ll show you which
parameters changes, the ones that remained unchanged making it eﬃcient to
- Check out this talk by Ben Trengrove to learn more: Debugging Jetpack Compose
- Android Studio Bot
- A new Espresso Device Api that lets you apply rotation changes, fold posture and
other conﬁguration changes to the virtual device under test.
Android Studio Hedgehog: Compose Multiple Preview template
- androidx.compose.ui:ui-tooling-preview 1.6.0-alpha01+ introduces new
multi preview API templates: @PreviewScreenSizes, @PreviewFontScales,
@PreviewLightDark, and @PreviewDynamicColors
- With a single annotation you can preview your compose UI with diﬀerent common
Resources, and a lot more from the Android Community