This repository contains a collection of samples that demonstrate the use of different Android OS platform APIs. The samples are organized into folders by topic, and each folder contains a README file that provides more information about the samples in that folder.
Note: These samples are intended to showcase specific functionality in isolation, and they may use simplified code. They are not intended to be used as production-ready code. The project uses the casa-android (intended only for demo projects). For best practices follow our documentation and check Now In Android
Browse the samples inside each topic samples folder:
- Accessibility
- Camera
- Connectivity
- Graphics
- Location
- Privacy
- Storage
- User-interface
- More to come...
We are constantly adding new samples to this repository. You can find a list of all the available samples here.
🚧 Work-in-Progress: we are working on brining more existing and new samples into this format.
- Clone the repository
- Open the whole project in Android Studio.
- Sync & Run
app
configuration
The app will open with the samples list screen that allows you to navigate throughout the different categories and available samples.
Note: the
app
module is required to bring together all the samples but it's not relevant for their functionality, you can simply ignore it. The wiring is done under the hood and an implementation detail not needed to understand any sample functionality.
To open a specific sample directly you can use one of the auto-generated configurations.
- Build the project at least once
- Open
Run Configuration
dropdown - Select sample name
- Run
Tip: use
⌃⌥R
orAlt+Shift+F10
shortcut to open the full list and launch the selected one.
You can report an issue with a sample using this repository. When doing so, make sure to specify which sample you are referring to.
Please contribute! We will gladly review any pull requests. Make sure to read the Contributing page first though.
Note: make sure to run
./gradlew --init-script gradle/spotless-init.gradle.kts spotlessApply
before submitting PRs.
Copyright 2023 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.