下手な記事や書籍よりよっぽど良質で200弱ほどある。
OpenGLのサンプルなどもある。
https://github.com/googlesamples を取り込めるようにしてるみたい
目次
2016/12/18 時点
まず手を着けるならGettingstarted, UIあたりがおすすめ
テーマに重複があったり、うまく整理されていないような気がしないでもない
詳しく見たわけではないので間違いがあるかも
Actionbar - 画面上部に表示されるアクションバーのサンプル
Admin - 管理機能のサンプルなんだけどいまいちわからない
Android n preview - Android Nで追加された機能
Android tv - AndroidTVのサンプル
Background - アプリが背面にあるときに使用できる機能サンプル
Camera - カメラ
Connectivity - 通信系サンプル bluetoothやカードリーダーなども
Content - ローカルのDB機能だったかな?
Design - マテリアルデザインっぽいボタンなどのサンプル
DeviceAdmin - デバイス管理 アプリの制限やタイムゾーンなどを強制できる?
Gettingstarted - 各種機能の入門用サンプル
Gps - GPS
Graphics - 画像処理と言うかPDFのサンプル
Input - タッチ入力のサンプル
Location - 説明見る感じP○KEM○N G○ っぽい?
Media - 映像、カメラ、音声など Hdrもある
Monetization - マネタイゼーション AdMobのサンプル
Ndk Native Development Kit その名の通りネイティブな機能のサンプル C++
Notification - プッシュ通知
Opengl - OpenGLサンプル 画像にエフェクトをかけてる
Permissions - ウェアラブルデバイスのパーミッション
Renderscript - Renderscriptは高速演算を行うためのフレームワーク
Security - セキュリティ
Sensors - センサ
System - システム周り IDEなど
Testing - ユニットテストとかではないっぽい
Transitions - マテリアルデザイン向けのアニメーションかな
UI - 各種UIウィジェットのサンプル
UI views - なぜ分けられているのか
Views - 画像やテキストリンクなど
Wearable ウェアラブルデバイスのサンプル
Widgets - だからなぜ分けられているのか
Window - Android4.4以降の全画面で表示されて下にスワイプするとステータスバーが出てくるやつ
Actionbar
Action Bar Compat - Share Action Provider
API v7と互換のあるアクションバーAction Bar Compat - Styled
アクションバーのカスタムタブ型アクションバー
Admin
App Restriction Enforcer
アプリの制限を設定Android n preview
AndroidNより追加される機能
Active Notifications
Notification Groups と Notification Manager を使用して通知を簡素化する。Messaging Service
アプリを開かずに通知欄から返信するMulti Window Playground
マルチウィンドウについてScoped Directory Access
特定のディレクトリへ簡素なアクセスAndroid tv
TV Leanback Support Library sample - Vldeos by Google Sample
ユーザーフレンドリーなUlで美しいAndroid TVアプリを簡単に開発するTV Channel App (TV lnput) using TIF
Android TV用のライブテレビチャンネルアプリを構築する方法Background
Basic Sync Adapter D
SyncAdapter を使用してバックグラウンドでデータを取得するDisplaying Bitmaps
ビットマップを効率的にメインUlスレッドのロード、ビットマップ(メモリとディスクの両方)のキャッシング、
ビットマップメモリを管理し、VIewPagerやListView / GridViewなどのUl要素にビットマップを表示する
Job Scheduler
バックグラウンドタスクのスケジューリングRepeating Alarm
具体的な説明が見つからない試してみるしかないか
Camera
Camera2Basic
Camera2 APIについてカメラのプレビュー・撮影
Camera2Raw
raw画像オートフォーカス、自動露出測光、オートホワイトバランス
Connectivity
Basic Networking
Android APIによるネットワーク接続Basic Sync Adapter
SyncAdapterを使用してバックグラウンドデータの同期処理Beam Large Files
大きなファイルをAndroid Beam経由で転送するBluetooth Advertisements
Bluetooth Low Energy APlを使用して少量のデータをアドバタイズするBluetooth Chat
Bluetooth API機能を使用したテキストチャットBluetooth Le Gatt
Bluetooth LE汎用属性プロファイル(GATT)を使用してデバイス間で任意のデータを送信するCard Emulation
NFCカードをエミュレートするCard Reader
低レベルのNFCカードリーダーを実装するNetwork Connect
HttpURLConnectionを使用してネットワークに接続し、未処理のHTMLをフェッチするContent
App Restrictions
App Restriction機能Basic Contactables
連絡先を検索するアクションバーにユーザー入力用のSearchViewを表示する
Common DatalGndsContactablesを使用してクエリCursorを実装する
Direct Share
インテント候補のリストにいくつかのオプションを直接表示するPermission Request
PermissionRequest APIを使用してWebview内から制限されたシステム機能(カメラやマイクなど)へのアクセスを安全に提供するStorage Client
OPEN_DOCUMENTインテントを使用して、デバイス上のドキュメントプロバイダのリストにアクセスし、そのいずれかからファイルを選択するStorage Provider
Android 4.4で利用可能なストレージアクセスフレームワークを使用して簡単なドキュメントプロバイダを実装するDesign
Borderless Buttons
境界線のないボタンlnterpolator
マテリアルデザインのアニメーション補間とパスアニメーションの使用方法ギュワッ!って広がるやつ(意味不明)
DeviceAdmin
admin App Restriction Schema
デバイス管理者がAndroidデバイス管理APIを使用してユーザーの操作を制限するBasic Managed Profile
Android 5.0 Lollipopに導入されたManaged Proファイルの基本的な機能Device Owner
デバイス所有者の機能の使用方法Nfc Provisioning
NFCを使用してデバイス所有者が新しいデバイスをプロビジョニングするGettingstarted
Firebase Quickstarts for Android
AndroidでのFirebase APIを使用するFirebaseについては https://trueman-developer.blogspot.jp/2016/12/mbaasfirebase.htmlを参照
Action Bar Compat - Basic
Actionbarcompatを使用してアクション項目を表示する基本的なアクティビティを作成するActive Notifications
NotificationMagagerを使用した通知処理Floating Action Button Basic
浮いたようなボタンGUIを実現するSkeleton Wearable App
ウェアラバルアプリケーションのスケルトンプロジェクトUniversal Music Player
複数の端末で使用できるオーディオサンプルWear Verify Remote App
ウェアラブルデバイスにアプリがインストールされているか調べるTrivial Drive
一瞬車のアプリかと思ったけどアプリ内課金APIバージョン3のサンプル特に課金APIのバージョン3は情報が少ないなので課金を実装しようとする人は見るべし。
Gps
Speed Tracker
場所とスピードを記録しますGraphics
Pdf Renderer Basic
Android 5.0 Lollipopで導入されたPdfRendererを使用してPDF文書を画面に表示するInput
Basic Gesture Detect
ビュー上のジェスチャーを検出してログに記録するBasic Multitouch
マルチタッチElevation Basic
z軸でビューを移動する奥行きのある画面を表現
Swipe Refresh List Fragment
近年よく見るようになった下へスワイプすると更新するリストLocation
XYZTourist Attractions
モバイルとウェアラブルデバイスの連携?Media
Basic Media Decoder
ビデオをデコードしてTextureViewへ表示するBasic Media Router
MediaRouter APIを使用してセカンダリディスプレイにコンテンツを表示するCameraZVideo
CameraZ APIを使用してビデオを記録するHdr Viewfinder
ハイダイナミックレンジ合成Media Browser Service
メディア再生コントロールMedia Effects
Media Effects APIsの使用方法Media Recorder
カメラ・ビデオカメラMedia Router
カスタムメディアルートプロバイダを作成するMidi Scope
接続されたデバイスからのMIDI信号を受信して処理するMidi Synth
付属の入力デバイス(MIDIキーボード)からのMIDIメッセージを受信して再生するScreen Capture
Media Projection APIを使用してデバイス画面をリアルタイムでキャプチャしてSurfaceWewで表示するUniversal Music Player
様々な種類のデバイスで動作するオーディオメディアアプリを実装するMonetization
Ad Mob Banner
AdMobバナー広告をリクエストして表示するAd Mob Interstitial
AdMobインタースティシャル広告をリクエストして表示するAd Mob Native Advanced
AdMobネイティブ広告アドバンスから広告をリクエストして表示するAd Mob Native Ads Express
AdMob Native Ads Expressの広告をリクエストして表示するAdvanced API Demos for Android
dMobとDoubleClick For PublishersのAPLのさまざまな機能を扱う高度なサンプルNative Ads Express Recycler View
AdMob Native Ads Expressから広告をリクエストして表示するDouble Click For Publishers Advanced Native Example
複数のネイティブ広告フォーマットを組み込んだリストベースのユーザーエクスペリエンス(ニュースフィードなど)を構築するDouble Click Banner
複数のネイティブ広告フォーマットを組み込んだリストベースのユーザーエクスペリエンス(ニュースフィードなど)を構築するDouble Click Custom Rendering
AndroidアプリケーションのDoubleClick for Publishersカスタムレンダリングの広告をリクエストして表示Double Click Interstitial
DoubleClick For Publishersインタースティシャル広告をリクエストして表示するNdk
Audio - Echo
OpenSL ESを使用してAndroid Fast Audio Pathでプレーヤーとレコーダーを作成し、ループバックオーディオに接続するBitmap Plasma
c++からプラズマ効果をビットマップへ描画するEndless Tunnel
かんたんな3Dゲームサンプルゲームロジックの作成、リソースのロードなど
gles3jni
JNl /ネイティブコードからOpenGL ES 3.0を使用するポリゴンの描画
Hello GL2
GLES 2.0 APIを使用して三角形(ポリゴン)を描画するHello JNI
JNIを使用してAndroid JavaアクティビティからCコードを呼び出すHello JNl Callback
CコードからJavaにコールバックする方法を示Hello - libs
AndroidStudioでサードパーティ製のネイティブライブラリを管理するNative Activity
GLES 2.0コンテキストを初期化し、Native Activigを使用してCコードから加速度計データを読み出すNative Audio
C ++ OpenSLES APIでサウンドを再生および記録するNative Plasma
Native Activiyを使用してCコードからビットマップにプラズマ効果をレンダリングするシンプルな3D背景
San Angeles
プロシージャシーンをレンダリングするためにGLES C / APIを使用するSensor - Graph
加速度計の値を読み込んでOpenGLを使ってグラフを描画するTeapots
3DCGのサンプルでよく見るティーポット(3Dモデル)を描画するWEBPs
Native ActiviyビューでWebアプリケーションをデモンストレーションするVulkan API samples
Vulkan API(比較的新しいグラフィックスAPI) を使用するNotification
Active Notifications
通知グループと通知マネージャを一緒に使用して、ユーザーが通知を受ける方法を簡素化するBasic Notification
システムの通知バーにイベントを表示するCustom Notification
カスタムコンテンツビューでの通知LNotifications
Android Lで導入された通知の新機能Wear Notification
ウェアラブルデバイスの通知Opengl
Media Effects
Media Effects APpsの使用方法Permissions
Runtime Permissions Wear
ウェアラブルデバイスとモバイルデバイスの両方で権限が必要なリモートデータを処理するRenderscript
Basic Render Script
RenderScriptを使用して基本的な画像操作を実行するSecurity
Asymmetric Fingerprint Dialog
登録した指紋を使用してアプリ内のユーザーを認証するBasic Android Key Store
データ整合性メカニズムの作成と使用Confirm Credential
アプリでデバイスの認証情報(PIN、パターン、パスワード)を使用するDirect Boot
パスワード入力の前と後の両方でデバイスを起動している間に常に使用可能な、デバイス保護されたストレージにデータを格納するFingerprint Dialog
登録した指紋を使用してアプリ内のユーザーを認証する上記サンプルと同じ?
Sensors
Accelerometer Play
物理ベースのビューの入力として加速度センサーを使用するBatch Step Sensor
ステップセンサとステップカウンタのSensorEventListenersの設定方法
Geofencing
ある地点に近づくと通知を行うウェアラブルデバイスのサンプルSystem
App Shortcuts
Android 7.1(API 25)で導入されたLauncher Shortcuts APlの使用方法App Usage Statistics
App usage statistics APIを使用してユーザーがアプリケーションの使用に関する統計を収集するCommit Content Sample App
Commit Content APLを使用してキーボードから送信されたリッチコンテンツ(画像など)を受け入れるアプリケーションを作成するCommit Content Sample IME
Commit Content APIを使用してリッチコンテンツ(画像など)をテキストフィールドに送信するキーボードを作成する上記と組み合わせて使用する?
Runtime Permissions
Android M以上で使用可能な実行時アクセス許可Runtime Permissions Basic
Android M以上で使用可能な実行時アクセス許可Testing
Activity Instrumentation
lnstrumentationTestを使用してアクティビティの内部状態を調べるTransitions
Basic Transition
KitKatで導入されたTransitionフレームワークの使い方Custom Transition
標準のTransitionクラスを拡張したカスタムTransitionを実装するlnterpolator
マテリアルデザインのアニメーションインターポレータとパスアニメーションの使用方法UI
Action Bar Compat - Basic
Actionbarcompatを使用してアクション項目を表示する基本アクティビティを作成するAction Bar Compat - List Popup Menu
アクションバーにポップアップメニューを追加するAction Bar Compat - Share Action Provider
API v7と下位互換性のある、ActionBarCompatを持つ状況依存のShareActionProviderActivity Scene Transition Basic
1つのアクティビティから別のLollipopへのシーントランジションを使用するBasic Accessibility
アクセシビリティマークアップをUIに追加するさまざまな方法を示す異なるウィジェットを組み合わせて、アクセシブルなアプリケーションを作成するBasic Gesture Detect
ビュー上のジェスチャーを検出してログに記録Basic Immersive Mode
フルスクリーンアプリケーション用のシステムとナビゲーションバーを非表示にするBasic Multitouch
マルチタッチBasic Transition
KitKatで導入されたTransitionフレームワークの使い方Borderless Buttons
枠なしボタンCard View
Android Lプレビューのサポートライブラリで導入されたCardVIewの使用方法Custom Notifications
カスタムコンテンツビューでの通知Custom Transition
Transitionクラスを拡張したカスタムTransitionを実装するData Layer
WearableListenerServiceを使用してDataEventを生成および使用し、DataLayerで効果的に作業するDisplaying Bitmaps
ビットマップを効率的にメインUlスレッドのロード、ビットマップ(メモリとディスクの両方)のキャッシング、
ビットマップメモリを管理し、VIewPagerやListView / GridViewなどのUl要素にビットマップを表示する
Document Centric Recents
'Document Centric Apps' APIの基本的な使い方Document Centric Relinquish Identity
タスクスタック内でその上のアクティビティーにIDを放棄するDone Bar
2つの代替レイアウトを使用して完了ボタンを表示するカスタムバーをアクションバーに作成するDrawable Tinting
画面、GUI部品の色使いについてElevation Basic
setTranslationZ()を使用してz軸でViewを移動するElevation Drag
さまざまな図形のドラッグアンドドロップ操作Floating Action Button Basic
2つのサイズのフローティングアクションボタンHorizontal Paging
フラグメントとViewPagerを使用してタブを実装するlmmersive Mode
ステータスバーとナビゲーションバーをスワイプで表示/非表示するNavigation Drawer
AndroidサポートライブラリのDrawerLayoutウィジェットの一般的な使い方Pdf Renderer Basic
Android 5.0 Lollipopで導入されたPdfRendererを使用してPDF文書を画面に表示するRecycler View
LinearLayoutManagerとGridLayoutManagerを使って要素をレイアウトするためのRecyclerの使い方Reveal Effect Basic
円形の露呈効果Sliding Tabs Basic
SIidingTabLayoutを使用してカスタムのViewPagerタイトルストリップを表示するSliding Tabs Colors
SlidingTabLayoutを使用してカスタムViewPagerのタイトルストリップを表示するより高度なサンプル各タブのカスタムカラーリング
Swipe Refresh Layout Basic
スワイプして更新Swipe Refresh List Fragment
スワイプして更新(List Fragment)Swipe Refresh Multiple Views
複数の子を持つレイアウトをスワイプして更新Text Switcher
TextSwitcherを使用してテキストの変更のアニメーションを表示するUniversal Music Player
複数の端末に対応したオーディオメディアアプリを実装するWear Verify Remote App
アプリがインストールされているかを調べるUI views
Clipping Basic
ViewOutlineProviderインターフェイスを使用してビュー上でクリップするViews
Basic Multitouch
複数のタッチイベント全体の個々のタッチを追跡するDisplaying Bitmaps
ビットマップを効率的にメインUlスレッドのロード、ビットマップ(メモリとディスクの両方)のキャッシング、
ビットマップメモリを管理し、VIewPagerやListView / GridViewなどのUl要素にビットマップを表示する
Text Linkify
テキストリンクWearable
ウェアラブル系のサンプル
個人的にあまり興味が無いので割愛
需要があったら追記するかも
Widgets
Custom Choice List
ListVIewのchoiceMode属性で使用するために、カスタムのチェック可能なレイアウトを作成するWindow
Advanced lmmersive Mode
ユーザーがバーをスワイプしたりスワイプすることで、「フルスクリーンを隠す」モードと「ナビゲーションバーを隠す」モードを切り替えるいじょ
流石にコレ全部試すのはしんどいので軽く説明を見て興味が湧いたものを取り込んで見る感じで