Google は、黒人コミュニティに対する人種平等の促進に取り組んでいます。取り組みを見る
件 / ページ
183 件の結果
Java
フラグメントの遷移: RecyclerView から ViewPager

この Android プロジェクトには、「継続的な共有要素の遷移: RecyclerView から ViewPager」の記事があります。 コードは、Android フラグメント間の特定の遷移を実装するものです。<code>RecyclerView</code> 内の画像から <code>ViewPager</code> 内の画像に遷移してまた戻る動作を実装し、「共有要素」を使用してどのビューがどのように遷移に参加するか調べる方法を示します。また、以前は画面外にあったアイテムにページングした後でグリッドに戻るという扱いにくいケースも処理します。 <strong>これは正式にサポートされている Google プロダクトではありません。</strong>

Java
HdrViewfinder

このデモは、センサーの露出時間を偶数と奇数のフレームの 2 つの露光値の間で交互に切り替え、新しいフレームを撮影するたびに最後の 2 つのフレームを合成することにより、リアルタイムのハイ ダイナミック レンジ カメラのビューファインダーを実装します。

Java
BeamLargeFiles

このサンプルは、Android ビームで大きなファイルを転送する方法を紹介します。NFC で最初のハンドシェイクを行った後、Bluetooth や Wi-Fi Direct などの二次的な高速通信チャネルを介してファイルを転送します。 この機能を使用するには、Android 4.1(Jelly Bean)以上が必要です。従来のビームとは異なり、受信デバイス上のアプリはインテントを受信しません。代わりにシステムがファイルをディスクに保存して通知を表示するので、ユーザーは標準の ACTION_VIEW インテントを使ってファイルを開くことを選択できます。

Java
BluetoothAdvertisements

このサンプルは、Bluetooth Low Energy API を使って少量のデータをアドバタイズする方法を紹介します。また、こうしたアドバタイズメントをスキャンする方法も示します(操作をすべて確認するには、デバイスが 2 台必要です)。

Java
BluetoothLeGatt

このサンプルは、Bluetooth LE 汎用属性プロファイル(GATT)を使ってデバイス間で任意のデータを送信する方法を紹介します。

Java
AutofillFramework

このサンプルは、自動入力フレームワークの使用方法を紹介します。自動入力を必要とするビューを含むクライアント アクティビティと、クライアント アクティビティに自動入力データを提供できるサービスの実装が含まれています。

Java
CommitContentSampleApp

このサンプルは、Commit Content API を使ってキーボードから送信されたリッチ コンテンツ(画像など)を受け取るアプリを記述する方法を紹介します。

Java
CommitContentSampleIME

このサンプルは、Commit Content API を使ってリッチ コンテンツ(画像など)をテキスト フィールドに送信するキーボードを記述する方法を紹介します。

Java
PictureInPicture

このサンプルは、ハンドヘルド デバイスにおけるピクチャー イン ピクチャー モードの基本的な使用方法を紹介します。動画の再生を開始した後、ピクチャー イン ピクチャー モードに入っても再生を続けます。ピクチャー イン ピクチャー モードの画面には、動画を一時停止または再開するアクション アイテムが表示されます。

Kotlin
PictureInPicture(Kotlin)

このサンプルは、ハンドヘルド デバイスにおけるピクチャー イン ピクチャー モードの基本的な使用方法を紹介します。動画の再生を開始した後、ピクチャー イン ピクチャー モードに入っても再生を続けます。ピクチャー イン ピクチャー モードの画面には、動画を一時停止または再開するアクション アイテムが表示されます。

Java
RuntimePermissionsBasic

この基本的なサンプルは、Android M 以上で使用できるランタイム権限を紹介します。新しい Runtime Permissions API を使って、サポート ライブラリから権限の確認とリクエストを行う方法を示します。

Java
RuntimePermissionsBasicKotlin

この基本的なサンプルは、Android M 以上で使用できるランタイム権限を紹介します。新しい Runtime Permissions API を使って、サポート ライブラリから権限の確認とリクエストを行う方法を示します。

Java
DirectBoot

このサンプルは、デバイス保護ストレージにデータを保存する方法を紹介します。このストレージは、デバイスが起動している間は、ユーザー認証情報(PIN、パターン、パスワード)が入力される前と後のどちらでも常に利用できます。

Java
AppShortcuts

このサンプルは、Android 7.1(API 25)で導入された Launcher Shortcuts API の使用方法を紹介します。この API では、ユーザーがアプリのランチャー アイコンを押し続けたときに表示される、インテントのセットを定義できます。XML 内で静的に登録するリンクと、実行時に動的に登録するリンクの両方の例を示します。

Java
DocumentCentricRecents

このサンプルは、新しい Document Centric Apps API の基本的な使用方法を紹介します。システム概要メニュー内に新しいドキュメントを作成し、再起動してもドキュメントの状態を保持できます。

Java
DownloadableFonts

このサンプルは、Android O で導入された「ダウンロード可能なフォント」機能の使用方法を紹介します。この機能により、アプリはフォントをバンドルまたはダウンロードする代わりに、特定のフォントをプロバイダから要求できるようになるため、フォントをアセットとしてバンドルする必要がなくなります。

Kotlin
DownloadableFonts(Kotlin)

このサンプルは、Android O で導入された「ダウンロード可能なフォント」機能の使用方法を紹介します。この機能により、アプリはフォントをバンドルまたはダウンロードする代わりに、特定のフォントをプロバイダから要求できるようになるため、フォントをアセットとしてバンドルする必要がなくなります。

Java
EmojiCompat

このサンプルは、EmojiCompat サポート ライブラリの使用方法を紹介します。このライブラリを使用すると、アプリにない絵文字を豆腐(□)で表示することを避けられます。バンドルされた絵文字フォントとダウンロード可能な絵文字フォントのどちらでも使用できます。このサンプルは、両方の使用方法を示します。

Kotlin
EmojiCompat(Kotlin)

このサンプルは、EmojiCompat サポート ライブラリの使用方法を紹介します。このライブラリを使用すると、アプリにない絵文字を豆腐(□)で表示することを避けられます。バンドルされた絵文字フォントとダウンロード可能な絵文字フォントのどちらでも使用できます。このサンプルは、両方の使用方法を示します。

Java
Notifications

このサンプルは、NotificationStyle 通知(Inbox、BigPicture、BigText、Messaging)を使用する際のおすすめの方法を紹介します。モバイルアプリと、ネイティブ / ローカル Wear アプリの両方を対象とします。Wear 1.x と Wear 2.0 での通知も対象です。

Java
CardView

このサンプルは、Android 5.0 でサポート ライブラリに導入された CardView の使用方法を紹介します。

Kotlin
CardView(Kotlin)

このサンプルは、Android 5.0 でサポート ライブラリに導入された CardView の使用方法を紹介します。

Java
RecyclerView

このサンプルは、RecyclerView を使用して、LinearLayoutManager と GridLayoutManager のそれぞれで要素をレイアウトする方法を紹介します。また、要素のタッチイベントを処理する方法も示します。

Kotlin
RecyclerView(Kotlin)

このサンプルは、RecyclerView を使用して、LinearLayoutManager と GridLayoutManager のそれぞれで要素をレイアウトする方法を紹介します。また、要素のタッチイベントを処理する方法も示します。

Java
RuntimePermissionsWear

このサンプルは、ウェアラブル デバイスとモバイル デバイスの両方で権限を必要とするリモートデータを処理する方法を紹介します。

Java
WatchFace

Wear 2.0 のウォッチ フェイスとその追加機能を紹介する簡単なサンプルです。

Java
WearDrawers

Wear 用のマテリアル デザインの一部であるナビゲーションとアクション ドロワーを紹介する簡単なサンプルです。

Java Firebase
Android 用 Firebase のクイックスタート

Android で Firebase API を使用する方法を示すクイックスタート サンプルのコレクションです。詳細については、https://firebase.google.com をご覧ください。

Java Firebase
Android 用 Firebase のクイックスタート

Android で Firebase API を使用する方法を示すクイックスタート サンプルのコレクションです。詳細については、https://firebase.google.com をご覧ください。

Java
ActivitySceneTransitionBasic

このサンプルは、Lollipop 内で、あるアクティビティから別のアクティビティにシーンを切り替える方法を紹介します。changeImageTransform と changeBounds を組み合わせて使用し、複数の画像のグリッドを 1 つの大きな画像と詳細テキストを含むアクティビティに切り替えます。

Java
BasicTransition

KitKat で導入された遷移フレームワークの使用方法を示す基本的なアプリ。このアプリは、さまざまなシーンを選択できるラジオボックスを表示し、さまざまな方法でシーン間を遷移します。

Java
CustomTransition

このサンプルは、標準の Transition クラスを拡張するカスタム Transition を実装する方法を紹介します。

Java
Interpolator

このサンプルは、<code>Material Design</code> でのアニメーション補間器とパス アニメーションの使用方法を紹介します。

Java
Motion

マテリアル デザイン モーションのデモのコレクションです。 マテリアル デザインは、モーション デザインに関するさまざまなサンプルを提供します。このサンプルでは、Android でそれらを実装する方法を紹介します。 <li>モーションについて</li> <li>スピード</li> <li>コレオグラフィ</li> <li>カスタマイズ</li> 「アニメーションと遷移」では、Android でさまざまなアニメーション API を使用する方法が説明されています。 デモのすべてのソースコードはデモパッケージに含まれています。 レイアウト &gt; ディゾルブ <img src="screenshots/dissolve.gif" height="400" alt="dissolve" /> レイアウト &gt; フェードスルー <img src="screenshots/fadethrough.gif" height="400" alt="fadethrough" /> レイアウト &gt; FAB 変換 <img src="screenshots/fabtransformation.gif" height="400" alt="fab" /> リスト &gt; 並べ替え <img src="screenshots/reordering.gif" height="400" alt="reorder" /> リスト &gt; 交互配置 <img src="screenshots/stagger.gif" height="400" alt="stagger" /> リスト &gt; オシレーション <img src="screenshots/oscillation.gif" height="400" alt="oscillation" /> ナビゲーション &gt; 共有要素 <img src="screenshots/sharedelement.gif" height="400" alt="sharedelement" /> ナビゲーション &gt; フェードスルー <img src="screenshots/navigationfadethrough.gif" height="400" alt="navfadethrough" />

Java
RevealEffectBasic

円形の出現エフェクトを紹介するサンプルです。ViewAnimationUtils を作成するほか、円形の出現のパラメータ(開始位置や半径など)を定義します。

Java
Instant Apps - Google アナリティクス サンプル

このサンプルアプリは、Firebase 向け Google アナリティクスを Instant App に統合する方法を示します。

Kotlin
Instant Apps - Cookie API

このサンプルアプリは、Cookie API の使用方法を紹介します。 Android Framework API と InstantApps Play Services API の両方を使って、値の保存と取得を行います。 使用方法 この API は、Instant App とインストール済みアプリの両方で使用可能で、ユーザーが生成したデータを Instant App からインストール済みアプリに移行できます。この API のフローは次のとおりです。 <li>Cookie が許容範囲に収まるかどうかを確認します。</li> <li>Instant App 内にデータを保存します。</li> <li>インストール済みアプリからデータを取得します。</li> <p>この API は、PackageManagerCompat を介して API 26 以上で使用できます。</p> ビルド バリアント このサンプルには、次の 2 つのビルド バリアントがあります。 <li><code>framework</code> -&gt; Android 8.0(API レベル 26)以上</li> <li><code>playServices</code> -&gt; 任意の API レベル</li> 2 つのビルド バリアントは同じ機能を提供しますが、1 つは Framework API を使用し、もう 1 つは InstantApps Play Services API を使用します。 このサンプルを使用して API をテストする方法 <li>実行構成で [Deploy as instant app] をオンにしてアプリを実行する</li> <li>なんらかのデータを保存する</li> <li>実行構成で [Deploy as instant app] をオフにしてアプリを実行する</li> <li>前に保存したデータを取得する</li>

Kotlin
Instant Apps - Install API サンプル

このサンプルアプリは、[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 は、デバイスにアプリをインストールするインテントをトリガーします。呼び出しは、インストールの完了後にトリガーされるインテントも受け取ります。 アプリでこの API を利用するには、Google Play ストアにインストール可能なアプリが必要です。さらに、Instant App とアプリ モジュールの両方の applicationId が一致する必要があります。

Java
Instant Apps - マルチ機能サンプルアプリ

このサンプルアプリは、インストール可能なアプリと、そのアプリと同じように動作する Instant App をビルドする方法を示します。Instant App の機能は、デバイスで個別に起動できる 2 つの機能に分割されます。

Java
Instant Apps - サービス

このサンプルは、Android Instant Apps 内で開始またはバインドされるサービスの作成方法を紹介します。

Kotlin
Instant Apps - Storage API サンプル

このサンプルアプリは、Storage API の使用方法を紹介します。 このサンプルは、<strong>API レベル 26 未満</strong>の Android バージョンを搭載したデバイスに関連しています。 API レベル 26 以上を搭載したデバイスでは、Android フレームワークがユーザーデータを Instant App からインストール済みアプリに移行します。 インストールが完了すると、インストール済みアプリはこの API を使用して Instant App から保存データを転送し、シームレスなエクスペリエンスをユーザーに提供します。 使用方法 インストール済みアプリで [Storage API](https://developers.google.com/android/reference/com/google/android/gms/instantapps/InstantAppsClient.html#getInstantAppData()) を呼び出します。この API を使用して、Instant App に保存されたデータにアクセスできます。 データ保存の詳細については、[ドキュメント](https://developers.google.com/android/reference/com/google/android/gms/instantapps/InstantAppsClient.html#getInstantAppData()) をご覧ください。

Java
Room および RxJava

Flowable オブジェクト内にオブザーバブルなクエリを実装する方法を紹介する API サンプルです。

Kotlin
Room および RxJava(Kotlin)

Kotlin で Flowable オブジェクトを使用する方法を紹介する API サンプルです。

Java
アーキテクチャ コンポーネントの基本

このサンプルは、以下のアーキテクチャ コンポーネントを紹介します。 <li>Room</li> <li>ViewModel</li> <li>LiveData</li>

Java
アーキテクチャ コンポーネントを使用する GitHub ブラウザ

Android アーキテクチャ コンポーネントと Dagger 2 を使用するサンプルアプリです。 <strong>注</strong>: 比較的複雑かつ完全なサンプルです。アーキテクチャ コンポーネントに精通していない場合、このリポジトリ内の他のサンプルを先に確認することを強くおすすめします。

Java
アーキテクチャ コンポーネント(LiveData、ViewModel、Lifecycle)を使用した Kotlin コルーチン

このサンプルは、以下のアーキテクチャ コンポーネントを紹介します。 <li>LiveData</li> <li>ViewModel</li> <li>Data Binding</li> また、次のアーティファクトを紹介します。 <li>androidx.lifecycle.lifecycle-livedata-ktx</li> このプロジェクトは、<code>liveData</code> ビルダーを使用してこれらを Kotlin のコルーチンと統合する方法を示します。

Kotlin
アーキテクチャ コンポーネントの高度なナビゲーション

機能 このサンプルは、ナビゲーションの原則に従うボトム ナビゲーション ビューの動作を示します。 <li>開始デスティネーションを固定する</li> <li>デスティネーションのスタックでナビゲーション状態を表現する</li> <li>上へボタンでアプリを終了しない</li> <li>上へボタンと戻るボタンをアプリのタスク内で同等にする</li> <li>ディープリンクとデスティネーションへのナビゲーションの結果を同じスタックにする</li> UI テストを入念に実施し、具体的なシナリオについて確認してください。

Java
アーキテクチャ コンポーネント(Paging)

このサンプルは、以下のアーキテクチャ コンポーネントを紹介します。 <li>Paging</li> <li>Room</li> <li>ViewModels</li> <li>LiveData</li>

Java
コンテンツ プロバイダで Room を操作する

このサンプルは、Android のコンテンツ プロバイダ フレームワークを使って、Room の永続ライブラリに保存されたデータを公開する方法を紹介します。

Kotlin
Jetpack WorkManager

Kotlin で記述されたシンプルな画像処理アプリ。WorkManager を使ってバックグラウンド処理を実行する方法を示します。

Kotlin
Crane サンプル

Jetpack Compose のサンプル。このサンプルの目的は、マテリアル コンポーネント、ドラッグ可能な UI 要素、Compose 内の Android ビュー、UI 状態の処理を紹介することです。 このサンプルアプリを試すには、Android Studio 4.2 の最新の Canary バージョンを使用する必要があります。以下に記載されている手順に従って、このリポジトリのクローンを作成するか、Android Studio からプロジェクトをインポートできます。

Kotlin
Jetnews サンプル

Jetnews は、Jetpack Compose で構築されたニュース読み取りサンプルアプリです。このサンプルの目的は、Compose の現在の UI 機能を紹介することです。 このサンプルアプリを試すには、Android Studio 4.2 の最新の Canary バージョンを使用する必要があります。以下に記載されている手順に従って、このリポジトリのクローンを作成するか、Android Studio からプロジェクトをインポートできます。

Kotlin
Jetcaster サンプル 🎙️

Jetcaster は、Jetpack Compose で構築されたポッドキャスト サンプルアプリです。このサンプルの目的は、動的なテーマ設定とフル機能のアーキテクチャを紹介することです。 このサンプルアプリを試すには、Android Studio 4.2 の最新の Canary バージョンを使用する必要があります。以下に記載されている手順に従って、このリポジトリのクローンを作成するか、Android Studio からプロジェクトをインポートできます。 ステータス: 🚧 進行中 🚧 Jetcaster はまだ開発の初期段階にあるため、これまでに作成された画面は 1 つだけです。ただし、アプリのアーキテクチャの大半は、データレイヤーおよび初期段階の動的テーマ設定とともに実装済みです。

Kotlin
Jetchat サンプル

Jetchat は、Jetpack Compose で構築されたチャット サンプルアプリです。 このサンプルアプリを試すには、Android Studio 4.2 の最新の Canary バージョンを使用する必要があります。以下に記載されている手順に従って、このリポジトリのクローンを作成するか、Android Studio からプロジェクトをインポートできます。 このサンプルは以下の機能を紹介します。 <li>UI の状態管理</li> <li>アーキテクチャ コンポーネントとの統合: Navigation、Fragment、LiveData、ViewModel</li> <li>戻るボタンの処理</li> <li>テキスト入力とフォーカスの管理</li> <li>複数のタイプのアニメーションと遷移</li> <li>構成変更の影響を受けない状態保存</li> <li>基本的なマテリアル デザインのテーマ設定</li> <li>UI テスト</li> <img src="screenshots/jetchat.gif" /> ステータス: 🚧 進行中 Jetchat は現在開発中であり、一部の機能はまだ実装されていません。

Kotlin
Jetsnack サンプル

Jetsnack は、Jetpack Compose で構築されたスナック注文サンプルアプリです。 このサンプルアプリを試すには、Android Studio 4.2 の最新の Canary バージョンを使用する必要があります。以下に記載されている手順に従って、このリポジトリのクローンを作成するか、Android Studio からプロジェクトをインポートできます。 このサンプルは以下の機能を紹介します。 <li>カスタム デザイン システムを実装する方法</li> <li>カスタム レイアウト</li> <li>アニメーション</li> <img src="screenshots/jetsnack.gif" /> ステータス: 🚧 進行中 🚧 Jetsnack は現在開発中であり、一部の画面はまだ実装されていません。

Kotlin
Jetsurvey サンプル

Jetsurvey は、Jetpack Compose で構築されたアンケート サンプルアプリです。このサンプルの目的は、Compose のテキスト入力、検証、状態の機能を紹介することです。 このサンプルアプリを試すには、Android Studio 4.2 の最新の Canary バージョンを使用する必要があります。以下に記載されている手順に従って、このリポジトリのクローンを作成するか、Android Studio からプロジェクトをインポートできます。

Kotlin
Owl サンプル

Owl は、マテリアル デザインの研究成果を示すサンプルです。 このサンプルアプリを試すには、Android Studio 4.2 の最新の Canary バージョンを使用する必要があります。以下に記載されている手順に従って、このリポジトリのクローンを作成するか、Android Studio からプロジェクトをインポートできます。 このサンプルは以下の機能を紹介します。 <li>マテリアル テーマとライトテーマ / ダークテーマ</li> <li>カスタム レイアウト</li> <li>アニメーション</li>

Kotlin
Rally サンプル

Rally は、マテリアル デザインの研究成果を示すサンプルです。 このサンプルアプリを試すには、Android Studio 4.2 の最新の Canary バージョンを使用する必要があります。以下に記載されている手順に従って、このリポジトリのクローンを作成するか、Android Studio からプロジェクトをインポートできます。 このサンプルは以下の機能を紹介します。 <li>マテリアル テーマ</li> <li>カスタム レイアウトと再利用可能な要素</li> <li>グラフと表</li> <li>アニメーション</li> <img src="screenshots/rally.gif" /> ステータス: 🚧 進行中 このサンプルは現在開発中であり、一部の機能はまだ実装されていません。

Java
BluetoothChat

このサンプルは、2 台の Android デバイス間で Bluetooth を介した双方向のテキスト チャットを実装する方法を紹介します。Bluetooth API の基本的な機能をすべて使用します。

Java
NetworkConnect

このサンプルは、HttpsURLConnection を使ってネットワークに接続し、未加工の HTML を取得する方法を紹介します。AsyncTask を使用して、バックグラウンド スレッドでフェッチを実行します。

Java
WifiRttScan

このサンプルは、Android で WifiRTT API を使用する際のおすすめの方法を紹介します。また、このアプリは、Wifi-RTT 対応のスマートフォンとアクセス ポイントをテストし、両者の推定距離が実際の距離に近いかどうかを検証するのに役立ちます。

Kotlin
データ バインディングの基本

このサンプルは、データ バインディング ライブラリの以下の機能を紹介します。 <li>レイアウトの変数と式</li> <li>オブザーバブルなフィールド、LiveData、オブザーバブルなクラスによるオブザーバビリティ</li> <li> >バインディング アダプター、バインディング メソッド、バインディング コンバーター</li> <li>ViewModel のシームレスな統合</li> 一般的な不適切な使用例とその解決策を 2 つの画面で表示します。

Kotlin
高度なデータ バインディング

このサンプルは、ワークアウト タイマーを表示するアプリにより、データ バインディング ライブラリの以下の機能を紹介します。 <li>双方向データ バインディング</li> <li>双方向データ バインディングの代替手段</li> <li>複数のパラメータを使用したアダプターのバインディング</li> <li>バインディング アダプターを使用したアニメーション</li> <li>バインディング コンバーターと逆方向コンバーター</li> <li>ViewModel と Kotlin を使用したデータ バインディング</li> <li>UI フレームワーク呼び出しのないアクティビティ</li> <li>テスト</li>

Java
AppRestrictionEnforcer

このサンプルは、プロファイル オーナーとして他のアプリへの制限を設定する方法を紹介します。制限の設定には、AppRestrictionSchema サンプルを使用します。

Java
AppRestrictionSchema

この基本的なアプリは、Android Device Administration API を使って、デバイス管理者がユーザーのアクティビティを制限できるようにする方法を示します。UI コントロールを有効または無効にするカスタム ポリシーをアプリがエクスポートします。デバイス管理アプリは、企業の管理者の指示に沿って、このポリシーに対する特定の値を適用できます。

Java
AppRestrictions

このサンプルは、マルチユーザーに対応しているデバイスでアプリ制限機能を使用する方法を紹介します。

Java
BasicManagedProfile

このサンプルは、Android 5.0 Lollipop で導入された Managed Profile API の基本機能を紹介します。プロファイル オーナーとしてこのアプリをセットアップすることができます。このアプリを使用して、新規作成されたマネージド プロファイル内で各アプリを有効または無効にすることができます。さらに、一部のアプリへの制限の設定、プロファイル間でのインテント転送の有効化と無効化、プロファイルに関連付けられたすべてのデータの消去を行うことができます。

Java
DeviceOwner

このサンプルは、デバイス オーナー機能の一部を使用する方法を紹介します。デバイス オーナーは時刻やタイムゾーンの自動設定などのグローバル設定を指定できます。優先インテント ハンドラを使って特定のランチャーを強制することもできます。

Java
NfcProvisioning

このサンプルは、NFC を使って、新しいデバイスにデバイス オーナーをプロビジョニングする方法を紹介します。デバイス オーナーとは、端末のセキュリティや設定を管理できる特別な権限を持った管理者です。このサンプルそのものはデバイス オーナーではありません。プロビジョニングされていないピアデバイスに NFC メッセージを送信して、指定のデバイス オーナー アプリをセットアップするように伝えるプログラミング アプリです。

Java
DisplayingBitmaps

このサンプルは、メインの UI スレッドから効率的に大量のビットマップを読み込む方法、メモリ内とディスク上のビットマップをキャッシュに保存する方法、ビットマップ メモリを管理する方法、ViewPager や ListView / GridView などの UI 要素にビットマップを表示する方法を紹介します。

Java
DrawableTinting

このサンプルは、ドローアブルに色合いと色のフィルタを適用する方法を紹介します。プログラムを使用する方法と、XML 内のドローアブル リソースとして適用する方法の両方を示します。 色合いは、「tint」パラメータと「tintMode」パラメータにより 9-patch ドローアブルに設定されます。ビューのさまざまな状態(例: 無効、有効、フォーカスされた、押された、選択された)の色を定義する色合いは、色状態リストで参照されます。 プログラムを使用する場合は、色の参照と PorterDuff ブレンドモードを指定して「setColorFilter」メソッドを実行し、色合いをドローアブルに適用します。この色とブレンドモードを UI から変更して、さまざまなオプションの効果を確認することができます。

Java
MediaEffects

このサンプルは、Android 4.0 で導入された Media Effects API の使用方法を紹介します。

Java
PdfRendererBasic

このサンプルは、Android 5.0 Lollipop で導入された PdfRenderer を使って PDF ドキュメントを画面に表示する方法を紹介します。

Kotlin
PdfRendererBasic(Kotlin)

このサンプルは、Android 5.0 Lollipop で導入された PdfRenderer を使って PDF ドキュメントを画面に表示する方法を紹介します。

Java
Account Transfer API アプリ

このサンプルアプリは、新しいデバイスのセットアップ時に AccountTransferApi を使ってアカウントを転送する方法を示します。

Java
credentials-quickstart

Java
Credentials API + Google Sign In API のクイックスタート

このサンプルは、同じアプリで Credentials API(SmartLock for Passwords)と Google Sign In API の両方を使用する方法を紹介します。 詳細については、https://developers.google.com/identity/ をご覧ください。

Java
SMS 確認アプリ

このサンプルは、Play 開発者サービスの SMS Verification API を使って、完全な SMS 取得権限(SMS_READ)なしで特別なタグ付きのテキスト メッセージ(タグで APK にメッセージを関連付け)にアクセスする方法を紹介します。

Kotlin
警告: このサンプルは現在は古くなっているため、代わりに Java バージョンを参照してください。

Android AutofillFramework サンプル(Kotlin) このサンプルは、自動入力フレームワークの使用方法を紹介します。自動入力を必要とするビューを含むクライアント アクティビティと、クライアント アクティビティに自動入力データを提供できるサービスの実装が含まれています。

Java
BasicGestureDetect

このサンプルは、ビュー上の操作を検出してログに記録します。このサンプルを試すには、テキストをドラッグするか、タップしてみてください。

Java
BasicMultitouch

このサンプルは、MotionEvent プロパティを使って、複数のタッチイベントにまたがるタッチを個別にトラッキングする方法を紹介します。

Java
ユーザーの現在のアクティビティを認識する

ActivityRecognitionApi を使用して、歩行、運転、静止などのユーザーの現在のアクティビティを認識する方法を紹介します。 概要 ActivityRecognitionApi を使用して、歩行、運転、静止などのユーザーの現在のアクティビティを認識する方法を紹介します。 ユーザーは、[Request Updates] ボタンを押してアクティビティの更新をリクエストし、[Remove Updates] ボタンを押して更新の受信を停止できます。 このサンプルは、<code>IntentService</code> を使って、検出されたアクティビティの変更を処理します。変更は、DetectedActivity タイプのリストに対する DetectedActivity クラスを使用して送信されます。個々の <code>DetectedActivity</code> は信頼レベル(0~100 の整数)に関連付けられます。 このサンプルを実行するには、<strong>位置情報が有効になっている必要があります</strong>。

Java
基本的な位置情報(Java)

Google Play 開発者サービスの Location API を使って、デバイスの直近の位置情報を取得する方法を紹介します。 概要 このサンプルは、デバイスの直近の位置情報(通常はデバイスの現在地と同じ)を取得するシンプルな方法を紹介します。返される位置情報の精度は、リクエストした位置情報の利用許可と、デバイスのその時点でアクティブな位置情報センサーによって決まります。 このサンプルを実行するには、<strong>位置情報が有効になっている必要があります</strong>。 このサンプルは FusedLocationProviderClient を使用します。 このサンプルの Kotlin バージョンも参照してください。

Kotlin
基本的な位置情報(Kotlin)

Google Play 開発者サービスの Location API を使って、デバイスの直近の位置情報を取得する方法を紹介します。 概要 このサンプルは、デバイスの直近の位置情報(通常はデバイスの現在地と同じ)を取得するシンプルな方法を紹介します。返される位置情報の精度は、リクエストした位置情報の利用許可と、デバイスのその時点でアクティブな位置情報センサーによって決まります。 このサンプルを実行するには、<strong>位置情報が有効になっている必要があります</strong>。 このサンプルは FusedLocationProviderClient を使用します。

Java
ジオフェンスの作成とモニタリング

GeofencingApi を使ってジオフェンスを作成および削除する方法を紹介します。ジオフェンスの遷移をモニタリングし、デバイスがジオフェンスを出入りするたびに通知を作成します。 概要 ジオフェンスは、ユーザーが今いる場所の情報と、ユーザーが関心を持つであろう場所が近くにあることを認識する機能を結び付けます。ユーザーが関心を持つであろう場所をマークするには、その場所の緯度と経度を指定します。場所の近さを調整するには、半径を追加します。緯度、経度、半径によりジオフェンスが定義されます。複数のジオフェンスを一度に定義できます。 位置情報サービスは、ジオフェンスをポイントと近さとしてではなく、領域として扱います。これにより、ユーザーがジオフェンスを出入りしたことを検出できます。位置情報サービスに対して、ジオフェンスごとに entrance イベントまたは exit イベント(あるいはその両方)を送信するように要求できます。また、有効期間をミリ秒単位で指定して、ジオフェンスの存続期間を制限できます。ジオフェンスが期限切れになると、位置情報サービスによって自動的に削除されます。 このサンプルを実行するには、<strong>位置情報が有効になっている必要があります</strong>。

Java
位置情報の更新(Java)

Geocode API を使ってリバース ジオコーディングを行い、デバイスの位置を住所として表示する方法を紹介します。 概要 このサンプルは、このリポジトリに含まれている BasicLocationSample サンプルと LocationUdpates サンプルを基に構築されています。これらのサンプルは、緯度と経度の値でのみ動作します。緯度と経度は距離の計算や地図上の位置の表示には役立ちますが、多くの場合は住所のほうが便利です。Android フレームワークの位置情報 API は、[getFromLocation()](http://developer.android.com/reference/android/location/Geocoder.html#getFromLocation(double, double, int)) メソッドを含む Geocode API を提供します。このメソッドは、指定された緯度と経度に対応する推定住所を返します。このサンプルは、<code>getFromLocation()</code> メソッドで位置情報検索を行い、IntentService で住所を取得し、IntentService から送信された結果を ResultReceiver で処理します。 このサンプルを実行するには、<strong>位置情報が有効になっている必要があります</strong>。

Kotlin
位置情報の更新(Kotlin)

Geocode API を使ってリバース ジオコーディングを行い、デバイスの位置を住所として表示する方法を紹介します。 概要 このサンプルは、このリポジトリに含まれている BasicLocationSample サンプルと LocationUdpates サンプルを基に構築されています。これらのサンプルは、緯度と経度の値でのみ動作します。緯度と経度は距離の計算や地図上の位置の表示には役立ちますが、多くの場合は住所のほうが便利です。Android フレームワークの位置情報 API は、[getFromLocation()](http://developer.android.com/reference/android/location/Geocoder.html#getFromLocation(double, double, int)) メソッドを含む Geocode API を提供します。このメソッドは、指定された緯度と経度に対応する推定住所を返します。このサンプルは、<code>getFromLocation()</code> メソッドで位置情報検索を行い、IntentService で住所を取得し、IntentService から送信された結果を ResultReceiver で処理します。 このサンプルを実行するには、<strong>位置情報が有効になっている必要があります</strong>。

Java
位置情報の更新

Fused Location Provider API を使って、デバイスの位置情報の更新を取得する方法を示します。融合された位置予測プロバイダは、Google Play 開発者サービスの Location API の一部です。 概要 このサンプルは、このリポジトリに含まれている BasicLocationSample サンプルを基に構築されており、ユーザーが定期的な位置情報の更新をリクエストすることを可能します。それに応じて API は、WiFi や GPS(グローバル ポジショニング システム)などのその時点で利用可能な位置情報プロバイダに基づき、取得できる最適な位置情報を定期的にアプリに供給します。また、位置情報の精度は、リクエストした位置情報の利用許可(ACCESS_FINE_LOCATION を使用)と、位置情報リクエストで設定したオプションによって決まります。 このサンプルは FusedLocationProviderClient を使用します。 このサンプルを実行するには、<strong>位置情報が有効になっている必要があります</strong>。

Java
BasicMediaDecoder

このサンプルは、MediaCoder で動画をデコードする方法と、TimeAnimator でレンダリング コマンドをシステムの表示フレームのレンダリングと同期して最終的に TextureView にレンダリングする方法を紹介します。

Java
BasicMediaRouter

このサンプルは、MediaRouter API を使ってセカンダリ ディスプレイにコンテンツを表示する方法を紹介します。出力デバイスを選択するには、ActionBar の [Media Route] アクション アイテムを使用します。Miracast ワイヤレス ディスプレイをサポートするデバイスでは、場合によってはシステム設定でワイヤレス ディスプレイ機能を有効にする必要があります。[開発者向けオプション] からセカンダリ画面のシミュレーションを有効にすることもできます。 接続後に、[Change Color] ボタンを使ってセカンダリ画面の背景色を変更できます。

Java
MediaRecorder

このサンプルは、カメラ / カムコーダーを MediaRecorder API の映像 / 音声ソースとして使用します。TextureView は、API 14 以上のコードでのみカメラのプレビューとして使用されます。それより古いデバイスで実行する場合は、SurfaceView に簡単に変更できます。

Java
MediaRouter

カスタム メディアルート プロバイダを作成する方法を紹介します。

Java
MidiScope

このサンプルは、MIDI API を使って、接続されたデバイスから MIDI 信号を受信して処理する方法を紹介します。

Java
MidiSynth

このサンプルは、MIDI API を使って、接続された入力デバイス(MIDI キーボードなど)から MIDI メッセージを受信して再生する方法を紹介します。

Java
ScreenCapture

このサンプルは、Media Projection API により、デバイス画面をリアルタイムでキャプチャして SurfaceView に表示する方法を紹介します。

Kotlin ExoPlayer
動画プレーヤー

このサンプルは、HTTP(S) を介して、ローカル ストレージ(APK 内のアセット フォルダ)またはリモートソースから動画を再生できるメディアアプリを実装する方法を紹介します。1. プレイリストをサポートしているため、複数の動画をつなぎ合わせたり、前後の動画をスキップしたりできます。2. <code>MediaSession</code> をサポートしているため、外部 Bluetooth ヘッドフォンでメディアを操作(例: 再生、一時停止、次へスキップ)したり、現在再生中のメディア(自動車の Bluetooth ヘッドユニットなど)を確認したりできます。3.音声フォーカスをサポートしているため、Android の音声フォーカス システムを優先して、他の何かが再生している場合は再生を一時停止できます。4. ピクチャー イン ピクチャー(PIP)をサポートしているため、ユーザーが別のアプリを使用しているときに、最小化されたウィンドウでアプリの動画再生を続行できます。<code>ExoPlayer</code>、<code>MediaSession</code>、音声フォーカス、PIP の詳細については、これらの API を詳細に解説している Medium の一連の記事をご確認ください。

C++、Java NDK
Audio-Echo

このサンプルは、OpenSL ES を使って Android 高速オーディオパスにプレーヤーとレコーダーを作成し、それらをループバック オーディオに接続する方法を紹介します。Android 搭載端末のほとんどに、最適化されたオーディオパスがあり、レイテンシを短くするように調整されています。このサンプルは、このような高度に最適化されたオーディオパス(ネイティブ オーディオパス、低レイテンシパス、高速オーディオパスと呼ばれることもあります)で動作するプレーヤー / レコーダーを作成します。アプリの構成は、Android L AndroidOne、Android M Nexus 5、Nexus 9 で検証済みです。 このサンプルは、CMake をサポートする新しい Android Studio を使用しており、Android Studio バージョン 2.2.0 で共有 STL ライブラリを使用する方法を示します。詳細については、CMakeLists.txt をご覧ください。 <strong>なお、OpenSL ES は Oboe ライブラリの代わりです。<em></em></strong>

C++、Java NDK
ビットマップ プラズマ

ビットマップ プラズマは、JNI を使って Android ビットマップにプラズマ効果をレンダリングする、C コードで記述された Android サンプルです。このサンプルは、C++ に対応した新しい Android Studio CMake プラグインを使用します。

C++ NDK
エンドレス トンネル

エンドレス トンネルは、Android Studio の C++ サポートの利用方法、Android ネイティブ グルーを使ったゲームの実装方法、ジョイスティック(タップできない画面用の堅固な DPAD ナビゲーションを含む)の実装方法を示すサンプルゲームです。 このサンプルの目的は、ゲームロジックの作成やリソースの読み込みなどの最適な方法を示すことではありません。Android Studio の C++ 統合に焦点を絞るため、ゲーム自体は意図的にシンプルに設計されています。たとえば、このゲームにはテクスチャとジオメトリをハードコードしたコードが含まれています。これは、このサンプルのような小規模なデモゲームでは問題ありませんが、実際のゲームに拡張する場合は不適切です。 このサンプルは、C++ に対応した新しい Android Studio CMake プラグインを使用します。

C++、Java NDK
gles3jni

gles3jni は、JNI またはネイティブ コードから OpenGL ES 3.0 を使用する方法を示す Android C++ サンプルです。 OpenGL ES 3.0 のレンダリング パスは、OpenGL ES 2.0 のパスとは異なり、次のような新しい機能を使用します。- インスタンス化したレンダリングと頂点属性の分割数を使用して、描画呼び出し回数を減らし、変更を統合します。- 頂点配列オブジェクトを使用して、各フレームで頂点属性の状態を設定するのに必要な呼び出しの回数を減らします。- 属性の位置を明示的に割り当てて、割り当てをクエリする必要をなくします。 このサンプルは、C++ に対応した新しい Android Studio CMake プラグインを使用します。

C++、Java NDK
Hello GL2

Hello GL2 は、GLES 2.0 API を使って三角形を描画する Android C++ サンプルです。 通常の Android Java アクティビティで作成された GLSurfaceView 上に、JNI を使って C++ でレンダリングを行います。 このサンプルは、C++ に対応した新しい Android Studio CMake プラグインを使用します。

C++、Java NDK
Hello JNI

Hello JNI は、JNI を使って Android Java アクティビティから C コードを呼び出す Android サンプルです。 このサンプルは、新しい Hello-CMake Codelab を使用します。

C++、Java NDK
Hello JNI コールバック

このサンプルは、C コードから Java をコールバックする方法を示す、Hello JNI サンプルのアドオンです。C コードから Java クラスのインスタンスを作成する方法、静的メンバー関数と非静的メンバー関数から Java クラスを呼び出す方法を示します。 このサンプルは、C++ に対応した新しい Android Studio CMake プラグインを使用します。

C++、Java NDK
hello-libs

hello-libs は、Android Studio でサードパーティの C/C++ ライブラリを管理する方法を示すサンプルです。

C++ NDK
Hello Oboe

Hello Oboe は、Oboe ライブラリを使って音声をネイティブに再生する Android サンプルです。Oboe は、AAudio と OpenSLES の両方をラップすることにより、パフォーマンスが重要になるコンテキストにおいてデベロッパーが複数の Android バージョンで音声を再生および録音できるようにします。Oboe リポジトリには、Oboe API を最大限に活用するための情報のほか、詳細な使用例とドキュメントが用意されています。 このサンプルは、Studio Prefab の機能を使って Google Maven からビルド済みの Oboe ライブラリをダウンロードします。詳細については、gradle.properties、app/build.gradle、app/src/main/cpp/CMakeLists.txt に記載されている Prefab の手順をご確認ください。 Oboe ライブラリのソースコードでアプリをビルドする場合は、Oboe リポジトリにあるサンプルをご覧ください。

C++ NDK
ネイティブ アクティビティ

ネイティブ アクティビティは、ネイティブ アクティビティを使用する C コードにより、GLES 2.0 コンテキストの初期化と加速度計データの読み取りを行う Android サンプルです。 このサンプルは、C++ に対応した新しい Android Studio CMake プラグインを使用します。

C++、Java NDK
ネイティブ オーディオ

ネイティブ オーディオは、JNI を使って C++ OpenSLES API により音声を再生および録音する Android サンプルです。作成されるレコーダーまたはプレーヤーは、高速オーディオパスには含まれません。 このサンプルは、C++ に対応した新しい Android Studio CMake プラグインを使用します。 <strong>なお、OpenSL ES は Oboe ライブラリの代わりです。<em></em></strong>

C++ NDK
ネイティブ プラズマ

ネイティブ プラズマは、ネイティブ アクティビティを使用する C コードにより、ビットマップにプラズマ効果をレンダリングする Android サンプルです。 このサンプルは、C++ に対応した新しい Android Studio CMake プラグインを使用します。

C++、Java NDK
San Angeles

San Angeles は、GLES C/API を使って手続き的シーンをレンダリングするデモ版の Android ポートです。 オリジナルの GLES ポートの詳細については、オリジナルの README をご覧ください。 サンプルのデモ: - ABI APK の分割

C++、Java NDK
センサーグラフ

センサーグラフは、現在の加速度計の値を読み取り、OpenGL を使ってそれらを描画する C++ Android サンプルです。 ネイティブ C++ の Assets API の使用方法を示します。 このサンプルは、C++ に対応した新しい Android Studio CMake プラグインを使用します。

C++、Java NDK
Teapots

Teapots は、Teapot レンダリングを使用して、Android NDK のプラットフォーム機能を紹介する Android C++ サンプルのコレクションです。- classic-teapot: GLES 2.0 API と NativeActivity を使って Classic Teapot メッシュをレンダリングします。- more-teapots: GLES 3.0 インスタンス レンダリングを使って Classic Teapot の複数のインスタンスをレンダリングします。- choreographer-30fps: Chreographer API と EGL Android プレゼンテーション時間拡張機能を使って、API レベルに応じた複数のフレームレート スロットリング手法を紹介します。- sensored-teapot: Classic Teapot に加えてテクスチャをレンダリングします。- image-decoder: textured-teapot と同じですが、Android 11(Android NDK r21b)で導入された ImageDecoder API でテクスチャのデコードが行われる点が異なります。 このサンプルは、C++ に対応した新しい Android Studio CMake プラグインを使用します。

C++ NDK
WEBP

Webp は、ネイティブ アクティビティでの webp の使用方法を示す小規模なアプリを含む Android サンプルです。<br />ビュー: - 3 つの webp 画像のデコードを回転させて画面上のバッファに読み込みます。デコードはそれれぞれ固有のスレッド内で行われます。 このサンプルは、新しい Android Studio CMake プラグインを使用します。

Java
BasicRenderScript

このサンプルは、RenderScript を使って基本的な画像操作を行う方法を紹介します。具体的には、ユーザーがスライダを使って画像の彩度を動的に調整できます。カスタム RenderScript カーネルが彩度を調整し、デバイスの GPU またはシステムが適切と判断したその他の計算ハードウェアで計算を実行します。

Java
RenderScriptIntrinsic

RenderScriptIntrinsic サンプルは、RenderScript Intrinsic の使用方法を紹介します。RenderScript Intrinsic を複数作成し、さまざまなパラメータを使ったフィルタリング結果を表示します。StateListDrawable を使って RedioButton を拡張する方法も示します。

Kotlin
BiometricAuthentication(Kotlin)

このサンプルは、登録された指紋を使ってアプリでユーザーを認証する方法を紹介します。

Kotlin
BiometricLogin(Kotlin)

Androidx 生体認証ライブラリのサンプル。

Java
FIDO2 API

FIDO2 API を使って公開鍵の認証情報の登録と認証を行う方法を示すサンプルアプリです。 FIDO2 API は、Android N(API レベル 24)以降を搭載したデバイスで使用されます。

Kotlin
File Locker

このサンプルは、シンプルなメモ作成アプリを実装し、Jetpack Security ライブラリを使ってファイルの暗号化と復号を行う方法を紹介します。 <img src="screenshots/notes-list.png" height="400" alt="メモのリストを表示するスクリーンショット。メモには「Secret Note」および「Encrypted Todo List」と記載されています。/>

Java
BatchStepSensor

このサンプルは、歩行検出器と歩数計用に SensorEventListener を設定する方法を紹介します。

Kotlin ストレージ アクセス フレームワーク
ACTION_OPEN_DOCUMENT

<img src="screenshots/icon-web.png" height="256" alt="アプリアイコン" /> このサンプルは、Android 5.0 Lollipop で導入された PdfRenderer を使って PDF ドキュメントを画面に表示する方法を紹介します。

Kotlin ストレージ アクセス フレームワーク
ACTION_OPEN_DOCUMENT_TREE

Android 5.0(API レベル 21)を利用する概念実証ファイル マネージャー。

Java
ContentProviderPaging

このサンプルは、Android O で導入されたページング サポートを含む ContentProvider を使用する方法を紹介します。ContentProvider は、クエリメソッドでオフセットと上限に対する追加の引数を受け入れるようになり、単一のクエリメソッド呼び出しですべてのデータを取得する代わりに、ページングをサポートすることが可能になりました。

Java
ContentProviderPaging(Kotlin)

このサンプルは、Android O で導入されたページング サポートを含む ContentProvider を使用する方法を紹介します。ContentProvider は、クエリメソッドでオフセットと上限に対する追加の引数を受け入れるようになり、単一のクエリメソッド呼び出しですべてのデータを取得する代わりに、ページングをサポートすることが可能になりました。

Kotlin メディアストア
メディアストア

<img src="screenshots/icon-web.png" height="256" alt="アプリアイコン" /> このサンプルは、Android の MediaStore を使って、RecyclerView でユーザーの画像を見つけて表示する方法を紹介します。

Java
StorageClient

このクライアント アプリは、OPEN_DOCUMENT インテントを使って、デバイス上のドキュメント プロバイダのリストにアクセスし、いずれかのプロバイダからファイルを選択します。

Java
StorageProvider

このサンプルは、Android 4.4 で利用可能になったストレージ アクセス フレームワークを使ってシンプルなドキュメント プロバイダを実装する方法を紹介します。

Kotlin
Sunflower

Android Jetpack を使用した Android 開発のおすすめの方法を示すガーデニング アプリです。 Android Sunflower については、現在、大規模な開発が行われています。一部の変更(データベース スキーマの変更など)は下位互換性がなく、アプリのクラッシュを引き起こす可能性があります。クラッシュした場合は、アプリをアンインストールしてから再インストールしてください。

Java
Android フレームワークをモックする単体テストを作成するための基本的なサンプル

Android での単体テストを初めて実施する場合は、最初にこのサンプルをお試しください。<em></em> このプロジェクトは、Gradle ビルドシステムと、Android Gradle プラグインによる単体テストのサポートを使用します。Android Studio などの IDE 統合を利用したり、コマンドラインでテストを実行したりできます。 単体テストは開発マシンのローカル JVM で実行します。Android Gradle プラグインがアプリのソースコードをコンパイルし、Gradle のテストタスクを使ってアプリを実行します。テストは、final 修飾子をすべて削除した修正版の android.jar に対して実行されます。そのため、Mockito などの一般的なモック ライブラリを使用できます。 詳細については、http://tools.android.com/tech-docs/unit-testing-support をご覧ください。

Kotlin
Android フレームワークをモックする単体テストを作成するための基本的なサンプル(Kotlin)

Android での単体テストを初めて実施する場合は、最初にこのサンプルをお試しください。<em></em> このプロジェクトは、Gradle ビルドシステムと、Android Gradle プラグインによる単体テストのサポートを使用します。Android Studio などの IDE 統合を利用したり、コマンドラインでテストを実行したりできます。 単体テストは開発マシンのローカル JVM で実行します。Android Gradle プラグインがアプリのソースコードをコンパイルし、Gradle のテストタスクを使ってアプリを実行します。テストは、final 修飾子をすべて削除した修正版の android.jar に対して実行されます。そのため、Mockito などの一般的なモック ライブラリを使用できます。 詳細については、http://tools.android.com/tech-docs/unit-testing-support をご覧ください。

Kotlin
Topeka for Android

Android 上のマテリアル デザインを紹介するクイズを楽しむことができます。 概要 マテリアル デザインは、視覚、インタラクション、モーションのデザインの新しい体系です。Topeka for Android は、同じブランド方針とマテリアル デザインの原則に沿って、複数のプラットフォームで一貫したエクスペリエンスを実現できることを示します。 当初、Topeka ウェブアプリはウェブ上のマテリアル デザインのオープンソース サンプルとしてリリースされました。 Topeka の現在のリリースは、デザイン サポート ライブラリが重要な役割を果たす API レベル 14 以上で利用できます。 Topeka には、<code>connectedAndroidTest</code> Gradle タスクで実行できる Espresso テストのセットも用意されています。 このプロジェクトの詳細については、Android デベロッパー ブログをご覧ください。 スクリーンショット <img src="screenshots/categories.png" width="30%" /> <img src="screenshots/category_history.png" width="30%" /> <img src="screenshots/quiz_shakespeare.png" width="30%" /> スタートガイド このリポジトリのクローンを作成し、最上位のディレクトリに移動して <code>./gradlew tasks</code> を実行すると、このプロジェクトで使用可能なすべてのタスクの概要を取得できます。 重要なタスクの一部を次に示します。 <code> bundleDebug - Assembles all Debug builds. installDebug - Installs the Debug build. connectedAndroidTest - Installs and runs the tests for Debug build on connected devices. test - Run all unit tests. </code> サポート <li>スタック オーバーフロー: http://stackoverflow.com/questions/tagged/android</li> このサンプルでエラーが見つかった場合は、GitHub に問題を報告してください。 https://github.com/googlesamples/android-topeka/issues パッチが推奨されます。パッチを送信するには、このプロジェクトをフォークして、GitHub から pull リクエストを送信してください。 ライセンス ``` Copyright 2015 Google, Inc. 1 件以上の参加者ライセンス契約で、Apache Software Foundation(ASF)に使用が許諾されています。著作権者に関する詳細は、このアプリとともに配布される NOTICE ファイルをご覧ください。ASF は、Apache License バージョン 2.0(以下「本ライセンス」)でこのファイルの使用を許諾します。このファイルを使用するには、本ライセンスを遵守する必要があります。本ライセンスのコピーは下記のリンクから入手できます。 http://www.apache.org/licenses/LICENSE-2.0 本ライセンスで配布されるソフトウェアは、適用される法律によって要求される場合または書面で合意した場合を除き、明示されるか黙示されるかを問わず、いかなる種類の保証も条件もなく、「現状有姿」で提供されます。本ライセンスの下で適用される具体的な許可および制限については、ライセンス本文をご覧ください。```

Java
AdvancedImmersiveMode

Android 4.4 で導入された没入モードにより、「全画面の非表示」モードと「ナビゲーション バーの非表示」モードが改善され、ユーザーがバーの表示と非表示をスワイプで切り替えられるようになりました。ユーザーはこのサンプルを使用して没入モードを体験し、全画面表示されたアプリの UI フラグの一部が没入モードでどのように処理されるかを確認できます。

Java
BasicImmersiveMode

このサンプルは、没入モードを使用して、全画面表示中のアプリのシステムバーとナビゲーション バーを非表示にする方法を紹介します。

Java
ClippingBasic

ビューのアウトラインを作成する ViewOutlineProvider インターフェースを使ってビューをクリップする方法を紹介する基本的なアプリ。シャドーイングとクリッピングに使用できます。

Java
DarkTheme

Android でダークモードをサポートするさまざまな方法を紹介するサンプル。マテリアル デザイン コンポーネント ライブラリを使用します。

Java
DragAndDropAcrossApps-new

このサンプルには、DragSource と DropTarget という 2 つの別個の Android アプリが含まれています。DragSource には、DropTarget アプリにドロップできる画像とテキストが含まれています。2 つのアプリの間で URI を介して画像を共有できます。この URI を使用するには、受信側アプリが最初に権限をリクエストする必要があります。また、v13 のサポート ライブラリの DragStartHelper を使ってドラッグ&ドロップ イベントを簡単に処理する方法も紹介します。

Java
ElevationBasic

このサンプルは、<code>setTranslationZ()</code> を使って z 軸沿いにビューを移動する方法を紹介します。このメソッドは API レベル 21(Lollipop)で導入されました。

Java
ElevationDrag

このサンプルは、さまざまなシェイプに対してドラッグ&ドロップ操作を行う方法を紹介します。エレベーションと z トランスレーションを使ってシャドウをレンダリングし、さまざまなアウトラインを使ってビューをクリップします。

Java
ImmersiveMode

KitKat で導入された機能の 1 つに「没入モード」があります。没入モードにより、ユーザーはスワイプによってステータスバーとナビゲーション バーの表示 / 非表示を切り替えられます。この操作を試すには、[Toggle immersive mode] ボタンをクリックしてから、バーをスワイプして表示を切り替えてください。

Java
TextLinkify

このサンプルは、TextView にリンクを追加する方法を紹介します。「autoLink」プロパティを設定して自動的に追加することも、明示的に追加することもできます。

Java
テキストの背景の角を丸く描画する

このサンプルは、テキストで背景を <strong>丸い</strong>角に描画する方法を示します。以下のケースをサポートします。 <li><strong>1 行</strong>のテキストに背景を設定する</li> <img src="../TextRoundedBackgroundKotlin/screenshots/single.png" width="30%" /> <li><strong>2 行以上</strong>のテキストに背景を設定する</li> <img src="../TextRoundedBackgroundKotlin/screenshots/multi.png" width="30%" /> <li><strong>右から左</strong>方向のテキストに背景を設定する</li> <img src="../TextRoundedBackgroundKotlin/screenshots/rtl.png" width="30%" />

Java
テキストのスタイル設定

このサンプルは、Android で Java のスパンを使ってテキストのスタイルを設定する方法を示します。

Java
テキストのスタイル設定

このサンプルは、Android KTX を利用し、Android で Kotlin のスパンを使ってテキストのスタイルを設定する方法を示します。

Java
Interpolator Playground

このアプリは、補間器のさまざまな実装がプラットフォームでどのように動作するかを示します。アニメーションの動作時間と任意の変数補間器のコンストラクタ パラメータをさまざまに変化させ、その補間器を使用するコードの記述方法を UI の値を介して通知できます。アニメーション パラメータの変更は青い曲線に動的に反映されます。アニメーションを実行すると、動作中のアニメーションが(曲線上の赤い円と下部の空き領域に)表示されます。 使用方法は次のとおりです。* 上部のプルダウン リストから組み込みの補間器を選択します * スライダーを使用して、アニメーションの動作時間および / または選択した補間器の可変パラメータを変更します * 2 次パス補間器と 3 次パス補間器の場合は、緑色のハンドルをドラッグして曲線のコントロール ポイントを配置します * 実行ボタンをクリックしてアニメーションの動作を確認します * アニメーション コードで使用する動作時間とその他のパラメータの値をメモします <img src="screenshot.png" alt="InterolatorPlayground のスクリーンショット" "="" />

Java
MotionLayout / ConstraintLayout

このリポジトリには、MotionLayout のさまざまな機能と使用方法を紹介するためのレイアウトのリストが含まれています。

Java
MultiWindowPlayground

このサンプルは、Android N で利用できる Multi-Window API の使用方法を紹介します。新しいインテント フラグと AndroidManifest プロパティを使ってマルチウィンドウの動作を定義します。サンプルアプリをマルチウィンドウ モードに切り替えて、アプリのライフサイクルと動作にどのような影響があるかを確認できます。

Java
MultiWindowPlayground(Kotlin)

このサンプルは、Android N で利用できる Multi-Window API の使用方法を紹介します。新しいインテント フラグと AndroidManifest プロパティを使ってマルチウィンドウの動作を定義します。サンプルアプリをマルチウィンドウ モードに切り替えて、アプリのライフサイクルと動作にどのような影響があるかを確認できます。

Java
遷移

このアプリは、Android サポート ライブラリで Transitions API を使用する方法を示します。遷移は KitKat リリース(API レベル 19)以降のプラットフォームで動作しますが、以前は、それより前のリリースを搭載したデバイスで遷移を使用する手段がありませんでした。今では、代わりに Support Library API を使用して、Ice Cream Sandwich(API レベル 14)以降の Android リリースで実行できるようになりました。 なお、Support Library API には、フレームワーク API の遷移とは異なり、次の制限があります。 <li>Support Library API は、KitKat リリースで提供されていた機能と同じく、ビュー遷移に特化しています。アクティビティ遷移などの後発の機能は、以前のリリースではサポートできないプラットフォーム機能に依存します。</li> <li>KitKat の遷移では、XML リソース ファイルを使用して遷移、シーン、遷移グラフを定義する機能が提供されます。一方、サポート ライブラリの遷移では、コードからの遷移を設定できるだけです。サポート ライブラリには、利用可能なリソース ファイルはありません。</li> 遷移のデモアプリを使用するには: <li>いずれかのボタンをクリックして、ボタンテキストで指定された場所にボタンのグループ全体を移動します。(TransitionManager.beginDelayedTransition() の 1 回の呼び出しによって)ボタンがどのように所定の位置にアニメーション化されるかにご注意ください。</li> <li>[Stagger] チェックボックスをオンにして、遷移を 1 つずつ交互に実行するように設定します。この場合、ボタンはターゲット ビューと startDelays が異なる子遷移のカスタム TransitionSet を作成して、一度に 1 つずつ起動されます。</li> <img src="TransitionsOnJbEmulator.png" alt="遷移のスクリーンショット" "="" /> 遷移の詳細については、次のリソースをご覧ください。 <li>サポート ライブラリ バージョン(Transition API についてはバージョン 24.2.0 以上を使用)</li> <li>android.support.transitions リファレンス ドキュメント</li> <li>遷移に関するデベロッパー向けトレーニング</li>

Java
SwipeRefreshLayoutBasic

SwipeRefreshLayout を使って、ビューに「スワイプで更新」操作を追加する方法を示す基本的なサンプル。ビューを下にスワイプする操作で更新をトリガーする機能を有効にします。このサンプルで更新できるビューは ListView です。

Java
SwipeRefreshMultipleViews

SwipeRefreshLayout を使って、複数の子を持つレイアウトに「スワイプで更新」操作を追加する方法を示すサンプル。表示されているビューを下にスワイプする操作で更新をトリガーする機能を有効にします。このサンプルの SwipeRefreshLayout には、スクロール可能な GridView に加えて TextView の空のビューが含まれています。

Kotlin
ViewPager2 サンプル

このサンプルは、ビューまたはフラグメントのいずれかで ViewPager2 をページとして使用する方法、ページ変換を実行する方法、ViewPager2 を TabLayout にリンクする方法、基になるページ アダプター コレクションの変更を処理する方法を紹介します。 ViewPager2 は ViewPager の後継機能であり、ViewPager のさまざまな課題(右から左方向のレイアウトのサポート、縦向き、変更可能なフラグメント コレクションなど)が解決されています。 サンプル <li>ビューを含む ViewPager2 - ビューを含む ViewPager2 をページとして設定する方法を示します</li> <li>フラグメントを含む ViewPager2 - フラグメントを含む ViewPager2 をページとして設定する方法を示します</li> <li>ミューテーション可能なコレクション(ビュー)を含む ViewPager2 - ページとして設定したビューを含む ViewPager2 とページ アダプター内のミューテーションを使用する方法を示します</li> <li>ミューテーション可能なコレクション(フラグメント)を含む ViewPager2 - ページとして設定したフラグメントを含む ViewPager2 とページ アダプター内のミューテーションを使用する方法を示します</li> <li>TabLayout(ビュー)を含む ViewPager2 - ビューを含む ViewPager2 をページとして設定し、それを TabLayout にリンクする方法を示します</li>

Java
AlwaysOn

ネイティブ Wear アプリで、常に画面表示モードをサポートする方法を示す基本的なサンプル。

Java
DataLayer

このサンプルは、WearableListenerService と連携して DataEvents を作成および消費し、DataLayer を効果的に操作する方法を紹介します。

Java
WearAccessibilityApp

このサンプルは、ウェアラブル アプリにユーザー補助機能のサポートを追加する方法を紹介します。

Java
WearComplicationProvidersTestSuite

ウォッチ フェイスの追加機能のテストスイートは、ダミーデータを提供する追加機能プロバイダのセットです。ウォッチ フェイスでさまざまなタイプの追加機能がどのようにレンダリングされるかをテストするために使用できます。

Java
Wear OAuth

Java
WearSpeakerSample

このサンプルは、ウェアラブル デバイスが内蔵スピーカーを備えている場合に、ウェアラブル上のマイクを使って音声を録音する方法と、録音した音声または mp3 ファイルを再生する方法を紹介します。 このサンプルにはコンパニオン スマートフォン アプリが含まれていないので、スマートウォッチに(adb を使用して)直接インストールする必要があります。

Java
Wear Google ログイン

Java
WearVerifyRemoteApp

このサンプルは、接続されたモバイル デバイスに、Wear 2.+ のスタンドアロン アプリまたはそれ以外の手段を使用して、デベロッパーのアプリがインストールされているかどうかを確認するおすすめの方法を紹介します。

Java Android Things
クラウド ドアベル

Android Things のドアベル サンプルは、「スマート」ドアベルを作成する方法を紹介します。このサンプルは、ボタンが押されたことを感知し、カメラ周辺機器から画像を取得します。さらに、その画像データを Google の Cloud Vision API で処理し、画像、Cloud Vision アノテーション、メタデータを Firebase データベースにアップロードします。アップロードされたデータはコンパニオン アプリで表示できます。

Java Android Things
周辺機器のドライバ

contrib-drivers リポジトリにある Android Things 周辺機器のドライバのサンプルです。

Java Android Things
Bluetooth オーディオ

このサンプルは、Android Things アプリからオーディオ用の Android Bluetooth API を使用する方法を紹介します。

Java Android Things
Bluetooth GATT サーバー(Java)

このアプリは、Android Things アプリ内から <code>BluetoothGattServer</code> Android API にアクセスする方法を示します。このサンプルアプリは、時間プロファイルをアドバタイズします。

Kotlin Android Things
Bluetooth GATT サーバー(Kotlin)

このアプリは、Android Things アプリ内から <code>BluetoothGattServer</code> Android API にアクセスする方法を示します。このサンプルアプリは、時間プロファイルをアドバタイズします。

Java Android Things
ボタンと LED(Java)

この Android Things サンプルは、ボタン入力の UserDriver を使って GPIO ピンの変化をリッスンする方法、重要なイベントの生成とリッスンを行う方法、それに応じて LED の状態を変更する方法を紹介します。同様のサンプルを作成する段階的な手順については、周辺機器 I/O Codelab をご覧ください。

Kotlin Android Things
ボタンと LED(Kotlin)

この Android Things サンプルは、ボタン入力の UserDriver を使って GPIO ピンの変化をリッスンする方法、重要なイベントの生成とリッスンを行う方法、それに応じて LED の状態を変更する方法を紹介します。

Java Android Things
デバイス向けの Google アシスタント SDK: Things

このサンプルは、gRPC を使って Android Things から Google アシスタント サービスを呼び出す方法を紹介します。接続されたマイクからの音声リクエストを記録して Google Assistant API に送信し、接続されたスピーカーでアシスタントの音声応答を再生します。

Java Android Things
Things LoWPAN

このサンプルは、LoWPAN を使用して同じネットワーク内の複数の Android Things デバイスを接続し、ワイヤレスでデータを転送する方法を示します。このサンプルには、ネットワークのスキャン方法、データの送信方法、データの受信方法を紹介する 3 つのモジュールがあります。LoWPAN ネットワークの詳細については、LoWPAN API ガイドをご覧ください。

C++ Android Things
ネイティブ周辺機器 I/O

この Android Things アプリは、C++ からネイティブ PIO API を使用する基本的なコードを実行します。各サンプルは、独立して実行できる Android モジュールです。

Java Android Things
シンプルな周辺機器 I/O(Java)

この Android Things アプリは、周辺機器 I/O API を使用する基本的なコードを実行します。各サンプルは、独立して実行できる Android モジュールです。

Kotlin Android Things
シンプルな周辺機器 I/O(Kotlin)

この Android Things アプリは、周辺機器 I/O API を使用する基本的なコードを実行します。各サンプルは、独立して実行できる Android モジュールです。

Java Android Things
シンプルな周辺機器 UI(Java)

このユーティリティは、Android Things デバイスの GPIO を、グラフィカル UI のスイッチ ウィジェットとして公開します。デベロッパーは入力の状態を確認し、スイッチをクリックして出力の状態を管理します。

Kotlin Android Things
シンプルな周辺機器 UI (Kotlin)

このユーティリティは、Android Things デバイスの GPIO を、グラフィカル UI のスイッチ ウィジェットとして公開します。デベロッパーは入力の状態を確認し、スイッチをクリックして出力の状態を管理します。

Java Android Things
TensorFlow Lite IoT 画像分類ツール

このサンプルは、Android Things で TensorFlow Lite 推論を実行する方法を紹介します。ボタンを押してカメラで画像をキャプチャすると、何の画像であるかが TensorFlow Lite によって示されます。同様のサンプルを構築する方法については、画像分類ツール Codelab の段階的な手順をご覧ください。

Java Android Things
UART ループバック(Java)

このサンプルは、UART を介した基本的なデータ読み書き操作法を紹介します。アプリは、受信(RX)バッファから読み取ったデータを即座に送信(TX)バッファにエコーするループバック インターフェースを作成します。

Kotlin Android Things
UART ループバック(Kotlin)

このサンプルは、UART を介した基本的なデータ読み書き操作法を紹介します。アプリは、受信(RX)バッファから読み取ったデータを即座に送信(TX)バッファにエコーするループバック インターフェースを作成します。

Java Android Things
Things デバイスのアップデート

このアプリは、<code>UpdateManager</code> API を使用して、Android Things でデバイスのアップデート サービスを操作する方法を示します。デフォルトでは、システムによって数時間ごとに新しい OTA アップデートが存在するかどうかがチェックされ、存在する場合は自動的に適用されます。このサンプルは、アプリがアップデート プロセスをよりきめ細かく制御して進行状況をモニタリングできるようにアップデート ポリシーを構成する方法を示します。

Java Android Things
USB エミュレーター(Java)

このアプリは、Android Things アプリ内から <code>UsbManager</code> Android API にアクセスする方法を示します。サンプルアプリは、ホストが検出したすべての USB デバイスに対して繰り返し処理を行い、USB デバイスのインターフェースとエンドポイントを出力します。

Kotlin Android Things
USB エミュレーター(Kotlin)

このアプリは、Android Things アプリ内から <code>UsbManager</code> Android API にアクセスする方法を示します。サンプルアプリは、ホストが検出したすべての USB デバイスに対して繰り返し処理を行い、USB デバイスのインターフェースとエンドポイントを出力します。

Java Android Things
Cloud IoT Core センサーハブ

このサンプルは、Android Things にセンサーハブを実装し、接続されたセンサーからセンサーデータを収集して、Google Cloud IoT Core にテレメトリー イベントとして公開する方法を紹介します。

Java Android Things
気象観測ステーション

このサンプルは、複数の Android Things 周辺機器のドライバを統合して、接続された気象観測ステーションを構築します。

Java
ActivityInstrumentation

このサンプルはサポートが終了してアーカイブされました。そのため、現在は読み取り専用になっており、メンテナンスされていません(アーカイブの詳細についてはこちらをご覧ください)。 その他の関連サンプルについては、新しい github.com/android/testing-samples リポジトリをご確認ください。よろしくお願いいたします。

Java
AppUsageStatistics

この基本的なアプリは、App Usage Statistics API を使用して、ユーザーがアプリの使用状況に関する統計情報を収集できるようにする方法を示します。

Java
マテリアル コンポーネント カタログアプリ

マテリアル デザイン コンポーネント カタログの Android 版。マテリアル デザインの原則を紹介し、コンポーネントのデモとコードサンプルを提供することを目的としています。

件 / ページ
183 件の結果