Jetpack Compose Samples
The Jetpack Compose Samples project is a curated collection of Android Studio projects designed to guide developers in understanding and utilizing Compose in Android. Each sample within this repository showcases distinct use cases, varying levels of complexity, and the use of different APIs, making it easier for developers to learn and implement Compose in their applications.
Requirements
To explore and work with these sample apps, developers will need to have Android Studio installed. They can either clone the repository or import the project through Android Studio by following these steps here.
Sample Projects
The Jetpack Compose Samples repository includes several intriguing projects:
JetNews
JetNews is a sample blog post viewer. It uses Compose to demonstrate its integration with a traditional Material app architecture. It features a mix of medium complexity and varied UI, supporting light and dark themes, resource loading, and UI testing.
JetNews | |
---|---|
Screenshot |
Jetchat
Jetchat is a chat application that highlights UI state patterns and manages text input effectively with Compose. It utilizes low complexity design and features Material Design 3 theme, dynamic colors, resource loading, architecture component integration, animations, and support for UI testing.
Jetchat | |
---|---|
Screenshot |
Jetsnack
Jetsnack is an innovative snack ordering app created with Compose. This app employs custom design systems and layouts, medium complexity features, alongside engaging animations.
Jetsnack | |
---|---|
Screenshot |
Jetcaster
Jetcaster exemplifies a podcast application with a comprehensive, Redux-style architecture and dynamic themes. It introduces advanced application samples featuring dynamic theme adjustments using podcast artwork, image fetching, support for WindowInsets
, utilization of coroutines, and local storage integration using Room.
Jetcaster | |
---|---|
Screenshot |
Reply
The Reply sample app represents a Compose implementation of the Reply material study, crafted as an email client. It focuses on adaptive design across mobile, tablets, and foldables while introducing the new Material Design 3 theming, dynamic colors, and navigation components.
Reply | |
---|---|
Screenshot |
JetLagged
JetLagged is a sleep tracker app serving as an example of constructing custom layouts and graphics using Compose.
JetLagged | |
---|---|
Screenshot |
Additional Samples
Now in Android
This application keeps developers updated with the latest news and developments within the Android ecosystem. It is a Jetpack Compose-first app implementing the recommended Android Architecture Guidelines, integrating Jetpack Libraries in a real-world context.
Now in Android | |
---|---|
Screenshot |
Material Catalog
The Material Catalog offers a comprehensive presentation of Material Design components and capabilities available within Jetpack Compose. It demonstrates how these components appear and behave on real devices and allows runtime changes to Material Theming values.
Material Catalog | |
---|---|
Screenshot |
High-Level Features
The repository also highlights samples and features around:
- Custom Layouts: Unique layouts in Jetnews, Jetchat, and Jetsnack.
- Theming: Example themes in Jetchat and Jetcaster.
- Animations: Demonstrations in Jetsurvey and Jetsnack.
- Text Handling: Downloadable fonts in Jetchat.
- Large Screens: Optimized support in Jetcaster and Jetnews.
- TV and Wear Support: Jetcaster extensions for TV and wearable devices.
Formatting and Updates
The repository outlines commands for automatically formatting samples and updating dependencies, facilitating smoother integration and maintenance.
License
The project is licensed under the Apache License, Version 2.0, allowing developers to use the samples within specified terms and conditions.
Jetpack Compose Samples is an essential resource for Android developers aiming to explore the potential of Android's modern UI toolkit, Compose. With diverse examples, it aids in understanding how to create compelling and efficient Android applications using Compose's robust features.