Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.
per halaman
220 hasil
java
AppShortcuts

Contoh ini menunjukkan cara menggunakan Launcher Shortcuts API yang diperkenalkan di Android 7.1 (API 25). API ini memungkinkan aplikasi untuk menentukan sekumpulan Intent yang ditampilkan ketika pengguna menekan lama pada ikon peluncur aplikasi. Contoh diberikan untuk mendaftarkan kedua link secara statis dalam XML, serta secara dinamis saat waktu proses.

java
AutofillFramework

Contoh ini menunjukkan penggunaan Framework IsiOtomatis. Hal ini mencakup implementasi Aktivitas klien dengan tampilan yang harus diisi otomatis, dan Layanan yang dapat memberikan data isi otomatis ke Aktivitas klien.

java
DownloadableFonts

Contoh ini menunjukkan cara menggunakan fitur Font yang Dapat Didownload yang diperkenalkan di Android O. Font yang Dapat Didownload adalah fitur yang memungkinkan aplikasi meminta font tertentu dari penyedia, bukan memaketkan atau mendownloadnya sendiri. Ini artinya Anda tidak perlu memaketkan font sebagai aset.

kotlin
DownloadableFonts (Kotlin)

Contoh ini menunjukkan cara menggunakan fitur Font yang Dapat Didownload yang diperkenalkan di Android O. Font yang Dapat Didownload adalah fitur yang memungkinkan aplikasi meminta font tertentu dari penyedia, bukan memaketkan atau mendownloadnya sendiri. Ini artinya Anda tidak perlu memaketkan font sebagai aset.

java
EmojiCompat

Contoh ini menunjukkan penggunaan library dukungan EmojiCompat. Anda dapat menggunakan library ini untuk mencegah aplikasi menampilkan karakter emoji yang tidak ada dalam bentuk tofu (□). Anda bisa menggunakan font emoji yang dipaket atau dapat didownload. Contoh ini menampilkan kedua penggunaan tersebut.

kotlin
EmojiCompat (Kotlin)

Contoh ini menunjukkan penggunaan library dukungan EmojiCompat. Anda dapat menggunakan library ini untuk mencegah aplikasi menampilkan karakter emoji yang tidak ada dalam bentuk tofu (□). Anda bisa menggunakan font emoji yang dipaket atau dapat didownload. Contoh ini menampilkan kedua penggunaan tersebut.

kotlin
NotificationChannels (Kotlin)

Demonstrasi tentang penggunaan saluran untuk mengelompokkan notifikasi berdasarkan topik. Fitur ini ditambahkan di Android O sehingga pengguna akan memiliki kontrol yang sangat akurat atas preferensi notifikasinya.

java
PictureInPicture

Contoh ini menunjukkan penggunaan dasar mode Picture-in-Picture untuk perangkat genggam. Contoh memutar video. Video terus diputar saat aplikasi menggunakan mode Picture-in-Picture. Pada layar Picture-in-Picture, aplikasi menampilkan item tindakan untuk menjeda atau melanjutkan pemutaran video.

kotlin
PictureInPicture (Kotlin)

Contoh ini menunjukkan penggunaan dasar mode Picture-in-Picture untuk perangkat genggam. Contoh memutar video. Video terus diputar saat aplikasi menggunakan mode Picture-in-Picture. Pada layar Picture-in-Picture, aplikasi menampilkan item tindakan untuk menjeda atau melanjutkan pemutaran video.

java
RuntimePermissions

Contoh ini menunjukkan izin waktu proses yang tersedia di Android M dan versi lebih baru. Contoh ini menunjukkan cara memeriksa dan meminta izin saat waktu proses, menangani kompatibilitas mundur menggunakan library dukungan, dan cara mendeklarasikan izin opsional khusus untuk perangkat M.

java
CommitContentSampleApp

Contoh ini menunjukkan cara menulis aplikasi yang menerima konten lengkap (seperti gambar) yang dikirim dari keyboard menggunakan Commit Content API.

java
CommitContentSampleIME

Contoh ini menunjukkan cara menulis keyboard yang mengirim konten lengkap (seperti gambar) ke kolom teks menggunakan Commit Content API.

java
DirectBoot

Contoh yang menunjukkan cara menyimpan data dalam penyimpanan yang dilindungi perangkat yang selalu tersedia saat perangkat di-booting, baik sebelum maupun sesudah kredensial pengguna apa pun (PIN/Pola/Sandi) dimasukkan.

java firebase
Panduan Memulai Firebase untuk Android

Kumpulan contoh panduan memulai yang menunjukkan Firebase API di Android. Untuk informasi lebih lanjut, lihat https://firebase.google.com.

java
WatchFace

Contoh sederhana yang menunjukkan tampilan jam dan detail untuk Wear 2.0.

java
WearDrawers

Contoh sederhana yang menunjukkan Panel Samping Navigasi dan Tindakan, bagian dari Desain Material untuk Wear.

java
WearHighBandwidthNetworking

Contoh tersebut menunjukkan cara menentukan apakah jaringan dengan bandwidth tinggi tersedia untuk kasus penggunaan yang memerlukan bandwidth jaringan minimum, seperti streaming media atau mendownload file yang besar. Selain itu, contoh ini menunjukkan praktik terbaik untuk meminta pengguna menambahkan jaringan Wi-Fi baru untuk operasi jaringan dengan bandwidth tinggi, jika bandwidth jaringan yang tersedia saat ini tidak memadai.

java
BeamLargeFiles

Contoh ini menunjukkan cara mentransfer file yang besar melalui Android Beam. Setelah handshake awal melalui NFC, transfer file akan dilakukan melalui saluran komunikasi kecepatan tinggi sekunder seperti Bluetooth atau WiFi Direct. Fitur ini memerlukan Android 4.1 (Jelly Bean) atau versi lebih baru. Tidak seperti Beam tradisional, aplikasi Anda tidak akan menerima Intent pada perangkat penerima. Sebaliknya, sistem akan menyimpan file ke disk dan menampilkan notifikasi bahwa pengguna dapat memilih untuk membuka file menggunakan Intent ACTION_VIEW standar.

java
BluetoothAdvertisements

Contoh ini menunjukkan cara mengiklankan sejumlah kecil data menggunakan Bluetooth Low Energy API, dan cara memindai untuk Iklan tersebut. (membutuhkan 2 perangkat untuk melihat operasi penuh)

java
BluetoothLeGatt

Contoh ini menunjukkan cara menggunakan Profil Atribut Generik (GATT) Bluetooth LE untuk mengirimkan data acak antarperangkat.

java
CardView

Contoh ini menunjukkan cara menggunakan CardView yang diperkenalkan di library dukungan di Android 5.0.

java
DocumentCentricRecents

Contoh ini menunjukkan penggunaan dasar 'Document Centric Apps' API yang baru. Dengan fitur ini, Anda dapat membuat dokumen baru di menu ringkasan sistem dan mempertahankan statusnya melalui tindakan reboot.

java
HdrViewfinder

Demo ini mengimplementasikan jendela bidik kamera rentang dinamis yang tinggi secara real time, dengan mengganti waktu eksposur sensor antara 2 nilai eksposur pada frame genap dan ganjil, lalu menggabungkan 2 frame terbaru setiap kali frame baru diambil.

c++ ndk, vulkan
Contoh Vulkan API

Menunjukkan penggunaan dasar Vulkan API.

java
Notifikasi

Contoh ini menunjukkan tips untuk menggunakan Notifikasi NotificationStyle (Inbox, BigPicture, BigText, dan Messaging) untuk aplikasi Seluler dan aplikasi Wear asli/lokal. Contoh ini juga mencakup Notifikasi pada Wear 1.+ dan Wear 2.0.

java
RecyclerView

Contoh ini menunjukkan penggunaan RecyclerView untuk membuat tata letak elemen dengan LinearLayoutManager dan GridLayoutManager. Contoh ini juga menunjukkan cara menangani peristiwa sentuh pada elemen.

java
ActivitySceneTransitionBasic

Contoh ini menunjukkan cara menggunakan transisi adegan dari 1 Aktivitas ke Aktivitas lainnya di Lollipop. Menggunakan kombinasi changeImageTransform dan changeBounds untuk mengalihkan grid gambar ke Aktivitas dengan gambar besar dan teks detail.

java layanan google play, iklan seluler google
Iklan Reward AdMob

Contoh ini menunjukkan cara meminta dan menampilkan iklan reward AdMob di aplikasi Android. Dalam contoh ini, aplikasi dibuat dengan satu aktivitas yang menampilkan penghitung mundur. Saat timer mencapai nol, iklan video akan diputar. Pengguna dapat menonton hingga selesai untuk menerima reward, atau menghentikan video dan kehilangan reward.

java
AdvancedImmersiveMode

Mode Imersif, ditambahkan di Android 4.4, menyempurnakan mode "sembunyikan layar penuh" dan "sembunyikan menu navigasi" dengan mengizinkan pengguna menggeser menu ke dalam dan ke keluar. Dengan contoh ini, pengguna dapat memperagakan mode imersif dengan melihat caranya berinteraksi dengan beberapa flag UI lain yang terkait dengan aplikasi layar penuh.

java
AlwaysOn

Contoh dasar yang menunjukkan cara mendukung mode standby untuk aplikasi Wear native.

java
AppRestrictionEnforcer

Contoh ini menunjukkan cara menetapkan batasan ke aplikasi lain sebagai pemilik profil. Gunakan contoh AppRestrictionSchema untuk menetapkan batasan.

java
AppRestrictionSchema

Aplikasi dasar yang menunjukkan cara mengizinkan administrator perangkat untuk membatasi aktivitas pengguna dengan Android Device Administration API. Aplikasi ini mengekspor kebijakan kustom yang mengaktifkan atau menonaktifkan kontrol UI. Aplikasi Administrasi Perangkat dapat menerapkan nilai tertentu untuk kebijakan ini, sebagaimana yang diarahkan oleh administrator perusahaan.

java
AppRestrictions

Contoh ini menunjukkan penggunaan fitur Batasan Aplikasi pada perangkat dengan dukungan banyak pengguna

java
AppUsageStatistics

Aplikasi dasar yang menunjukkan cara menggunakan API Statistik penggunaan aplikasi agar pengguna dapat mengumpulkan statistik yang terkait dengan penggunaan aplikasi.

java
Dasar Komponen Arsitektur

Contoh ini menampilkan Komponen Arsitektur berikut:

  • Room
  • ViewModels
  • LiveData
  • java
    Architecture Components Paging

    Contoh ini menampilkan Komponen Arsitektur berikut:

  • Paging
  • Room
  • ViewModels
  • LiveData
  • c++, java ndk
    Audio-Echo

    Contoh ini memperagakan cara menggunakan OpenSL ES untuk membuat pemutar dan perekam di Android Fast Audio Path, dan menghubungkannya ke audio loopback. Pada sebagian besar perangkat Android, terdapat jalur audio yang dioptimalkan, yang disesuaikan untuk tujuan latensi rendah. Contoh tersebut membuat pemutar/perekam berfungsi di jalur audio yang sangat dioptimalkan ini (terkadang disebut jalur audio asal, jalur latensi rendah, atau jalur audio cepat). Aplikasi ini divalidasi menggunakan konfigurasi berikut: * Android L AndroidOne * Android M Nexus 5 dan Nexus 9 Contoh ini menggunakan Android Studio baru dengan dukungan CMake, serta menunjukkan cara menggunakan lib stl bersama dengan Android Studio versi 2.2.0. Lihat CMakeLists.txt untuk mengetahui detailnya

    kotlin
    Contoh dasar (di Kotlin) untuk menulis pengujian unit yang menirukan framework

    Jika Anda baru mengenal pengujian unit di Android, coba contoh ini terlebih dahulu. Project ini menggunakan sistem build Gradle dan dukungan plugin gradle Android untuk pengujian unit. Anda dapat memanfaatkan integrasi IDE seperti Android Studio atau menjalankan pengujian pada command line. Pengujian unit dijalankan di JVM lokal pada mesin pengembangan Anda. Plugin Android Gradle akan mengompilasi kode sumber aplikasi dan menjalankannya menggunakan tugas pengujian gradle. Pengujian dijalankan terhadap versi android.jar yang dimodifikasi, dengan semua pengubah final yang telah dihilangkan. Hal ini memungkinkan Anda menggunakan library tiruan populer, seperti Mockito. Untuk informasi selengkapnya, lihat http://tools.android.com/tech-docs/unit-testing-support

    java
    Contoh dasar untuk menulis pengujian unit yang menirukan framework

    Jika Anda baru mengenal pengujian unit di Android, coba contoh ini terlebih dahulu. Project ini menggunakan sistem build Gradle dan dukungan plugin gradle Android untuk pengujian unit. Anda dapat memanfaatkan integrasi IDE seperti Android Studio atau menjalankan pengujian pada command line. Pengujian unit dijalankan di JVM lokal pada mesin pengembangan Anda. Plugin Android Gradle akan mengompilasi kode sumber aplikasi dan menjalankannya menggunakan tugas pengujian gradle. Pengujian dijalankan terhadap versi android.jar yang dimodifikasi, dengan semua pengubah final yang telah dihilangkan. Hal ini memungkinkan Anda menggunakan library tiruan populer, seperti Mockito. Untuk informasi selengkapnya, lihat http://tools.android.com/tech-docs/unit-testing-support

    java
    BasicGestureDetect

    Contoh ini mendeteksi gestur pada tampilan dan mencatatnya. Untuk mencoba contoh ini, tarik atau ketuk teks.

    java
    BasicImmersiveMode

    Contoh ini menunjukkan penggunaan mode imersif guna menyembunyikan menu sistem dan navigasi untuk aplikasi layar penuh.

    java
    BasicManagedProfile

    Contoh ini menunjukkan fungsi dasar dari Managed Profile API yang diperkenalkan di Android 5.0 Lollipop. Anda dapat menyiapkan aplikasi ini sebagai pemilik profil, dan menggunakan aplikasi ini untuk mengaktifkan/menonaktifkan aplikasi di profil yang baru dibuat. Anda juga dapat menetapkan batasan untuk beberapa aplikasi, mengaktifkan/menonaktifkan Penerusan intent antarprofil, dan menghapus semua data yang terkait dengan profil secara menyeluruh.

    java
    BasicMediaDecoder

    Contoh ini menunjukkan cara menggunakan MediaCoder untuk mendekode video, menggunakan TimeAnimator untuk menyinkronkan perintah rendering dengan rendering frame tampilan sistem, yang akhirnya merendernya ke TextureView.

    java
    BasicMediaRouter

    Contoh ini menunjukkan penggunaan MediaRouter API untuk menampilkan konten pada layar sekunder. Gunakan "Media Route Action Item" dalam ActionBar untuk memilih perangkat output. Jika perangkat Anda mendukung layar nirkabel Miracast, Anda mungkin perlu mengaktifkan fungsi "Layar Nirkabel" pada setelan sistem. Simulasi layar sekunder juga dapat diaktifkan dari "Opsi Developer". Setelah terhubung, gunakan tombol "Ubah Warna" untuk mengubah warna latar belakang layar sekunder.

    java
    BasicMultitouch

    Contoh ini menunjukkan penggunaan properti MotionEvent untuk melacak masing-masing sentuhan di beberapa peristiwa sentuh.

    java
    BasicRenderScript

    Contoh ini menunjukkan penggunaan RenderScript untuk melakukan manipulasi gambar dasar. Secara khusus, pengguna dapat secara dinamis menyesuaikan saturasi gambar menggunakan penggeser. Kernel RenderScript kustom melakukan penyesuaian saturasi, dengan menjalankan komputasi pada GPU perangkat atau hardware komputasi lain yang dianggap sesuai oleh sistem.

    java
    BasicTransition

    Aplikasi dasar yang menunjukkan cara menggunakan framework Transisi yang diperkenalkan di KitKat. Aplikasi ini menampilkan tombol pilihan untuk memilih di antara beberapa Adegan, dan menggunakan berbagai cara untuk melakukan transisi di antara Adegan tersebut.

    java
    BatchStepSensor

    Contoh ini menunjukkan cara menyiapkan SensorEventListeners untuk pendeteksi langkah dan penghitung langkah.

    c++, java ndk
    Plasma Bitmap

    Plasma Bitmap adalah contoh Android yang menggunakan JNI untuk membuat efek plasma dalam Android Bitmap dari kode C. Contoh ini menggunakan plugin CMake Android Studio baru dengan dukungan C++.

    java android things
    Bluetooth Audio

    Contoh ini menunjukkan penggunaan Android Bluetooth API untuk audio dari aplikasi Android Things.

    java android things
    Bluetooth GATT Server (Java)

    Aplikasi ini menunjukkan cara mengakses BluetoothGattServer Android API dari dalam aplikasi Android Things. Aplikasi contoh ini mengiklankan Profil Waktu.

    kotlin android things
    Bluetooth GATT Server (Kotlin)

    Aplikasi ini menunjukkan cara mengakses BluetoothGattServer Android API dari dalam aplikasi Android Things. Aplikasi contoh ini mengiklankan Profil Waktu.

    java
    BluetoothChat

    Contoh ini menunjukkan cara menerapkan chat teks dua arah melalui Bluetooth antara dua perangkat Android, yang menggunakan semua kemampuan dasar Bluetooth API.

    java android things
    Tombol dan LED (Java)

    Contoh Android Things ini menunjukkan cara menggunakan tombol input UserDriver untuk memproses perubahan pin GPIO, membuat dan memproses peristiwa penting, serta mengubah status LED sebagaimana diperlukan. Ikuti Codelab Periferal I/O untuk petunjuk langkah demi langkah tentang cara membuat contoh yang serupa.

    kotlin android things
    Tombol dan LED (Kotlin)

    Contoh Android Things ini menunjukkan cara menggunakan tombol input UserDriver untuk memproses perubahan pin GPIO, membuat dan memproses peristiwa penting, serta mengubah status LED sebagaimana diperlukan.

    java
    Camera2Basic

    Contoh ini menunjukkan cara menggunakan fungsi dasar dari Camera2 API. Anda dapat mempelajari cara melakukan iterasi melalui karakteristik semua kamera yang terpasang pada perangkat, menampilkan pratinjau kamera, dan mengambil gambar.

    kotlin
    Camera2Basic (Kotlin)

    Contoh ini menunjukkan cara menggunakan fungsi dasar dari Camera2 API. Anda dapat mempelajari cara melakukan iterasi melalui karakteristik semua kamera yang terpasang pada perangkat, menampilkan pratinjau kamera, dan mengambil gambar.

    java
    Camera2Raw

    Contoh ini menunjukkan cara menggunakan Camera2 API untuk mengambil frame sensor JPEG dan RAW. Periksa kode sumber untuk melihat contoh umum tentang cara menampilkan pratinjau kamera; menjalankan fokus otomatis, pengukuran eksposur otomatis, dan white balance otomatis; mengambil gambar JPEG dan RAW untuk frame sensor yang sama; dan menyimpannya di MediaStore untuk digunakan di aplikasi lain.

    java
    Camera2Video

    Contoh ini menunjukkan cara merekam video menggunakan Camera2 API baru di Android Lollipop.

    kotlin
    Camera2Video (Kotlin)

    Contoh ini menunjukkan cara merekam video menggunakan Camera2 API baru di Android Lollipop.

    kotlin
    CardView (Kotlin)

    Contoh ini menunjukkan cara menggunakan CardView yang diperkenalkan di library dukungan di Android 5.0.

    java
    ClippingBasic

    Sebuah aplikasi dasar yang menunjukkan cara melakukan klip pada Tampilan menggunakan antarmuka ViewOutlineProvider, yang digunakan Tampilan untuk membuat garis luarnya untuk membuat bayangan dan klip.

    java android things
    Cloud Doorbell

    Contoh Android Things Doorbell menunjukkan cara membuat bel "smart". Contoh ini menangkap peristiwa tekanan tombol dari pengguna, memperoleh gambar melalui periferal kamera, memproses data gambar menggunakan Cloud Vision API Google, lalu mengupload gambar, anotasi Cloud Vision, dan metadata ke database Firebase, yang dapat dilihat melalui aplikasi pendamping.

    java android things
    Cloud IoT Core Sensor Hub

    Contoh ini menampilkan cara mengimplementasikan hub sensor pada Android Things yang mengumpulkan data sensor dari sensor yang terhubung dan memublikasikannya sebagai peristiwa telemetri ke Google Cloud IoT Core.

    java
    CustomTransition

    Contoh ini menunjukkan cara mengimplementasikan Transisi kustom untuk memperluas class Transisi standar.

    java
    DataLayer

    Contoh ini menunjukkan cara menggunakan WearableListenerService, untuk memproduksi dan memakai DataEvents, serta menangani DataLayer secara efektif.

    java
    DeviceOwner

    Contoh ini menunjukkan cara menggunakan beberapa fitur pemilik perangkat. Sebagai pemilik perangkat, Anda dapat mengonfigurasi setelan global seperti zona waktu dan waktu otomatis. Anda dapat memandatkan peluncur tertentu dengan pengendali intent yang diinginkan.

    java
    DisplayingBitmaps

    Contoh ini menunjukkan cara memuat bitmap besar secara efisien dari UI thread utama, menyimpan bitmap ke cache (dalam memori dan disk), mengelola memori bitmap, dan menampilkan bitmap dalam elemen UI seperti ViewPager dan ListView/GridView.

    java layanan google play, iklan seluler google
    Banner Ad Manager

    Contoh ini menunjukkan cara meminta dan menampilkan iklan banner Ad Manager di aplikasi Android. Aplikasi tersebut berisi satu aktivitas "Hello World" beserta banner di bagian bawah tata letaknya.

    java layanan google play, iklan seluler google
    Rendering Kustom Ad Manager

    Contoh ini menunjukkan cara meminta dan menampilkan iklan dari Rendering Kustom Ad Manager di aplikasi Android. Aplikasi tersebut menampilkan iklan di bagian aktivitasnya, serta menyediakan beberapa kotak centang dan tombol yang dapat digunakan untuk meminta berbagai format iklan native.

    java layanan google play, iklan seluler google
    Contoh Iklan Reward Ad Manager

    Project ini menunjukkan cara mengintegrasikan iklan video layar penuh ke dalam aplikasi, yang dapat ditonton pengguna untuk mendapatkan reward dalam aplikasi.

    java layanan google play, iklan seluler google
    Interstisial Ad Manager

    Contoh ini menunjukkan cara meminta dan menampilkan iklan interstisial Ad Manager di aplikasi Android. Kode tersebut menggambarkan cara membuat instance objek PublisherInterstitialAd, melakukan pramuat interstisial, lalu menampilkannya. UI aplikasi ini berisi satu aktivitas dengan penghitung mundur. Saat timer mencapai nol, pengguna dapat mengetuk tombol "coba lagi" untuk menampilkan interstisial dan memulai hitung mundur dari awal.

    java
    DrawableTinting

    Contoh ini menunjukkan penerapan tint dan filter warna pada Drawable, baik secara terprogram maupun sebagai resource Drawable dalam XML. Penambahan tint diterapkan pada drawable dengan sembilan patch melalui parameter "tint" dan "tintMode". Daftar kondisi warna dirujuk sebagai warna tint, yang menentukan warna untuk berbagai kondisi Tampilan (misalnya dinonaktifkan/diaktifkan, terfokus, ditekan, atau dipilih). Secara terprogram, penambahan tint diterapkan ke Drawable melalui metode "setColorFilter", dengan merujuk ke warna dan mode campuran PorterDuff. Mode campuran dan warna dapat diubah dari UI untuk melihat efek dari opsi lain.

    java
    ElevationBasic

    Contoh ini menunjukkan beberapa cara untuk memindahkan tampilan di sumbu z menggunakan setTranslationZ(). Metode ini diperkenalkan di API Level 21 ('Lollipop').

    java
    ElevationDrag

    Contoh ini menunjukkan tindakan tarik lalu lepas pada berbagai bentuk. Ketinggian dan transformasi z digunakan untuk merender bayangan, dan tampilan diklip menggunakan Outline lain.

    c++ ndk
    Endless Tunnel

    Endless Tunnel adalah contoh game yang menunjukkan cara: - menggunakan dukungan Android Studio C++ - menerapkan game menggunakan perekat asli Android - mengimplementasikan dukungan joystick, termasuk navigasi DPAD yang tangguh untuk layar non-sentuh. Contoh ini TIDAK bertujuan menampilkan cara terbaik untuk menulis logika game, memuat resource, dll. Game itu sendiri sengaja dibuat tidak sempurna agar tetap fokus pada integrasi Android Studio C++. Misalnya, game ini berisi tekstur dan geometri yang di-hard code dalam kode, yang berfungsi untuk game demo kecil seperti ini, tetapi tidak diskalakan dengan baik pada game sebenarnya. Contoh ini menggunakan plugin CMake Android Studio baru dengan dukungan C++.

    kotlin
    Autentikasi Biometrik (Kotlin)

    Contoh yang menunjukkan cara menggunakan sidik jari terdaftar untuk mengautentikasi pengguna di aplikasi Anda

    java
    Browser GitHub dengan Komponen Arsitektur

    Ini adalah contoh aplikasi yang menggunakan Komponen Arsitektur Android dengan Dagger 2. CATATAN Contoh ini relatif lebih rumit dan lengkap, sehingga jika tidak memahami Komponen Arsitektur, sebaiknya Anda lebih dahulu melihat contoh lain dalam repositori ini.

    java android things
    SDK Asisten Google untuk perangkat - Things

    Contoh ini menunjukkan cara memanggil Layanan Asisten Google dari Android Things menggunakan gRPC. Fitur ini merekam permintaan lisan dari mikrofon yang terhubung, mengirimnya ke Google Assistant API, lalu memutar respons lisan Asisten pada speaker yang terhubung.

    c++, java ndk
    Hello GL2

    Hello GL2 adalah contoh Android C++ yang menggambar segitiga menggunakan GLES 2.0 API. Contoh ini memanfaatkan JNI untuk melakukan rendering dalam C++ melalui GLSurfaceView yang dibuat dari Aktivitas Java Android biasa. Contoh ini menggunakan plugin CMake Android Studio baru dengan dukungan C++.

    c++, java ndk
    Hello JNI

    Hello JNI adalah contoh Android yang menggunakan JNI untuk memanggil kode C dari Aktivitas Java Android. Contoh ini menggunakan codelab Hello-CMake yang baru

    c++, java ndk
    Callback Hello JNI

    Ini adalah contoh add-on untuk Hello JNI yang menunjukkan proses callback ke Java dari kode C - membuat instance class java dari kode C - memanggil fungsi anggota statis dan non-statis class java Contoh ini menggunakan plugin CMake Android Studio baru dengan Dukungan C++.

    java
    ImmersiveMode

    Salah satu fitur yang diperkenalkan di KitKat adalah "mode imersif". Mode imersif memberi pengguna kemampuan untuk menampilkan/menyembunyikan status bar dan menu navigasi dengan menggesernya. Untuk mencobanya, klik tombol "Aktifkan/nonaktifkan mode imersif", lalu geser status bar atau menu ke dalam dan ke luar.

    kotlin
    Aplikasi Instan - Cookie API

    Aplikasi contoh ini menunjukkan cara menggunakan Cookie API. Aplikasi ini menyimpan dan mengambil nilai menggunakan Android Framework API dan InstantApps Play Services API. Penggunaan API ini tersedia untuk Aplikasi Instan dan Aplikasi Terinstal, serta memungkinkan migrasi data yang dihasilkan pengguna dari aplikasi instan ke aplikasi terinstal. Alur untuk API ini adalah sebagai berikut:

    • Periksa apakah cookie sesuai jumlah yang diizinkan.
    • Simpan data dalam aplikasi instan.
    • Ambil data dari aplikasi yang terinstal.

    API ini tersedia untuk API 26 atau yang lebih tinggi melalui PackageManagerCompat.

    Varian Build Contoh ini memiliki dua varian build:
    • framework -> Android 8.0 (API level 26) atau yang lebih tinggi
    • playServices -> API level apa pun
    Kedua varian build memiliki fitur yang sama, tetapi satu build menggunakan Framework API sedangkan build yang lain menggunakan InstantApps Play Services API. Menguji API dengan contoh ini
    • Jalankan konfigurasi instan
    • Simpan sebagian data
    • Jalankan konfigurasi yang terinstal
    • Ambil data yang disimpan sebelumnya
    java
    Aplikasi Instan - Contoh Google Analytics

    Aplikasi contoh ini menunjukkan cara mengintegrasikan Google Analytics for Firebase ke aplikasi instan.

    kotlin
    Aplikasi Instan - Hello World (Kotlin)

    Contoh aplikasi ini menunjukkan cara membuat aplikasi instan dan aplikasi terinstal dengan perilaku yang sama menggunakan Kotlin. Fungsi aplikasi instan ini di-build dalam dua fitur, yang dapat diinstal dan diluncurkan secara terpisah di perangkat.

    kotlin
    Aplikasi Instan - Contoh Install API

    Aplikasi contoh ini menunjukkan cara menggunakan [Install API](https://developers.google.com/android/reference/com/google/android/gms/instantapps/InstantApps.html#showInstallPrompt(android.app.Activity,%20android.content.Intent,%20int,%20java.lang.String)). API ini akan memicu Intent untuk menginstal aplikasi pada perangkat. Panggilan juga menerima Intent, yang dipicu setelah proses instal selesai. Jika aplikasi ingin menggunakan API ini, aplikasi yang dapat diinstal diperlukan di Google Play Store. Selain itu, applicationIds pada instan serta modul aplikasi harus cocok.

    java
    Aplikasi Instan - Contoh aplikasi dengan banyak fitur

    Contoh aplikasi ini menunjukkan cara mem-build aplikasi instan dan aplikasi yang dapat diinstal dengan perilaku yang sama. Fungsi aplikasi instan dibagi menjadi dua fitur, yang dapat diluncurkan secara terpisah pada perangkat.

    java
    Aplikasi Instan - Layanan

    Contoh ini menunjukkan cara membuat layanan yang dimulai atau terikat dalam Aplikasi Instan Android.

    java
    Interpolator

    Contoh ini menunjukkan penggunaan interpolator animasi dan animasi jalur untuk Material Design.

    kotlin
    JobScheduler (Kotlin)

    Demonstrasi JobScheduler API, yang menyediakan antarmuka untuk menjadwalkan tugas latar belakang ketika tugas tertentu berlaku. Untuk memahami cara kerja contoh ini, cobalah skenario yang berbeda ini:

  • Lepaskan perangkat dari sumber listrik, jadwalkan tugas yang mengharuskan perangkat disambungkan ke sumber listrik. Tugas akan dimulai saat perangkat disambungkan ke sumber listrik.
  • Setel waktu tunda 10 detik dan tekan kembali. Aktivitas dan layanan selesai, tetapi layanan diluncurkan kembali dalam 10 detik (logcat akan menampilkan pesan debug).
  • Setel waktu tunda 5 detik dan durasi kerja 10 detik. Jadwalkan tugas dan tekan tombol kembali. Buka kembali aktivitas setelah 6 detik. Aktivitas ini akan menampilkan onStopTask meskipun aktivitas dan layanan telah dimatikan.
  • java
    JumpingJack

    Contoh dasar yang menunjukkan cara menggunakan sensor Gravitasi pada perangkat wearable dengan menghitung jumlah jumping jack yang telah Anda lakukan.

    java
    MediaEffects

    Contoh ini menunjukkan cara menggunakan Media Effects API yang diperkenalkan di Android 4.0.

    java
    MediaRecorder

    Contoh ini menggunakan kamera/perekam video sebagai sumber A/V untuk MediaRecorder API. TextureView digunakan sebagai pratinjau kamera yang membatasi kode ke API 14+. Hal ini dapat dengan mudah diganti dengan SurfaceView agar bisa berjalan di perangkat lama.

    java
    MediaRouter

    Menunjukkan cara membuat penyedia rute media kustom.

    java
    MidiScope

    Contoh ini menunjukkan cara menggunakan MIDI API untuk menerima dan memproses sinyal MIDI yang berasal dari perangkat yang dipasang.

    java
    MidiSynth

    Contoh ini menunjukkan cara menggunakan MIDI API untuk menerima dan memutar pesan MIDI yang berasal dari perangkat input yang dipasang (keyboard MIDI).

    java
    MultiWindowPlayground

    Contoh ini menunjukkan penggunaan API multi-aplikasi yang tersedia di Android N. Contoh ini menunjukkan penggunaan tanda Intent baru dan properti AndroidManifest untuk menentukan perilaku multi-aplikasi. Alihkan contoh aplikasi ke mode multi-jendela untuk melihat pengaruhnya terhadap siklus proses dan perilaku aplikasi.

    c++ ndk
    Native Activity

    Native Activity adalah contoh Android yang menginisialisasi konteks GLES 2.0 dan membaca data akselerometer dari kode C menggunakan Native Activity. Contoh ini menggunakan plugin CMake Android Studio baru dengan dukungan C++.

    c++, java ndk
    Native Audio

    Native Audio adalah contoh aplikasi Android yang memutar dan merekam suara dengan OpenSLES API C++ menggunakan JNI. Perekam/pemutar suara yang dibuat tidak berada dalam jalur audio cepat. Contoh ini menggunakan plugin CMake Android Studio baru dengan dukungan C++.

    c++ android things
    Native Peripheral I/O

    Aplikasi Android Things ini menjalankan kode dasar yang menjalankan Native PIO API dari C++. Setiap contoh merupakan modul Android yang dapat dijalankan secara terpisah.

    c++ ndk
    Native Plasma

    Native Plasma adalah contoh Android yang membuat efek plasma dalam Bitmap dari kode C menggunakan Native Activity. Contoh ini menggunakan plugin CMake Android Studio baru dengan dukungan C++.

    kotlin
    Panel Navigasi (Kotlin)

    Contoh ini menggambarkan penggunaan umum widget DrawerLayout di Android Support Library.

    java
    NetworkConnect

    Contoh ini menunjukkan cara menghubungkan ke jaringan dan mengambil HTML mentah menggunakan HttpsURLConnection. AsyncTask digunakan untuk melakukan pengambilan pada thread latar belakang.

    java
    NfcProvisioning

    Contoh ini menunjukkan cara menggunakan NFC untuk melakukan provisioning perangkat baru dengan pemilik perangkat. Pemilik perangkat adalah jenis administrator perangkat khusus yang dapat mengontrol keamanan dan konfigurasi perangkat. Contoh ini sendiri bukanlah pemilik perangkat, tetapi merupakan aplikasi pemrograman yang mengirim pesan NFC ke perangkat serupa yang belum di-provisioning dan memberitahukannya untuk menyiapkan aplikasi pemilik perangkat yang ditentukan.

    java
    PdfRendererBasic

    Contoh ini menunjukkan cara menampilkan dokumen PDF di layar menggunakan PdfRenderer yang diperkenalkan di Android 5.0 Lollipop.

    kotlin
    PdfRendererBasic (Kotlin)

    Contoh ini menunjukkan cara menampilkan dokumen PDF di layar menggunakan PdfRenderer yang diperkenalkan di Android 5.0 Lollipop.

    java android things
    Driver Periferal

    Contoh untuk driver periferal Android Things terdapat di repositori contrib-drivers.

    java
    PermissionRequest

    Contoh ini menunjukkan cara menggunakan PermissionRequest API untuk memberikan akses dengan aman ke fitur sistem yang dibatasi (seperti kamera atau mikrofon) dari dalam WebView. Dalam contoh ini, dialog dibuat untuk mengizinkan pengguna menyetujui atau menolak setiap permintaan secara eksplisit.

    kotlin
    RecyclerView (Kotlin)

    Contoh ini menunjukkan penggunaan RecyclerView untuk membuat tata letak elemen dengan LinearLayoutManager dan GridLayoutManager. Contoh ini juga menunjukkan cara menangani peristiwa sentuh pada elemen.

    java
    RenderScriptIntrinsic

    Contoh RenderScriptIntrinsic ini menunjukkan cara menggunakan intrinsik Renderscript. Membuat beberapa intrinsik RenderScript, dan menunjukkan hasil pemfilteran dengan berbagai parameter. Contoh ini menunjukkan cara memperluas RedioButton dengan StateListDrawable.

    java
    RevealEffectBasic

    Contoh ini menunjukkan efek reveal melingkar. Contoh ini mencakup pembuatan ViewAnimationUtils serta penentuan parameter reveal melingkar yang meliputi posisi dan radius awal.

    java
    Room & RxJava

    Ini adalah contoh API untuk menunjukkan cara menerapkan kueri yang dapat diobservasi di objek Flowable.

    kotlin
    Room & RxJava (Kotlin)

    Ini adalah contoh API untuk menunjukkan cara menggunakan objek Flowable di Kotlin.

    java
    Room dengan Penyedia Konten

    Contoh ini menunjukkan cara mengungkapkan data yang tersimpan di library persistensi Room dengan framework Penyedia Konten Android.

    kotlin
    RuntimePermissions (Kotlin)

    Contoh ini menunjukkan izin waktu proses yang tersedia di Android M dan versi lebih baru. Contoh ini menunjukkan cara memeriksa dan meminta izin saat waktu proses, menangani kompatibilitas mundur menggunakan library dukungan, dan cara mendeklarasikan izin opsional khusus untuk perangkat M.

    java
    RuntimePermissionsBasic

    Contoh dasar ini menunjukkan izin waktu proses yang tersedia di Android M dan versi lebih baru. Contoh ini menunjukkan cara menggunakan API izin waktu proses yang baru untuk memeriksa dan meminta izin melalui library dukungan.

    java
    RuntimePermissionsWear

    Contoh ini menunjukkan cara menangani data jarak jauh yang memerlukan izin, baik pada perangkat wearable maupun pada perangkat seluler.

    java
    Contoh Aplikasi Saluran TV (Input TV) yang menggunakan TIF

    Aplikasi ini dirancang untuk menunjukkan cara mem-build aplikasi saluran TV langsung untuk Android TV menggunakan Framework Input TV (TIF). Contoh tersebut adalah layanan yang setelah diinstal akan dikenali dan dijalankan oleh aplikasi TV default (mis. aplikasi Live TV).

    c++, java ndk
    San Angeles

    San Angeles adalah port Android demo yang menggunakan GLES C/API untuk membuat adegan prosedural. Lihat file README asli untuk mengetahui informasi selengkapnya tentang port GLES asli. Contoh demo: - Pembagian APK ABI

    java
    ScreenCapture

    Contoh ini menunjukkan cara menggunakan Media Projection API untuk mengambil gambar layar perangkat secara real time dan menampilkannya di SurfaceView.

    c++, java ndk
    Grafik Sensor

    Grafik sensor adalah contoh C++ Android yang membaca nilai akselerometer saat ini dan menggambarnya menggunakan OpenGL. Contoh ini menunjukkan penggunaan Native C++ API berikut: - Aset Contoh ini menggunakan plugin CMake Android Studio baru dengan dukungan C++.

    java android things
    Simple Peripheral I/O (Java)

    Aplikasi Android Things ini menjalankan kode dasar yang menggunakan Peripheral I/O API. Setiap contoh adalah modul Android yang dapat dijalankan secara terpisah.

    kotlin android things
    Simple Peripheral I/O (Kotlin)

    Aplikasi Android Things ini menjalankan kode dasar yang menggunakan Peripheral I/O API. Setiap contoh adalah modul Android yang dapat dijalankan secara terpisah.

    java android things
    Simple Peripheral UI (Java)

    Utilitas ini menampilkan GPIO perangkat Android Things sebagai widget tombol dalam UI grafis. Anda meninjau status input, dan mengklik tombol untuk mengontrol status output.

    kotlin android things
    Simple Peripheral UI (Kotlin)

    Utilitas ini menampilkan GPIO perangkat Android Things sebagai widget tombol dalam UI grafis. Anda meninjau status input, dan mengklik tombol untuk mengontrol status output.

    java
    SpeedTracker

    Contoh ini menunjukkan kecepatan dan lokasi perekaman dengan perangkat Wear. Lokasi diambil melalui FusedLocatinProvider yang mengambil koordinat dari ponsel atau Wear, bergantung pada apakah ponsel terhubung atau tidak dan apakah perangkat Wear memiliki chip GPS.

    java
    StorageClient

    Dengan intent OPEN_DOCUMENT, aplikasi klien dapat mengakses daftar Penyedia Dokumen di perangkat, dan memilih file dari penyedia mana pun.

    java
    StorageProvider

    Contoh ini menunjukkan cara menerapkan penyedia dokumen sederhana menggunakan framework akses penyimpanan yang tersedia di Android 4.4.

    kotlin
    Sunflower

    Aplikasi berkebun yang mengilustrasikan praktik terbaik pengembangan Android dengan Android Jetpack. Android Sunflower saat ini dirilis sebagai versi alfa dan sedang dalam pengembangan mendalam. Untuk melihat perubahan terbaru, kunjungi halaman Rilis. Perhatikan bahwa beberapa perubahan (seperti modifikasi skema database) tidak kompatibel dengan versi sebelumnya selama periode alfa dan mungkin menyebabkan aplikasi error. Dalam hal ini, uninstal dan instal ulang aplikasi.

    java
    SwipeRefreshLayoutBasic

    Contoh dasar yang menunjukkan cara menggunakan SwipeRefreshLayout untuk menambahkan gestur 'geser untuk muat ulang' ke Tampilan, sehingga memungkinkan kemampuan untuk memicu muat ulang dari tindakan menggeser ke bawah pada tampilan. Dalam contoh ini, Tampilan yang dapat dimuat ulang adalah ListView.

    java
    SwipeRefreshMultipleViews

    Contoh yang menunjukkan cara menggunakan SwipeRefreshLayout untuk menambahkan gestur 'geser untuk muat ulang' ke tata letak dengan beberapa turunan, memungkinkan kemampuan untuk memicu muat ulang dari tindakan menggeser ke bawah pada tampilan yang terlihat. Dalam contoh ini, SwipeRefreshLayout berisi GridView yang dapat di-scroll, serta tampilan kosong TextView.

    c++, java ndk
    Teapot

    Teapot adalah kumpulan contoh C++ Android yang menggunakan proses rendering Teapot untuk menampilkan fitur platform Android NDK: - classic-teapot: Merender teapot klasik menggunakan GLES 2.0 API dan NativeActivity. - more-teapot: Merender beberapa instance Classic Teapot dengan Proses Rendering Instan GLES 3.0 - Choreographer-30fps: menunjukkan beberapa teknik pembatasan frame per detik berdasarkan level API menggunakan Chreographer API dan ekstensi waktu presentasi EGL Android. Contoh ini menggunakan plugin CMake Android Studio baru dengan dukungan C++.

    java android things
    Pengklasifikasi Gambar IoT TensorFlow Lite

    Contoh ini menunjukkan cara menjalankan inferensi TensorFlow Lite di Android Things. Tekan tombol untuk mengambil gambar dengan kamera, dan TensorFlow Lite akan memberi tahu Anda konten yang ada di gambar tersebut. Ikuti petunjuk langkah demi langkah Codelab Pengklasifikasi Gambar tentang cara mem-build contoh serupa.

    kotlin
    Blueprint Pengujian (Kotlin)

    Kumpulan alat dan framework pengujian Android Google, semuanya terintegrasi dalam satu project aplikasi.

    java
    TextLinkify

    Contoh ini menggambarkan penambahan link ke TextView. Tindakan ini dapat dilakukan secara otomatis dengan menyetel properti "autoLink" atau dilakukan secara eksplisit.

    java android things
    Update Perangkat Android Things

    Aplikasi ini menunjukkan cara berinteraksi dengan layanan update perangkat di Android Things melalui UpdateManager API. Secara default, sistem memeriksa update OTA baru setiap beberapa jam dan menerapkannya secara otomatis. Contoh ini menunjukkan cara mengonfigurasi kebijakan update guna mengizinkan aplikasi untuk mendapatkan kontrol lebih besar atas proses update dan memantau progres.

    java android things
    Things LoWPAN

    Contoh ini menunjukkan cara menggunakan LoWPAN untuk menghubungkan beberapa perangkat Android Things dalam jaringan yang sama dan mentransfer data secara nirkabel. Ada tiga modul dalam contoh ini yang menunjukkan cara memindai jaringan, mengirim data, dan menerima data. Untuk mempelajari lebih lanjut jaringan LoWPAN, lihat panduan LoWPAN API.

    kotlin
    Topeka untuk Android

    Kuis seru yang menampilkan Desain Material di Android

    java layanan google play, layanan penagihan google play
    Trivial Drive

    Contoh AIDL Layanan Penagihan Google Play versi 3

    java layanan google play, layanan penagihan google play, library layanan penagihan google play
    Trivial Drive v2

    Contoh AIDL Layanan Penagihan Google Play versi 3

    java android things
    UART Loopback (Java)

    Contoh ini menunjukkan aktivitas baca dan tulis data dasar melalui UART. Aplikasi ini membuat antarmuka loopback yang segera mengirimkan data apa pun yang dibaca dari buffer penerima (RX) ke buffer transmisi (TX).

    kotlin android things
    UART Loopback (Kotlin)

    Contoh ini menunjukkan aktivitas baca dan tulis data dasar melalui UART. Aplikasi ini membuat antarmuka loopback yang segera mengirimkan data apa pun yang dibaca dari buffer penerima (RX) ke buffer transmisi (TX).

    java android things
    USB Enumerator (Java)

    Aplikasi ini menunjukkan cara mengakses UsbManager Android API dari dalam aplikasi Android Things. Contoh aplikasi ini melakukan iterasi pada semua perangkat USB yang ditemukan oleh host serta mencetak antarmuka dan endpoint-nya.

    kotlin android things
    USB Enumerator (Kotlin)

    Aplikasi ini menunjukkan cara mengakses UsbManager Android API dari dalam aplikasi Android Things. Contoh aplikasi ini melakukan iterasi pada semua perangkat USB yang ditemukan oleh host serta mencetak antarmuka dan endpoint-nya.

    kotlin android auto, android wear
    Universal Music Player

    Tujuan dari contoh ini adalah untuk menunjukkan cara mengimplementasikan aplikasi media audio yang berfungsi di berbagai faktor bentuk dan memberikan pengalaman pengguna yang konsisten di ponsel dan tablet Android, Android Auto, Android Wear, Android TV, Perangkat Google Cast, serta dengan Asisten Google.

    c++ ndk
    WEBP

    Webp adalah contoh aplikasi Android yang mencakup aplikasi ringkas untuk mendemonstrasikan penggunaan webp dalam tampilan Aktivitas Native
    : - memutar 3 gambar webp decoding dan memuatnya ke buffer di layar. Decoding berada di threadnya sendiri Contoh ini menggunakan plugin CMake Android Studio yang baru.

    kotlin
    AutofillFramework (Kotlin)

    Contoh ini menunjukkan penggunaan Framework IsiOtomatis. Hal ini mencakup implementasi Aktivitas klien dengan tampilan yang harus diisi otomatis, dan Layanan yang dapat memberikan data isi otomatis ke Aktivitas klien.

    java
    WearComplicationProvidersTestSuite

    Complication Test Suite adalah kumpulan penyedia detail yang menyediakan data tiruan dan dapat digunakan untuk menguji bagaimana berbagai jenis detail dirender pada tampilan jam.

    java
    Wear Speaker

    Contoh yang menunjukkan cara merekam suara menggunakan mikrofon pada perangkat wearable dan memutar rekaman suara atau file mp3, jika perangkat wearable dilengkapi dengan speaker. Contoh ini tidak memiliki aplikasi ponsel pendamping, sehingga Anda perlu menginstalnya langsung di jam tangan (menggunakan "adb").

    java
    Wear Verify Remote App

    Contoh ini menunjukkan tips untuk memeriksa apakah perangkat seluler yang terhubung telah menginstal aplikasi Anda dari aplikasi mandiri Android Wear 2.+ dan sebaliknya.

    java android things
    Weather Station

    Contoh ini mengintegrasikan beberapa driver periferal Android Things untuk membuat Weather Station yang terhubung.

    java
    XYZTouristAttractions

    Contoh ini bertujuan untuk memberikan gambaran semirip mungkin dengan contoh nyata kombinasi aplikasi seluler dan Wear. Contoh ini memiliki desain yang lebih baik serta memberikan contoh praktis tentang cara interaksi dan komunikasi aplikasi seluler dengan perangkat wear-nya. Aplikasi itu sendiri dibuat seperti aplikasi objek wisata hipotesis yang memberi tahu pengguna ketika mereka berada di sekitar lokasi menarik yang terkenal. Komponen Wear akan menampilkan gambar objek wisata dan informasi ringkasan, serta menawarkan tindakan cepat untuk objek wisata terdekat dalam komponen UI GridViewPager.

    c++, java ndk
    gles3jni

    gles3jni adalah contoh aplikasi Android C++ yang menunjukkan cara menggunakan OpenGL ES 3.0 dari JNI/kode native. Jalur rendering OpenGL ES 3.0 menggunakan beberapa fitur baru jika dibandingkan dengan jalur OpenGL ES 2.0: - Rendering yang memiliki instance dan pembagi atribut vertex untuk mengurangi jumlah panggilan gambar serta perubahan seragam. - Objek array vertex untuk mengurangi jumlah panggilan yang diperlukan guna menyiapkan status atribut vertex pada setiap frame. - Penetapan lokasi atribut eksplisit, sehingga tidak perlu mengajukan kueri penetapan. Contoh ini menggunakan plugin CMake Android Studio baru dengan dukungan C++.

    c++, java ndk
    hello-libs

    hello-libs adalah contoh yang menunjukkan cara mengelola library C/C++ pihak ketiga dengan Android Studio.

    per halaman
    220 hasil