Local blog for Japanese speaking developers
Android N Developer Preview 2 がリリースされました
2016年4月28日木曜日
[この記事は Dave Burke、エンジニアリング部門副社長による Android Developers Blog の記事 "
Android N Developer Preview 2, out today!
" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。]
先月、Google では
Android N
Developer Preview の第 1 弾を
リリース
し、デベロッパーの皆さんに次期プラットフォームを体験していただきました。これまでお寄せいただいたフィードバックのおかげで、バグを特定し、機能を改善することができました。本日(*原文公開当時)、Developer Previews の第 2 弾をリリースし、引き続きアプリのテストにご利用いただけるようになりました。
この最新の Android N のプレビューでは、皆さんからご報告いただいたバグを修正しました。一例を挙げると、ステルスモードの Wi-Fi ネットワークに接続できない(
AOSP 203116
)、マルチウィンドウが一時停止する(
AOSP 203424
)、ダイレクト リプライで起動中のアクティビティが終了する(
AOSP 204411
)などがあります。Google では引き続き、問題の改善に取り組んでいます。今後も
N Developer Preview Issue Tracker
または
N プレビュー コミュニティ
を通じて、フィードバックをお寄せください。
新機能:
先月の Developer Preview では、マルチウィンドウ、バンドル通知といった多くの
新機能
が導入されていました。今回のプレビューのビルドでは、いくつかの新機能が加わりました。
Vulkan:
Vulkan は、Google が Khronos グループの一員として開発に携わった、新しい 3D レンダリング API です。デベロッパーが GPU を明示的に、かつ少ないオーバーヘッドで制御できるのが特徴で、ドローコールの多いアプリケーションのパフォーマンスを飛躍的に高められます。Vulkan では CPU のオーバーヘッドが減少しているので、シングル コアでのドローコールのスループットを合成ベンチマークで比較すると、OpenGL ES の 10 倍になります。マルチコアを並列的に高効率で使うことができ、スレッディングとの相性が良い API 設計と組み合わせれば、ドローコールの多いアプリケーションのパフォーマンスを飛躍的に高められます。Android N にはこの Vulkan がプラットフォームに組み込まれているため、Developer Preview 2 が動作するサポート対象デバイスで、この API をお試しいただけます。詳細については、
こちら
を参照してください。Vulkan デベロッパー ツール ブログは
こちら
です。
ランチャー ショートカット:
アプリで
ショートカット
を定義できるようになりました。アプリがランチャーに表示されるので、すぐにアクションを実行できます。これらのショートカットには、アプリ内の特定のポイントへのインテント(仲の良い友だちにメッセージを送信する、地図アプリで自宅まで案内する、メディア アプリでテレビ番組の次回のエピソードを再生する、など)が含まれています。
アプリケーションで、
ShortcutManager.setDynamicShortcuts(List)
と
ShortcutManager.addDynamicShortcut(ShortcutInfo)
を使用してショートカットを作成できます。ランチャーには、指定したアプリのショートカットが 3 ~ 5 個表示されます。
Emoji Unicode 9 のサポート:
表情や仕草を表す新しい絵文字が導入さました。よくあるようなものではなく、生き生きとしたデザインが追加されています。キーボードやメッセージング アプリのデベロッパーの皆さんは、ぜひこれらの絵文字をアプリに組み込んでください。今回のアップデートでは、肌の色のバリエーションが増えたほか、ベーコン、セルフィー、手で顔を覆うジェスチャーなど、Unicode 9 のグリフがサポートされました。
Paint.hasGlyph()
を使用して、新しい絵文字を動的に調べることもできます。
新しい人間の絵文字
新しいアクティビティの絵文字
API の変更:
Google では継続的に機能の改善に取り組んでおり、今回のアップデートには API の変更が含まれています。たとえば、マルチウィンドウのサポート(アクティビティの高さと幅の最小値を個別に指定できるようになりました)、通知などが改善されました。詳細については、
ダウンロード可能な API リファレンス パッケージ
で差分レポートを参照してください。
バグの修正:
システム全体にわたり、多くの問題を解決しました。その中には、公開されている Issue Tracker から皆さんにご報告いただいた
問題の修正
も含まれています。引き続き、問題を発見された場合はお知らせください。また、既知の問題については
こちら
を参照してください。
アップデートの入手方法:
この最新のプレビューのアップデートを入手する最も簡単な方法は、お使いの端末を
Android ベータ版プログラム
に登録することです。
visit g.co/androidbeta
にアクセスして、対象の Android 携帯端末またはタブレットをオプトインするだけで、すぐに今回(および次回以降)のプレビュー アップデートを OTA で受信できます。お使いの端末を既に登録している場合は、近日中にアップデートが配信されます。特に操作は必要ありません。
このアップデートを手動でダウンロードして書き込む
こともできます。Developer Preview 2 はあくまでデベロッパー向けで、通常のドライバーとは異なります。このビルドは、パフォーマンスやバッテリーの寿命を考慮して最適化されているわけではありません。
N Developer Preview は現在、Nexus 6、Nexus 5X、Nexus 6P、Nexus 9、Pixel C 端末のほか、General Mobile 4G(Android One)端末に対応しています。Nexus Player の Developer Preview 2 へのアップデートは、その他の端末に続いて数日以内に対応する予定です。
Developer Preview 2 を使用してアプリのビルドとテストを行うには、Android Studio 2.1 を使用する必要があります(これは、Developer Preview 1 に必須のバージョンと同じです)。Developer Preview 2 を使用する前に、SDK コンポーネントのアップデート(ビルド ツールとエミュレータ システム イメージを含む)を確認してください。詳細については、
こちら
を参照してください。
いつもフィードバックにご協力いただき、ありがとうございます。今後も
N Developer Preview Issue Tracker
または
N プレビュー コミュニティ
を通じて、フィードバックをお寄せください。早くフィードバックをいただければ、より多くの修正を Android の次期リリースに反映することができます。
Posted by
Takeshi Hagikura - Developer Relations Team
タップとオーディオの遅延を計測する新手法
2016年4月26日火曜日
[この記事は
Mark Koudritsky
、ソフトウェア エンジニアによる Android Developers Blog の記事 "
A new method to measure touch and audio latency
" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。]
タップとオーディオの遅延を計測し、それを最小限にとどめようという Android や ChromeOS チームの戦いに新兵器が登場します。それが
WALT Latency Timer
です。
モバイル端末を使用するときは、タップや音声に即座に応答があるのが当然だと思うでしょう。応答が早ければ早いほど、端末と直接つながっているように感じるはずです。ここ数年間、私たちは Chromebook や Android 製品で発生する遅延を計測し、その詳細を理解して短縮しようとする努力を重ねてきました。
遅延を短縮するには、まず遅延がどこで発生しているのかを理解する必要があります。タッチスクリーンをタップする場合、応答時間に含まれるのは、タッチを検知するハードウェアとドライバー、アプリケーション、ディスプレイ、グラフィック出力などの処理時間です。音声コマンドの場合は、入力されたオーディオのサンプリング、アプリケーション、オーディオ出力の処理時間が必要です。こういった処理時間の両方が混在する場合もあります(たとえば、ピアノアプリにはタップ入力とオーディオ出力が含まれます)。
今までの遅延の分析方法は、1 往復分の遅延時間に着目し、それを計測しようとするものがほとんどでした。たとえば、オーディオの遅延を計測するには、アプリからスピーカーやマイクまでの時間と、そこからアプリに戻ってくるまでの時間を計測していました。それには
Dr. Rick O'Rang ループバック オーディオ ドングル
が必要で、これと
Dr Rick O’Rang Loopback アプリ
や
Superpowered Mobile Audio Latency Test App
などの適切なアプリを組み合わせて使用します。同様に、
TouchBot
は高速なカメラを使用し、物理的にタップされてからスクリーンの表示が変化するまでの往復の遅延時間を計測しています。このような計測方法は有用であるものの、遅延を入力コンポーネントと出力コンポーネントに分けて内訳を確認することが難しいという問題点もあります。
QuickStep
の後継である WALT には、外部ハードウェアのクロックと Android 端末や Chromebook をミリ秒以内の精度で同期させるという重要な技術革新が取り入れられています。これによって、往復の遅延を計測するのではなく、入力と出力の遅延を別々に計測することができるようになっています。
WALT はシンプルです。パーツの価格は 50 ドル未満で、趣味レベルの基礎的な電子工作のスキルがあれば、
自作する
ことができます。
Google の内部でも、Nexus や Chromebook の開発に WALT が使われています。私たちは、アプリ開発者など、現実世界の遅延を厳密に計測したい方のために、このツールを公開することにいたしました。簡単にアクセスできるツールを提供することによって、業界全体のあらゆるデバイスでタップや音声への応答性の向上に貢献できることを願っています。
Posted by
Eiji Kitamura - Developer Relations Team
動画シリーズ「教えて Google Maps API」
2016年4月22日金曜日
Google Maps for Work
を活用した数多くのサービスやアプリケーションが構築されており、業務の最適化は新たな価値を生み出す先進事例をこのブログでもいくつか紹介してきました。
一方で、Google Maps API を使うと何ができるか、利用にあたってどのような料金プランがあるか、以前と比べてどのような点が進化しているかといったお問い合わせをたびたびいただきます。そこで、こうしたよくある質問に対して、Google Maps for Work 担当者がわかりやすくかつ簡潔に解説する動画シリーズを始めました。このシリーズでのテーマは次の通りです。
第 1 回 - Google Maps API とは?
第 2 回 - Google Maps API の利用規約
第 3 回 - 店舗検索(小売業の公開サイトでの利用事例)
第 4 回 - 店舗検索 スマートフォン活用
第 5 回 - アセットトラッキングライセンスと移動体管理
第 6 回 - 開発者向け Tips
第 7 回 - 各回のまとめ
早速、第 1 回と第 2 回を公開しましたので、その内容をご紹介しましょう。
Google Maps API とは何か?
第 1 回「Google Maps API とは?」では、Google Maps APIの全体像を解説します。Google Maps API を利用すると何ができるのか? 実際にどのような API が提供され、どこで調べれば良いのか、さらに料金プランの概要などを、約 5 分で解説します。
Google Maps API の利用規約を理解する
続く第 2 回「Google Maps API 利用規約」では、料金プランの選び方をさらに詳しく解説します。「この使い方ではスタンダードプランを選ぶべきか、あるいはプレミアムプランを選択すべきか」といったことでお悩みの方、「モバイルアプリでも Google Maps APIを使う時はどのライセンスが必要なのか」という疑問をお持ちの方は必見です。
第3回以降も順次公開予定です。Google Maps API にご興味のある方、また、Google Maps API の利用をご検討されている方は、この
動画シリーズ
をぜひご覧ください。さらに詳しく Google Maps API について知りたい、あるいは質問やご要望がある方は、
こちら
からのお問い合わせをお待ちしています。なお、
Google for Work チャンネル
を登録しておけば、新しい動画がアップされるとメールで通知されますので、いち早くご覧いただけます。
最後に、Google Maps for Work チームからのメール配信を希望される方は、
こちら
でご登録いただけます。ぜひご登録ください。
Posted by 丸山 智康 (Tomoyasu Maruyama) - Google Maps Solution Architect, Google Maps API for Work
Google Maps SDK for iOS 1.13 の新機能:高度なマーカーアニメーションなど
2016年4月21日木曜日
[この記事は Megan Boundey, Product Manager, Google Maps Mobile APIs による Geo Developer Blog の記事 "
Advanced marker animations and more with Google Maps SDK for iOS 1.13
" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。]
米国時間 3 月 29 日にリリースされた Google Maps SDK for iOS 1.13 では、より高度なマーカーアニメーションの作成や情報ウィンドウの自動更新といった機能が追加され、mapViewSnapshotReady という新しいイベントが実装されました。また、フレームレートを最大で 60fps に設定できるようになったほか、プレイス オートコンプリート ウィジェットのスタイルのカスタマイズ性も向上しています。
高度なマーカーアニメーションの作成機能と情報ウィンドウの自動更新
マーカーを回転させたり、マーカーアニメーションを使ってみたいと思いませんか?
Google Maps SDK for iOS 1.13 では新たに
iconView
というプロパティが追加されており、これを使って UIView にアニメーション機能を持たせることができます。
iconView
は UIView に設定されるプロパティであるため、標準の UI コントロールがマーカーを定義し、個々のビューがアニメーション機能を持つという形になります。
iconView
プロパティのサポート対象は、frame と center を除く、UIView のアニメーション可能なプロパティ全てです。詳しくは
ドキュメント
を参照してください。
また、情報ウィンドウを自動的に更新するオプションも追加されました。情報ウィンドウに Web ページの内容を表示したいけれど、ウィンドウの作成時点ではまだ Web ページのダウンロードが完了していない、といったことはないでしょうか? このような場合は、新しく追加されたマーカープロパティ
tracksInfoWindowChanges
を利用すれば、Web ページのロード完了後に
情報ウィンドウを自動的に更新
することができます。
60fps の実現と自動フォールバック機能
Google Maps SDK for iOS 1.13 では、GMSFrameRate という新しい enum が利用可能になりました。これには 3 種類のオプション、kGMSFrameRatePowerSave (15fps)、kGMSFrameRateConservative (30fps)、kGMSFrameRateMaximum (60fps、ただし不可能な場合は 30fps。これがデフォルトの設定となります) が用意されています。60fps のフレームレートに適していないデバイスを保護するため、実行時にはデバイスのモデルチェックが行われるようになっており、古いデバイスでは
preferredFrameRate
が自動的に 30fps に低下します。
オートコンプリート ウィジェットのカスタマイズ
Google Maps SDK for iOS 1.12 で導入された
iOS プレイス オートコンプリート ウィジェット
は、1.13 ではさらに高度なスタイル カスタマイズが可能となり、ビジュアルに統一感を持たせることができるようになりました。
ウィジェットの UI 要素のカラーリングを設定する方法は以下の通りです。
iOS の
Appearance Proxy
システムを利用して、UI コントロールのスタイルをカスタマイズしてください。プレイス オートコンプリート ウィジェットは Appearance Proxy の設定に従います。
Appearance Proxy システムがサポートしていない色を設定したい場合は、ウィジェット クラスに新しい SDK メソッドを利用してください。
Appearance Proxy や SDK メソッドによってカスタマイズ可能な要素は、
ドキュメント
でハイライト表示されています。
mapViewSnapshotReady イベント
全てのタイルが描画されて地図のロードが完了したときに合図を出してほしいというご要望にお応えするため、
Google Maps SDK for iOS 1.11
では、地図タイルとストリート ビュー パノラマの描画開始 / 終了を示すイベントを追加しました。
そして 1.13 では、新たに
mapViewSnapshotReady
イベントが追加されています。これは、地図が安定し(すなわちタイルのロードとラベルの描画が完了し、カメラがアイドル状態になる)、オーバーレイのオブジェクトの描画が完了したときに発行されるイベントです。地図から他の画面に遷移したいが、後で戻ってくるときのために地図の画像を用意しておきたい、といった場面で
mapViewSnapshotReady
イベントを活用すれば、現在の地図が正確に描画された状態であるかどうかを確認することができます。
以上も含めて、詳細は
リリースノート
をご覧の上、ぜひ
Google Maps SDK for iOS 1.13
へのアップデートをお試しください。
Google Maps APIs をご利用いただき、また、
issue tracker
にフィードバックをお寄せいただき心よりお礼を申し上げます。
Posted by 丸山 智康 (Tomoyasu Maruyama) - Google Maps Solution Architect, Google Maps API for Work
Android Studio 2.0
2016年4月20日水曜日
[この記事は
Jamal Eason
、
Android プロダクト マネージャー
による Android Developers Blog の記事 "
Android Studio 2.0
" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。]
Android Studio 2.0 は、携帯端末やタブレット、Android Auto、Android Wear、Android TV などの Android プラットフォーム用の高品質、高性能なアプリを構築する一番の早道です。Google による公式 IDE として、Android Studio にはコードエディター、コード分析ツール、エミュレータなど、アプリの構築に必要なものすべてが含まれています。今回の Android Studio 新安定版は、ビルドが高速であるだけでなく、最新バージョンの Android や Google Play サービスをサポートする高速なエミュレータも搭載しています。
Android Studio は Android プラットフォームと連携して開発されており、強力な最新 API をすべてサポートしています。Android の開発を行っている方なら、ぜひ Android Studio 2.0 をお使いください。本日(*原文公開当時)より、安定版リリース チャンネルから簡単に
ダウンロード
やアップデートを行うことができるようになっています。
Android Studio 2.0 には、Android デベロッパーがワークフローの中で利用できる次のような新機能が含まれています。
Instant Run
ビルドを高速化したい方にはうってつけの機能です。変更を行うと、実行中のアプリに変更点が即座に反映されます。Instant Run では、VM のホットスワップから
アプリのリソースのウォーム スワップ
まで、さまざまなビルドや実行の高速化が行われており、日々の時間を節約できます。
Android エミュレータ
新しいエミュレータは、旧版の Android エミュレータと比較して最大 3 倍の速度で実行されます。また、ADB の拡張により、アプリやデータを実機の 10 倍の速度でエミュレータに転送できます。公式の Android エミュレータには、物理デバイスと同じ
Google Play サービス
が組み込まれているため、より多くの API 機能をテストすることができます。そのうえ、新しいエミュレータには、通話、バッテリー、ネットワーク、GPS などを管理するたくさんの新機能が搭載されています。
Cloud Test Lab の統合
一度書いて、どこでも実行。Android Studio 内から直接
Cloud Test Lab
を使い、さまざまな物理 Android 端末によるテストを行い、すばやく簡単にアプリの品質を改善しましょう。
App Indexing のコード生成とテスト
Android Studio の App Indexing 機能で自動生成された URL を追加し、Google 検索でアプリをユーザーの目に触れやすくします。わずか数クリックで、インデックスを作成可能な URL リンクを追加し、テストできます。この操作は IDE 内だけで完結します。
プレビュー版 GPU デバッガー
OpenGL ES ベースのゲームやアプリを開発している場合、新しい GPU デバッガーから各フレームの状態や GL ステートを確認できます。Android 端末の GPU ストリームをキャプチャして分析することによって、GL のレンダリングに関する問題を特定し、診断します。
IntelliJ 15 アップデート
Android Studio は、世界的に使用されている Intellij コーディング プラットフォーム上に構築されています。最新の Intellij の機能は、
こちら
をご覧ください。
新機能の詳細
Instant Run
現在のモバイル プラットフォームは、スピードと俊敏性が命です。それにもかかわらず、モバイル アプリのビルドは重く、遅い場合があります。Android Studio の Instant Run は、高速でなめらかな開発フローを継続的に実現するためのソリューションです。この機能は、編集、ビルド、実行のサイクルを高速化することによって、デベロッパーの生産性を向上させます。Instant Run ボタン(
)をクリックすると、今までの変更点が解析され、新しいコードをもっとも短時間でデプロイする方法が決定されます。
新しく追加された Instant Run ボタン
可能な場合は、コードの変更を実行中のアプリのプロセスにインジェクションすることによって、APK の再デプロイと再インストールを回避します。変更の種類によっては、アクティビティやアプリの再起動が必要になります。しかし、その場合でも、編集、ビルド、実行のサイクルを以前よりかなり早く回すことができます。Instant Run は、API 14(Ice Cream Sandwich)以降を実行しているすべての Android 端末やエミュレータで動作します。
昨年末に Instant Run のプレビュー版が公開されてから、フィードバックの反映や安定版のリリースに向けた微調整に数え切れないほどの時間が費やされています。ビルドのスピードが早すぎて困るということはありません。そのため、将来のリリースではさらなる高速化が計画されています。開発中のアプリで Instant Run を最大限に活用する方法については、Instant Run の
ドキュメント
をご覧ください。
Android エミュレータ
新しい Android エミュレータは、CPU、RAM、I/O において以前の Android エミュレータより最大
3 倍高速
になっています。さらに、ビルドの準備ができたときの ADB の転送速度は、なんと
10 倍高速
です。多くの場合、公式の Android エミュレータを使うと実機よりも高速に開発できます。Instant Run などの新機能も新しい Android エミュレータと組み合わせたときに最高の効果を発揮します。
スピードとパフォーマンスに加えて、Android エミュレータには、まったく新しいユーザー インターフェースやセンサー制御機能が搭載されています。
初回リリース
後に拡張された機能もあり、ドラッグ&ドロップによる APK の簡易インストール、ウィンドウのサイズ変更や拡大縮小、マルチタッチ アクションの使用(ピンチとズーム、パン、回転、チルト)などが可能になっています。
Android エミュレータのユーザー インターフェース:ツールバーと拡張コントロール パネル
SDK Tools を 25.1.1 以上にアップデートし、推奨されている x86 システム イメージのいずれかから新しい Android 仮想デバイスを作成するだけで、新しいエミュレータを試すことができます。Android エミュレータの詳細については、
ドキュメント
をご覧ください。
Cloud Test Lab
Cloud Test Lab は、さまざまなデバイスやデバイス設定を使い、アプリの大規模なテストをクラウド上で行う新サービスです。Cloud Test Lab を使用すると、Google のデータセンターにホストされているさまざまな種類の物理デバイスで一連のテストを実行することができます。これによって、Android エミュレータや Android 端末を使った初期テスト完了後のテストプロセスを大きく拡大することができます。テストを明示的に記述していなくても、Cloud Test Lab は一連の基本的なテストを実行してアプリがクラッシュしないことを確認します。
Cloud Test Lab で実行する一連のテストの設定やテスト結果の確認は、Android Studio の新しいインターフェースから行うことができます。このサービスの詳細は、
こちら
をご覧ください。
Cloud Test Lab の設定
App Indexing
App Indexing
API によって、開発したアプリを Google 検索でユーザーに見つけてもらうのがさらに簡単になりました。Android Studio 2.0 では、アプリのコードに正しい URL 構造を作成し、AndroidManifest.xml ファイルに属性を追加して Google App Indexing サービスを動作させることができます。URL をアプリに追加すると、次のようにして App Indexing コードのテストや検証を行うことができます。
Google App Indexing のテスト
Android Studio での App Indexing のサポートの詳細については、こちらの
リンク
をご覧ください。
プレビュー版 GPU デバッガー
OpenGL ES のゲームやグラフィックを多用するアプリを開発している場合、Android Studio 2.0 で新しい GPU デバッガーを使うことができます。GPU デバッガーはプレビュー版ですが、アプリをフレームごとにステップ実行し、GL ステートについての詳しい情報をもとにグラフィックのレンダリングの問題の特定やデバッグを行うことができます。このツールを使用できるように Android 端末とアプリをセットアップする方法の詳細については、
こちら
の技術ドキュメントをご覧ください。
プレビュー版 GPU デバッガー
次のステップ
アップデート
旧バージョンの Android Studio をご使用中の方は、ナビゲーション メニューからベータ チャンネルのアップデートを確認できます(Windows / Linux の場合は [Help] → [Check for Update]、OS X の場合は [Android Studio] → [Check for Updates])。新しく Android Studio をインストールする場合は、
こちら
からダウンロードできます。N Developer Preview 向けの開発を行っている場合は、こちらの追加セットアップ
ガイド
をご覧ください。
Instant Run と Android エミュレータの設定
Android Studio 2.0 へのアップデートまたは
ダウンロード
を行った後、Instant Run を使用するためにプロジェクトをアップグレードし、Android エミュレータ用の新しい Android 仮想デバイス(AVD)を作成する必要があります。これによって、Android の開発を高速に行うことができるようになります。
Instant Run は簡単に使えます。既存のプロジェクトそれぞれに対して、プロジェクトの Gradle プラグインを新しいバージョン
(com.android.tools.build:gradle:2.0.0)
にアップデートするかどうかの確認が表示されます。
プロジェクトの Gradle のバージョンのアップデートの確認
Android Studio 2.0 のすべての新規アプリ プロジェクトでは、デフォルトで Instant Run が有効になっています。詳しくは、
ドキュメント
をご覧ください。
Android Studio の次期リリース版の開発は既に始まっています。気に入った機能や問題点、新機能の提案などのフィードバックは大歓迎です。新しい
Google+
のページや
Twitter
で Android Studio 開発チームからの情報を常にチェックしてください。
<div style='clear: both;'></div> </div> <div class='post-footer'> <div class='post-footer-line post-footer-line-1'><span class="post-author vcard"> 投稿者:<span class="fn"> <a href="https://plus.google.com/113601876824575481275" itemprop="author" rel="author" title="author profile"> Reto Meier </a> </span> </span> <span class="post-icons"> </span> <span class="post-timestamp"> 時刻: <a class="timestamp-link" href="http://android-developers.blogspot.com/2016/04/android-studio-2-0.html" itemprop="url" rel="bookmark" title="permanent link"><abbr class="published" itemprop="datePublished" title="2016-04-07T10:08:00-07:00">10:08 AM</abbr></a> </span> <span class="post-backlinks post-comment-link"> </span> </div> <div class='post-footer-line post-footer-line-2'><span class="post-labels"> ラベル: <a href='http://android-developers.blogspot.com/search/label/Android' rel='tag'>Android</a>, <a href='http://android-developers.blogspot.com/search/label/Android%202.0' rel='tag'>Android 2.0</a>, <a href='http://android-developers.blogspot.com/search/label/Android%20Developer' rel='tag'>Android Developer</a>, <a href='http://android-developers.blogspot.com/search/label/Android%20Studio' rel='tag'>Android Studio</a> </span> </div> <div class='post-footer-line post-footer-line-3'></div> </div> </div> <div class='comments' id='comments'> <a name='comments'></a> <div id='backlinks-container'> <div id='Blog1_backlinks-container'> <a name='links'></a><h4> </h4> <p class='comment-footer'><a class='comment-link' href='' id='Blog1_backlinks-create-link' target='_blank'> </a> <br/> </div> </div> </div> </div> </div></div> </div> <div class='blog-pager' id='blog-pager'> <span id='blog-pager-older-link'> <a class='blog-pager-older-link' href='http://android-developers.blogspot.com/2016/04/android-developer-story-video-editing.html' id='Blog1_blog-pager-older-link' title='Older Post'>Older Post</a> </span> <a class='home-link' href='http://android-developers.blogspot.com/'>Home</a> </div> <div class='clear'></div> <div class='post-feeds'> </div> <script type="text/javascript">window.___gcfg = {'lang': 'en'};</script> </div></div> </div> </div> <div class='column-left-outer'> <div class='column-left-inner'> <aside> <div class='sidebar section' id='sidebar-left-1'><div class='widget Image' data-version='1' id='Image1'> <h2>&#8203;&#160;</h2> <div class='widget-content'> <a href='http://developer.android.com'> <img alt=' ' height='36' id='Image1_img' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOu8yf887tBsSf3BUrFm1wzSgyLVDaJcmBSznbR3Q9aDo8GbW08eTKoU0qBz577Gl-f-iTJpnizYH56BdG5UoedB8afHoeC1X3YTe6GnjEigT14KrHMLIYJWL6xCUbhzcDuHkemwC5QNEF/s1600/backtodac.png' width='160'/> </a> <br/> </div> <div class='clear'></div> <span class='widget-item-control'> <span class='item-control blog-admin'> <a class='quickedit' href='//www.blogger.com/rearrange?blogID=6755709643044947179&widgetType=Image&widgetId=Image1&action=editWidget&sectionId=sidebar-left-1' onclick='return _WidgetManager._PopupConfig(document.getElementById("Image1"));' target='configImage1' title='Edit'> <img alt='' height='18' src='//img1.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/> </a> </span> </span> <div class='clear'></div> </div><div class='widget CustomSearch' data-version='1' id='CustomSearch1'> <h2 class='title'>Search</h2> <div class='widget-content'> <div id='CustomSearch1_form'> <span class='cse-status'>Loading...</span> </div> </div> <style type='text/css'> #uds-searchControl .gs-result .gs-title, #uds-searchControl .gs-result .gs-title *, #uds-searchControl .gsc-results .gsc-trailing-more-results, #uds-searchControl .gsc-results .gsc-trailing-more-results * { color:#258aaf; } #uds-searchControl .gs-result .gs-title a:visited, #uds-searchControl .gs-result .gs-title a:visited * { color:#258aaf; } #uds-searchControl .gs-relativePublishedDate, #uds-searchControl .gs-publishedDate { color: #000000; } #uds-searchControl .gs-result a.gs-visibleUrl, #uds-searchControl .gs-result .gs-visibleUrl { color: #258aaf; } #uds-searchControl .gsc-results { border-color: #eeeeee; background-color: transparent; } #uds-searchControl .gsc-tabhActive { border-color: #eeeeee; border-top-color: #eeeeee; background-color: transparent; color: #666666; } #uds-searchControl .gsc-tabhInactive { border-color: #eeeeee; background-color: transparent; color: #258aaf; } #uds-searchClearResults { border-color: #eeeeee; } #uds-searchClearResults:hover { border-color: #eeeeee; } #uds-searchControl .gsc-cursor-page { color: #258aaf; } #uds-searchControl .gsc-cursor-current-page { color: #666666; } </style> <div class='clear'></div> <span class='widget-item-control'> <span class='item-control blog-admin'> <a class='quickedit' href='//www.blogger.com/rearrange?blogID=6755709643044947179&widgetType=CustomSearch&widgetId=CustomSearch1&action=editWidget&sectionId=sidebar-left-1' onclick='return _WidgetManager._PopupConfig(document.getElementById("CustomSearch1"));' target='configCustomSearch1' title='Edit'> <img alt='' height='18' src='//img1.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/> </a> </span> </span> <div class='clear'></div> </div><div class='widget BlogArchive' data-version='1' id='BlogArchive1'> <h2>Archive</h2> <div class='widget-content'> <div id='ArchiveList'> <div id='BlogArchive1_ArchiveList'> <ul class='hierarchy'> <li class='archivedate expanded'> <a class='toggle' href='javascript:void(0)'> <span class='zippy toggle-open'> &#9660;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/search?updated-min=2016-01-01T00:00:00-08:00&amp;updated-max=2017-01-01T00:00:00-08:00&amp;max-results=28'> 2016 </a> <span class='post-count' dir='ltr'>(28)</span> <ul class='hierarchy'> <li class='archivedate expanded'> <a class='toggle' href='javascript:void(0)'> <span class='zippy toggle-open'> &#9660;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2016_04_01_archive.html'> April </a> <span class='post-count' dir='ltr'>(3)</span> <ul class='posts'> <li><a href='http://android-developers.blogspot.com/2016/04/android-studio-2-0.html'>Android Studio 2.0</a></li> <li><a href='http://android-developers.blogspot.com/2016/04/android-developer-story-video-editing.html'>Android Developer Story: Video editing app WeVideo...</a></li> <li><a href='http://android-developers.blogspot.com/2016/04/a-new-method-to-measure-touch-and-audio.html'>A new method to measure touch and audio latency</a></li> </ul> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2016_03_01_archive.html'> March </a> <span class='post-count' dir='ltr'>(8)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2016_02_01_archive.html'> February </a> <span class='post-count' dir='ltr'>(8)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2016_01_01_archive.html'> January </a> <span class='post-count' dir='ltr'>(9)</span> </li> </ul> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/search?updated-min=2015-01-01T00:00:00-08:00&amp;updated-max=2016-01-01T00:00:00-08:00&amp;max-results=50'> 2015 </a> <span class='post-count' dir='ltr'>(130)</span> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2015_12_01_archive.html'> December </a> <span class='post-count' dir='ltr'>(9)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2015_11_01_archive.html'> November </a> <span class='post-count' dir='ltr'>(13)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2015_10_01_archive.html'> October </a> <span class='post-count' dir='ltr'>(20)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2015_09_01_archive.html'> September </a> <span class='post-count' dir='ltr'>(15)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2015_08_01_archive.html'> August </a> <span class='post-count' dir='ltr'>(13)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2015_07_01_archive.html'> July </a> <span class='post-count' dir='ltr'>(9)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2015_06_01_archive.html'> June </a> <span class='post-count' dir='ltr'>(8)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2015_05_01_archive.html'> May </a> <span class='post-count' dir='ltr'>(10)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2015_04_01_archive.html'> April </a> <span class='post-count' dir='ltr'>(10)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2015_03_01_archive.html'> March </a> <span class='post-count' dir='ltr'>(12)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2015_02_01_archive.html'> February </a> <span class='post-count' dir='ltr'>(8)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2015_01_01_archive.html'> January </a> <span class='post-count' dir='ltr'>(3)</span> </li> </ul> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/search?updated-min=2014-01-01T00:00:00-08:00&amp;updated-max=2015-01-01T00:00:00-08:00&amp;max-results=50'> 2014 </a> <span class='post-count' dir='ltr'>(73)</span> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2014_12_01_archive.html'> December </a> <span class='post-count' dir='ltr'>(9)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2014_11_01_archive.html'> November </a> <span class='post-count' dir='ltr'>(13)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2014_10_01_archive.html'> October </a> <span class='post-count' dir='ltr'>(11)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2014_09_01_archive.html'> September </a> <span class='post-count' dir='ltr'>(6)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2014_08_01_archive.html'> August </a> <span class='post-count' dir='ltr'>(2)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2014_07_01_archive.html'> July </a> <span class='post-count' dir='ltr'>(9)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2014_06_01_archive.html'> June </a> <span class='post-count' dir='ltr'>(10)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2014_05_01_archive.html'> May </a> <span class='post-count' dir='ltr'>(4)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2014_03_01_archive.html'> March </a> <span class='post-count' dir='ltr'>(4)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2014_02_01_archive.html'> February </a> <span class='post-count' dir='ltr'>(3)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2014_01_01_archive.html'> January </a> <span class='post-count' dir='ltr'>(2)</span> </li> </ul> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/search?updated-min=2013-01-01T00:00:00-08:00&amp;updated-max=2014-01-01T00:00:00-08:00&amp;max-results=48'> 2013 </a> <span class='post-count' dir='ltr'>(48)</span> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2013_12_01_archive.html'> December </a> <span class='post-count' dir='ltr'>(3)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2013_11_01_archive.html'> November </a> <span class='post-count' dir='ltr'>(2)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2013_10_01_archive.html'> October </a> <span class='post-count' dir='ltr'>(7)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2013_09_01_archive.html'> September </a> <span class='post-count' dir='ltr'>(2)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2013_08_01_archive.html'> August </a> <span class='post-count' dir='ltr'>(5)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2013_07_01_archive.html'> July </a> <span class='post-count' dir='ltr'>(5)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2013_06_01_archive.html'> June </a> <span class='post-count' dir='ltr'>(4)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2013_05_01_archive.html'> May </a> <span class='post-count' dir='ltr'>(9)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2013_04_01_archive.html'> April </a> <span class='post-count' dir='ltr'>(3)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2013_03_01_archive.html'> March </a> <span class='post-count' dir='ltr'>(2)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2013_02_01_archive.html'> February </a> <span class='post-count' dir='ltr'>(3)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2013_01_01_archive.html'> January </a> <span class='post-count' dir='ltr'>(3)</span> </li> </ul> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/search?updated-min=2012-01-01T00:00:00-08:00&amp;updated-max=2013-01-01T00:00:00-08:00&amp;max-results=41'> 2012 </a> <span class='post-count' dir='ltr'>(41)</span> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2012_12_01_archive.html'> December </a> <span class='post-count' dir='ltr'>(5)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2012_11_01_archive.html'> November </a> <span class='post-count' dir='ltr'>(3)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2012_10_01_archive.html'> October </a> <span class='post-count' dir='ltr'>(3)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2012_09_01_archive.html'> September </a> <span class='post-count' dir='ltr'>(1)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2012_08_01_archive.html'> August </a> <span class='post-count' dir='ltr'>(1)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2012_07_01_archive.html'> July </a> <span class='post-count' dir='ltr'>(2)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2012_06_01_archive.html'> June </a> <span class='post-count' dir='ltr'>(5)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2012_05_01_archive.html'> May </a> <span class='post-count' dir='ltr'>(1)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2012_04_01_archive.html'> April </a> <span class='post-count' dir='ltr'>(5)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2012_03_01_archive.html'> March </a> <span class='post-count' dir='ltr'>(5)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2012_02_01_archive.html'> February </a> <span class='post-count' dir='ltr'>(5)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2012_01_01_archive.html'> January </a> <span class='post-count' dir='ltr'>(5)</span> </li> </ul> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/search?updated-min=2011-01-01T00:00:00-08:00&amp;updated-max=2012-01-01T00:00:00-08:00&amp;max-results=50'> 2011 </a> <span class='post-count' dir='ltr'>(68)</span> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2011_12_01_archive.html'> December </a> <span class='post-count' dir='ltr'>(7)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2011_11_01_archive.html'> November </a> <span class='post-count' dir='ltr'>(7)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2011_10_01_archive.html'> October </a> <span class='post-count' dir='ltr'>(5)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2011_09_01_archive.html'> September </a> <span class='post-count' dir='ltr'>(5)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2011_08_01_archive.html'> August </a> <span class='post-count' dir='ltr'>(3)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2011_07_01_archive.html'> July </a> <span class='post-count' dir='ltr'>(7)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2011_06_01_archive.html'> June </a> <span class='post-count' dir='ltr'>(3)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2011_05_01_archive.html'> May </a> <span class='post-count' dir='ltr'>(5)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2011_04_01_archive.html'> April </a> <span class='post-count' dir='ltr'>(6)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2011_03_01_archive.html'> March </a> <span class='post-count' dir='ltr'>(8)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2011_02_01_archive.html'> February </a> <span class='post-count' dir='ltr'>(8)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2011_01_01_archive.html'> January </a> <span class='post-count' dir='ltr'>(4)</span> </li> </ul> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/search?updated-min=2010-01-01T00:00:00-08:00&amp;updated-max=2011-01-01T00:00:00-08:00&amp;max-results=50'> 2010 </a> <span class='post-count' dir='ltr'>(72)</span> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2010_12_01_archive.html'> December </a> <span class='post-count' dir='ltr'>(8)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2010_11_01_archive.html'> November </a> <span class='post-count' dir='ltr'>(3)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2010_10_01_archive.html'> October </a> <span class='post-count' dir='ltr'>(4)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2010_09_01_archive.html'> September </a> <span class='post-count' dir='ltr'>(7)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2010_08_01_archive.html'> August </a> <span class='post-count' dir='ltr'>(6)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2010_07_01_archive.html'> July </a> <span class='post-count' dir='ltr'>(10)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2010_06_01_archive.html'> June </a> <span class='post-count' dir='ltr'>(11)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2010_05_01_archive.html'> May </a> <span class='post-count' dir='ltr'>(11)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2010_04_01_archive.html'> April </a> <span class='post-count' dir='ltr'>(2)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2010_03_01_archive.html'> March </a> <span class='post-count' dir='ltr'>(3)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2010_02_01_archive.html'> February </a> <span class='post-count' dir='ltr'>(2)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2010_01_01_archive.html'> January </a> <span class='post-count' dir='ltr'>(5)</span> </li> </ul> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/search?updated-min=2009-01-01T00:00:00-08:00&amp;updated-max=2010-01-01T00:00:00-08:00&amp;max-results=50'> 2009 </a> <span class='post-count' dir='ltr'>(63)</span> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2009_12_01_archive.html'> December </a> <span class='post-count' dir='ltr'>(7)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2009_11_01_archive.html'> November </a> <span class='post-count' dir='ltr'>(5)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2009_10_01_archive.html'> October </a> <span class='post-count' dir='ltr'>(5)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2009_09_01_archive.html'> September </a> <span class='post-count' dir='ltr'>(8)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2009_08_01_archive.html'> August </a> <span class='post-count' dir='ltr'>(2)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2009_07_01_archive.html'> July </a> <span class='post-count' dir='ltr'>(1)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2009_06_01_archive.html'> June </a> <span class='post-count' dir='ltr'>(2)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2009_05_01_archive.html'> May </a> <span class='post-count' dir='ltr'>(5)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2009_04_01_archive.html'> April </a> <span class='post-count' dir='ltr'>(12)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2009_03_01_archive.html'> March </a> <span class='post-count' dir='ltr'>(5)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2009_02_01_archive.html'> February </a> <span class='post-count' dir='ltr'>(8)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2009_01_01_archive.html'> January </a> <span class='post-count' dir='ltr'>(3)</span> </li> </ul> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/search?updated-min=2008-01-01T00:00:00-08:00&amp;updated-max=2009-01-01T00:00:00-08:00&amp;max-results=40'> 2008 </a> <span class='post-count' dir='ltr'>(40)</span> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2008_12_01_archive.html'> December </a> <span class='post-count' dir='ltr'>(3)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2008_11_01_archive.html'> November </a> <span class='post-count' dir='ltr'>(1)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2008_10_01_archive.html'> October </a> <span class='post-count' dir='ltr'>(4)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2008_09_01_archive.html'> September </a> <span class='post-count' dir='ltr'>(6)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2008_08_01_archive.html'> August </a> <span class='post-count' dir='ltr'>(4)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2008_06_01_archive.html'> June </a> <span class='post-count' dir='ltr'>(1)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2008_05_01_archive.html'> May </a> <span class='post-count' dir='ltr'>(5)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2008_04_01_archive.html'> April </a> <span class='post-count' dir='ltr'>(4)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2008_03_01_archive.html'> March </a> <span class='post-count' dir='ltr'>(5)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2008_02_01_archive.html'> February </a> <span class='post-count' dir='ltr'>(2)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2008_01_01_archive.html'> January </a> <span class='post-count' dir='ltr'>(5)</span> </li> </ul> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/search?updated-min=2007-01-01T00:00:00-08:00&amp;updated-max=2008-01-01T00:00:00-08:00&amp;max-results=8'> 2007 </a> <span class='post-count' dir='ltr'>(8)</span> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2007_12_01_archive.html'> December </a> <span class='post-count' dir='ltr'>(3)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> &#9658;&#160; </span> </a> <a class='post-count-link' href='http://android-developers.blogspot.com/2007_11_01_archive.html'> November </a> <span class='post-count' dir='ltr'>(5)</span> </li> </ul> </li> </ul> </div> </div> <div class='clear'></div> <span class='widget-item-control'> <span class='item-control blog-admin'> <a class='quickedit' href='//www.blogger.com/rearrange?blogID=6755709643044947179&widgetType=BlogArchive&widgetId=BlogArchive1&action=editWidget&sectionId=sidebar-left-1' onclick='return _WidgetManager._PopupConfig(document.getElementById("BlogArchive1"));' target='configBlogArchive1' title='Edit'> <img alt='' height='18' src='//img1.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/> </a> </span> </span> <div class='clear'></div> </div> </div><div class='widget HTML' data-version='1' id='HTML1'> <h2 class='title'>Community</h2> <div class='widget-content'> <!-- Place this tag in the <head> of your document --> <script type="text/javascript"> window.___gcfg = {lang: 'en'}; (function() {var po = document.createElement("script"); po.type = "text/javascript"; po.async = true;po.src = "https://apis.google.com/js/plusone.js"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(po, s); })();</script> <!-- Place this tag where you want the badge to render --> <div class="g-plus" data-href="https://plus.google.com/108967384991768947849?rel=publisher" data-width="170" data-height="131" data-theme="light"></div> <br/> <a href="http://android-developers.blogspot.com/atom.xml"><img src="http://www.google.com/images/feed-icon.gif" /></a> <a href="http://android-developers.blogspot.com/atom.xml">Subscribe</a> <br /> <a href="http://feeds.feedburner.com/blogspot/hsDu"><img width="88" style="border:0; margin: 7px 0 0 0; vertical-align: top;" alt="Feed subscriber count" src="http://feeds.feedburner.com/~fc/blogspot/hsDu?bg=0000FF&amp;fg=FFFFFF&amp;anim=1" height="26" /></a> <br /> <a href="http://fusion.google.com/add?feedurl=http%3A//android-developers.blogspot.com/atom.xml"><img border="0" alt="Add to Google" style="margin: 7px 0 0 0; vertical-align: top;" width="104" src="http://buttons.googlesyndication.com/fusion/add.gif" height="17" /></a><br/> </div> <div class='clear'></div> <span class='widget-item-control'> <span class='item-control blog-admin'> <a class='quickedit' href='//www.blogger.com/rearrange?blogID=6755709643044947179&widgetType=HTML&widgetId=HTML1&action=editWidget&sectionId=sidebar-left-1' onclick='return _WidgetManager._PopupConfig(document.getElementById("HTML1"));' target='configHTML1' title='Edit'> <img alt='' height='18' src='//img1.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/> </a> </span> </span> <div class='clear'></div> </div></div> </aside> </div> </div> <div class='column-right-outer'> <div class='column-right-inner'> <aside> </aside> </div> </div> </div> <div style='clear: both'></div> <!-- columns --> </div> <!-- main --> </div> </div> <div class='main-cap-bottom cap-bottom'> <div class='cap-left'></div> <div class='cap-right'></div> </div> </div> <footer> <div class='footer-outer'> <div class='footer-cap-top cap-top'> <div class='cap-left'></div> <div class='cap-right'></div> </div> <div class='fauxborder-left footer-fauxborder-left'> <div class='fauxborder-right footer-fauxborder-right'></div> <div class='region-inner footer-inner'> <div class='foot section' id='footer-1'></div> <!-- outside of the include in order to lock Attribution widget --> <div class='foot section' id='footer-3'><div class='widget Attribution' data-version='1' id='Attribution1'> <div class='widget-content' style='text-align: center;'> Powered by <a href='https://www.blogger.com' target='_blank'>Blogger</a>. </div> <div class='clear'></div> <span class='widget-item-control'> <span class='item-control blog-admin'> <a class='quickedit' href='//www.blogger.com/rearrange?blogID=6755709643044947179&widgetType=Attribution&widgetId=Attribution1&action=editWidget&sectionId=footer-3' onclick='return _WidgetManager._PopupConfig(document.getElementById("Attribution1"));' target='configAttribution1' title='Edit'> <img alt='' height='18' src='//img1.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/> </a> </span> </span> <div class='clear'></div> </div></div> </div> </div> <div class='footer-cap-bottom cap-bottom'> <div class='cap-left'></div> <div class='cap-right'></div> </div> </div> </footer> <!-- content --> </div> </div> <div class='content-cap-bottom cap-bottom'> <div class='cap-left'></div> <div class='cap-right'></div> </div> </div> </div> <script type='text/javascript'> window.setTimeout(function() { document.body.className = document.body.className.replace('loading', ''); }, 10); </script> <script type='text/javascript'> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-5831155-1']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = (document.location.protocol == 'https:' ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script> <script type='text/javascript'> $("pre:not(.no-pretty-print)").addClass("prettyprint"); prettyPrint(); </script> <script type="text/javascript"> if (window.jstiming) window.jstiming.load.tick('widgetJsBefore'); </script><script type="text/javascript" src="https://www.blogger.com/static/v1/widgets/1976504288-widgets.js"></script> <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script> <script type="text/javascript" src="//www.google.com/jsapi"></script> <script type='text/javascript'> if (typeof(BLOG_attachCsiOnload) != 'undefined' && BLOG_attachCsiOnload != null) { window['blogger_templates_experiment_id'] = "templatesV2";window['blogger_blog_id'] = '6755709643044947179';BLOG_attachCsiOnload('item_'); }_WidgetManager._Init('//www.blogger.com/rearrange?blogID\x3d6755709643044947179','//android-developers.blogspot.com/2016/04/android-studio-2-0.html','6755709643044947179'); _WidgetManager._SetDataContext([{'name': 'options', 'data': {}}, {'name': 'blog', 'data': {'blogId': '6755709643044947179', 'bloggerUrl': 'https://www.blogger.com', 'title': 'Android Developers Blog', 'pageType': 'item', 'postId': '7640336819303098040', 'url': 'http://android-developers.blogspot.com/2016/04/android-studio-2-0.html', 'canonicalUrl': 'http://android-developers.blogspot.com/2016/04/android-studio-2-0.html', 'homepageUrl': 'http://android-developers.blogspot.com/', 'canonicalHomepageUrl': 'http://android-developers.blogspot.com/', 'blogspotFaviconUrl': 'http://android-developers.blogspot.com/favicon.ico', 'enabledCommentProfileImages': true, 'adultContent': false, 'analyticsAccountNumber': 'UA-5831155-1', 'useUniversalAnalytics': false, 'pageName': 'Android Studio 2.0', 'pageTitle': 'Android Developers Blog: Android Studio 2.0', 'encoding': 'UTF-8', 'locale': 'en', 'localeUnderscoreDelimited': 'en', 'isPrivate': false, 'isMobile': false, 'isMobileRequest': false, 'mobileClass': '', 'isPrivateBlog': false, 'languageDirection': 'ltr', 'feedLinks': '\74link rel\75\42alternate\42 type\75\42application/atom+xml\42 title\75\42Android Developers Blog - Atom\42 href\75\42http://android-developers.blogspot.com/feeds/posts/default\42 /\76\n\74link rel\75\42alternate\42 type\75\42application/rss+xml\42 title\75\42Android Developers Blog - RSS\42 href\75\42http://android-developers.blogspot.com/feeds/posts/default?alt\75rss\42 /\76\n\74link rel\75\42service.post\42 type\75\42application/atom+xml\42 title\75\42Android Developers Blog - Atom\42 href\75\42https://www.blogger.com/feeds/6755709643044947179/posts/default\42 /\76\n\n\74link rel\75\42alternate\42 type\75\42application/atom+xml\42 title\75\42Android Developers Blog - Atom\42 href\75\42http://android-developers.blogspot.com/feeds/7640336819303098040/comments/default\42 /\76\n', 'meTag': '', 'openIdOpTag': '', 'postImageThumbnailUrl': 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuTE0lw340F1xXQbTWsUtRgfjWigSn6cVEYcFoMkP_viipQULotMzwsDVzfoVvvPmVwCLAUIdkipnvBkPSk-BRmp-O3b3s97zEWqOk1ZpliAksaWaiqb8AXBcdUMqdf7FqxxM-lrReR8kV/s72-c/image03.png', 'postImageUrl': 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuTE0lw340F1xXQbTWsUtRgfjWigSn6cVEYcFoMkP_viipQULotMzwsDVzfoVvvPmVwCLAUIdkipnvBkPSk-BRmp-O3b3s97zEWqOk1ZpliAksaWaiqb8AXBcdUMqdf7FqxxM-lrReR8kV/s200/image03.png', 'latencyHeadScript': '\74script type\75\42text/javascript\42\76(function() { (function(){function c(a){this.t\75{};this.tick\75function(a,c,b){var d\75void 0!\75b?b:(new Date).getTime();this.t[a]\75[d,c];if(void 0\75\75b)try{window.console.timeStamp(\42CSI/\42+a)}catch(e){}};this.tick(\42start\42,null,a)}var a;window.performance\46\46(a\75window.performance.timing);var h\75a?new c(a.responseStart):new c;window.jstiming\75{Timer:c,load:h};if(a){var b\75a.navigationStart,e\75a.responseStart;0\74b\46\46e\76\75b\46\46(window.jstiming.srt\75e-b)}if(a){var d\75window.jstiming.load;0\74b\46\46e\76\75b\46\46(d.tick(\42_wtsrt\42,void 0,b),d.tick(\42wtsrt_\42,\n\42_wtsrt\42,e),d.tick(\42tbsd_\42,\42wtsrt_\42))}try{a\75null,window.chrome\46\46window.chrome.csi\46\46(a\75Math.floor(window.chrome.csi().pageT),d\46\0460\74b\46\46(d.tick(\42_tbnd\42,void 0,window.chrome.csi().startE),d.tick(\42tbnd_\42,\42_tbnd\42,b))),null\75\75a\46\46window.gtbExternal\46\46(a\75window.gtbExternal.pageT()),null\75\75a\46\46window.external\46\46(a\75window.external.pageT,d\46\0460\74b\46\46(d.tick(\42_tbnd\42,void 0,window.external.startE),d.tick(\42tbnd_\42,\42_tbnd\42,b))),a\46\46(window.jstiming.pt\75a)}catch(k){}})();window.tickAboveFold\75function(c){var a\0750;if(c.offsetParent){do a+\75c.offsetTop;while(c\75c.offsetParent)}c\75a;750\76\75c\46\46window.jstiming.load.tick(\42aft\42)};var f\75!1;function g(){f||(f\75!0,window.jstiming.load.tick(\42firstScrollTime\42))}window.addEventListener?window.addEventListener(\42scroll\42,g,!1):window.attachEvent(\42onscroll\42,g);\n })();\74/script\076', 'mobileHeadScript': '', 'adsenseHostId': 'ca-host-pub-1556223355139109', 'ieCssRetrofitLinks': '\74!--[if IE]\76\74script type\75\42text/javascript\42 src\75\42https://www.blogger.com/static/v1/jsbin/3512845138-ieretrofit.js\42\76\74/script\76\n\74![endif]--\076', 'view': '', 'dynamicViewsCommentsSrc': '//www.blogblog.com/dynamicviews/4224c15c4e7c9321/js/comments.js', 'dynamicViewsScriptSrc': '//www.blogblog.com/dynamicviews/71225c15c406a841', 'plusOneApiSrc': 'https://apis.google.com/js/plusone.js', 'sf': 'n', 'tf': ''}}, {'name': 'features', 'data': {'widgetVisibility': true}}, {'name': 'messages', 'data': {'adsGoHere': 'Ads go here', 'archive': 'Archive', 'authorSaid': '%1 said...', 'authorSaidWithLink': '\74a href\75\42%2\42 rel\75\42nofollow\42\76%1\74/a\76 said...', 'blogArchive': 'Blog Archive', 'by': 'By', 'byAuthor': 'By %1', 'byAuthorLink': 'By \74a href\75\42%2\42\76%1\74/a\076', 'configurationRequired': 'Configuration required', 'deleteBacklink': 'Delete Backlink', 'deleteComment': 'Delete Comment', 'edit': 'Edit', 'emailAddress': 'Email Address', 'getEmailNotifications': 'Get email notifications', 'hidden': 'Hidden', 'keepReading': 'Keep reading', 'labels': 'Labels', 'loadMorePosts': 'Load more posts', 'loading': 'Loading...', 'myBlogList': 'My Blog List', 'myFavoriteSites': 'My favorite sites', 'newer': 'Newer', 'newerPosts': 'Newer Posts', 'newest': 'Newest', 'noResultsFound': 'No results found', 'noTitle': 'No title', 'numberOfComments': '{numComments, plural, \0750 {No comments} \0751 {1 comment} other {# comments}}', 'older': 'Older', 'olderPosts': 'Older Posts', 'oldest': 'Oldest', 'onlyTeamMembersCanComment': 'Note: Only a member of this blog may post a comment.', 'popularPosts': 'Popular Posts', 'popularPostsFromThisBlog': 'Popular posts from this blog', 'postAComment': 'Post a Comment', 'postedBy': 'Posted by', 'postedByAuthor': 'Posted by %1', 'postedByAuthorLink': 'Posted by \74a href\75\42%2\42\76%1\74/a\076', 'readMore': 'Read more', 'reportAbuse': 'Report Abuse', 'search': 'Search', 'searchBlog': 'Search blog', 'share': 'Share', 'showAll': 'Show all', 'showLess': 'Show less', 'showMore': 'Show more', 'someOfMyFavoriteSites': 'Some of my favorite sites', 'subscribe': 'Subscribe', 'subscribeTo': 'Subscribe to:', 'subscribeToThisBlog': 'Subscribe to this blog', 'theresNothingHere': 'There\47s nothing here!', 'viewAll': 'View all', 'visible': 'Visible', 'visitProfile': 'Visit profile', 'widgetNotAvailableInPreview': 'This content is not available in blog preview.', 'widgetNotAvailableOnHttps': 'This content is not yet available over encrypted connections.'}}, {'name': 'skin', 'data': {'vars': {'post_footer_background_color': '#f9f9f9', 'tabs_text_color': '#000000', 'content_shadow_spread': '40px', 'date_header_letterspacing': 'inherit', 'body_background_override': '', 'body_background': '#f9f9f9 none repeat scroll top left', 'description_text_size': '140%', 'mobile_background_size': 'auto', 'header_shadow_spread': '1px', 'image_border_color': '#eeeeee', 'date_header_color': '#ffffff', 'header_shadow_offset_top': '-1px', 'header_border_horizontalsize': '0', 'widget_title_font': 'normal bold 11px Arial, Tahoma, Helvetica, FreeSans, sans-serif', 'tabs_border_color': '#eeeeee', 'tabs_bevel_border_width': '1px', 'body_background_gradient_tile': 'url(http://www.blogblog.com/1kt/simple/body_gradient_tile_light.png)', 'description_text_color': '#000000', 'main_section_margin': '15px', 'post_title_font': 'normal normal 22px Roboto', 'page_width': 'auto', 'paging_background': 'transparent none no-repeat scroll top center', 'body_text_color': '#666666', 'content_padding': '10px', 'header_background_gradient': 'none', 'post_margin_bottom': '25px', 'header_shadow_offset_left': '-1px', 'tabs_background_color': 'transparent', 'content_background_color': 'transparent', 'body_background_gradient_cap': 'url(http://www.blogblog.com/1kt/simple/gradients_light.png)', 'main_padding_top': '30px', 'widget_alternate_text_color': '#999999', 'image_text_color': '#666666', 'link_visited_color': '#258aaf', 'tabs_margin_side': '30px', 'image_border_large_size': '5px', 'content_shadow_spread_webkit': '5px', 'mobile_button_color': '#ffffff', 'tabs_selected_text_color': '#000000', 'main_border_width': '0', 'content_background_color_selector': '.content-inner', 'link_color': '#258aaf', 'post_footer_border_color': '#eeeeee', 'tabs_background_gradient': 'url(http://www.blogblog.com/1kt/simple/gradients_light.png)', 'content_padding_horizontal': '10px', 'header_font': 'normal normal 22px Roboto', 'startSide': 'left', 'tabs_font': 'normal normal 14px Roboto', 'widget_title_text_color': '#000000', 'header_border_size': '1px', 'tabs_selected_background_color': '#eeeeee', 'date_header_margin': 'inherit', 'footer_bevel': '0', 'image_border_small_size': '2px', 'content_shadow_spread_ie': '10px', 'mobile_background_overlay': 'transparent none repeat scroll top left', 'endSide': 'right', 'image_background_color': '#ffffff', 'body_rule_color': '#eeeeee', 'header_bottom_border_size': '1px', 'date_header_padding': 'inherit', 'page_width_selector': '.region-inner', 'body_background_color': '#f9f9f9', 'header_text_color': '#333333', 'main_padding': '15px', 'date_header_background_color': '#bbbbbb', 'tabs_border_width': '1px', 'body_font': 'normal normal 12px Roboto', 'link_hover_color': '#33b5e5', 'header_background_color': 'transparent', 'keycolor': '#66bbdd', 'main_padding_bottom': '30px', 'post_footer_text_color': '#666666', 'tabs_margin_top': '0', 'header_padding': '30px'}, 'override': ''}}, {'name': 'view', 'data': {'classic': {'name': 'classic', 'url': '?view\75classic'}, 'flipcard': {'name': 'flipcard', 'url': '?view\75flipcard'}, 'magazine': {'name': 'magazine', 'url': '?view\75magazine'}, 'mosaic': {'name': 'mosaic', 'url': '?view\75mosaic'}, 'sidebar': {'name': 'sidebar', 'url': '?view\75sidebar'}, 'snapshot': {'name': 'snapshot', 'url': '?view\75snapshot'}, 'timeslide': {'name': 'timeslide', 'url': '?view\75timeslide'}, 'featuredImage': 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuTE0lw340F1xXQbTWsUtRgfjWigSn6cVEYcFoMkP_viipQULotMzwsDVzfoVvvPmVwCLAUIdkipnvBkPSk-BRmp-O3b3s97zEWqOk1ZpliAksaWaiqb8AXBcdUMqdf7FqxxM-lrReR8kV/s200/image03.png'}}]); _WidgetManager._RegisterWidget('_HeaderView', new _WidgetInfo('Header1', 'header', null, document.getElementById('Header1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_BlogView', new _WidgetInfo('Blog1', 'main', null, document.getElementById('Blog1'), {'cmtInteractionsEnabled': false, 'showBacklinks': true, 'postId': '7640336819303098040', 'lightboxEnabled': true, 'lightboxModuleUrl': 'https://www.blogger.com/static/v1/jsbin/503936933-lbx.js', 'lightboxCssUrl': 'https://www.blogger.com/static/v1/v-css/306752634-lightbox_bundle.css'}, 'displayModeFull')); _WidgetManager._RegisterWidget('_ImageView', new _WidgetInfo('Image1', 'sidebar-left-1', null, document.getElementById('Image1'), {'resize': false}, 'displayModeFull')); _WidgetManager._RegisterWidget('_CustomSearchView', new _WidgetInfo('CustomSearch1', 'sidebar-left-1', null, document.getElementById('CustomSearch1'), {'title': 'Search', 'includeBlog': true, 'includePostLinks': false, 'includeWeb': false, 'linkLists': [], 'blogUrl': 'http://android-developers.blogspot.com/', 'loadingMsg': 'Loading...', 'thisBlogMsg': 'This Blog', 'linkedFromHereMsg': 'Linked From Here', 'theWebMsg': 'The Web', 'backgroundColor': 'transparent', 'textColor': '#666666', 'dateColor': '#000000', 'linkColor': '#258aaf', 'urlColor': '#258aaf', 'visitedLinkColor': '#258aaf', 'borderColor': '#eeeeee', 'activeBorderColor': '#eeeeee', 'cse_ua': true}, 'displayModeFull')); _WidgetManager._RegisterWidget('_BlogArchiveView', new _WidgetInfo('BlogArchive1', 'sidebar-left-1', null, document.getElementById('BlogArchive1'), {'languageDirection': 'ltr', 'loadingMessage': 'Loading...'}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML1', 'sidebar-left-1', null, document.getElementById('HTML1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_AttributionView', new _WidgetInfo('Attribution1', 'footer-3', null, document.getElementById('Attribution1'), {'attribution': 'Powered by \74a href\75\47https://www.blogger.com\47 target\75\47_blank\47\76Blogger\74/a\76.'}, 'displayModeFull')); </script> </body> </html>
Posted by
Yoshifumi Yamaguchi - Developer Relations Team
ラベル
.app
1
.dev
1
#11WeeksOfAndroid
13
#11WeeksOfAndroid Android TV
1
#Android11
3
#DevFest16
1
#DevFest17
1
#DevFest18
1
#DevFest19
1
#DevFest20
1
#DevFest21
1
#DevFest22
1
#DevFest23
1
#hack4jp
3
11 weeks of Android
2
A MESSAGE FROM OUR CEO
1
A/B Testing
1
A4A
4
Accelerator
6
Accessibility
1
accuracy
1
Actions on Google
16
Activation Atlas
1
address validation API
1
Addy Osmani
1
ADK
2
AdMob
32
Ads
72
Ads API
131
ads query language
2
ads scripts
2
ads search
1
advanced markers
1
Advanced Protection Program
3
AdWords API
25
adwords scripts
2
aerial view api
1
Agency
1
AI
18
AIY
3
AIY Vision Kit
2
ALPN
1
AMP
120
AMP Cache
9
AMP Camp
2
AMP CSS
1
AMP Extension
1
AMP Fest
1
AMP for Email
4
AMP Optimizer
1
AMP Packager
1
AMP Playground
1
AMP Plugin
1
AMP SSR
1
AMP Story
4
AMP Toolbox
1
amp-bind
1
amp.dev
1
AMPHTML Ads
1
Analytics
9
Andorid
12
Android
400
Android 10
1
Android 11
20
Android 11 Compatibility
1
Android 11 final release
1
Android 11 meetups
1
Android 9
1
android api
1
Android App Bundle
1
Android App Development
23
Android Architecture
1
Android Architecture Components
1
Android Auto
1
Android Design Support Library
1
Android Developer
14
Android Developer Story
4
Android Developers
13
Android Enterprise
6
Android for cars
2
Android Go
1
Android Jetpack
6
Android N
18
Android O
14
Android Open Source Project
1
Android P
7
Android Pay
1
android privacy
1
Android Q
13
Android Ready SE Alliance
1
android security
5
Android Security Year in Review
1
Android StrongBox
1
Android Studio
47
Android Studio 4.1
1
android study jam
1
Android Support Library
6
Android Things
15
Android Tools
2
Android TV
11
Android Vitals
4
Android Wear
29
android11
6
androidmarket
3
androidstudio
1
AndroidX
6
Angular
2
Angular 2
2
AngularJS
2
Announcements
2
Anthos
2
antmicro
1
AoG
1
aosp
1
API
28
APIExpert
45
apk
2
APM
1
app
3
App Action
1
App Bundle
2
app check
1
app engine
24
App Indexing
7
App Invites
6
App Maker
2
App modernization
1
AppCompat
2
Apps Flutter eBay
1
Apps Script
12
AppSheet
1
aprilfool
4
AR
3
Architecture Components
7
ARCore
3
ArtTech
1
asset-based extensions
2
assets
1
Associate Android Developer Certificate
1
Attribution Reporting
1
Audio
7
Auth Code
1
Authentication
9
AuthSub
2
Autofill
5
AutoML
1
Autotrack
2
award
1
Awareness API
1
basemap
1
basic-card
1
Beacons
6
bento
2
BERT
1
Best Practices
1
beta
4
Better Ads Standards
3
BigQuery
10
Billing
1
Biometrics
1
BLE
4
Blink
1
Blockly
1
blogger
1
BodyPix
1
bootcamp
1
Brillo
1
Brotli
2
Budou
1
budoux
1
Buildbetterapps
2
C++
1
Calendar
3
call ads
1
campaign
2
campaignsharedset
1
Campus
1
Canvas
1
Cardboard
4
Career
1
Case Study
3
CCPA
1
CDS 2020
3
CDS Recap 2020
3
Certificate
8
changestatus
1
chrome
261
chrome 98
1
Chrome Apps
1
Chrome Custom Tab
4
Chrome Dev Summit
5
chrome extension
14
Chrome for Android
2
Chrome for iOS
3
Chrome OS
10
Chrome Root Program
1
Chrome Root Store
1
Chrome Tech Talk Night
4
chrome103
1
chrome104
1
chrome108
1
chrome90
1
Chromebook
5
Chromecast
7
chromewebstore
9
Chromium
20
CLI
1
ClientLogin
3
Closure Compiler
1
Cloud
27
Cloud AI Platform
2
Cloud Firestore
5
Cloud Functions
9
Cloud IoT Device SDK
1
cloud messaging
1
Cloud ML Summit
1
Cloud Next
19
Cloud OnAir
5
Cloud OnBoard
4
Cloud PubSub
1
Cloud Run
1
Cloud Storage
1
Cloud Study Jams
3
Cloud Summit
1
Cloud Test Lab
2
Cloudflare
1
CNN
1
Coalition for Better Ads
2
CocoaPods
1
code review
1
codejam
5
codelab
5
Codepen
1
Colaboratory
1
Common Criteria
1
Community
6
compatibility
1
Compose
1
compose camp
1
compute engine
3
consent
1
Contests
1
Context
1
controls
1
Conversation API
1
conversations
2
conversion
1
Cookie
10
Coral
3
core web vitals
1
COVID-19
2
Crash Reporting
2
Crashlytics
3
Custom Element
1
Custom Model
1
CWV
2
dark theme
1
Dart
2
DataCenter
1
datacloudsummit
1
Daydream
4
deck.gl
2
Deep Learning
4
Delegation
1
Demo Party
1
Design Patterns
1
Design Sprint
3
DesignBytes
1
Designer
1
DevArt
3
DevBytes
6
Developer
15
Developer Console
4
Developer Library
1
Developer Preview
6
Developer Relations
3
Developer Review
1
Developer Student Club
1
DEVELOPERS
1
Developers Story
4
DevFest
12
DevFestX
3
DevOps
1
devtools
4
Dialogflow
1
Differential privacy
2
Digital Asset Links
1
Digital Goods API
1
directions api
1
DirectShare
1
Discover
1
distance matrix api
1
DNS-over-HTTPS
4
Domain
1
Doodle
1
DoubleClick
4
Doze モード
1
drive
2
DSA
1
DSC
1
DX
1
Dynamic Links
3
EarlGrey
1
Easter Egg
1
ECMAScript 2015
1
Eddystone
4
Edge
1
egypt
1
encoder
1
Encryption
1
English
2
environment api
1
Envoy
1
error
1
ES2015
1
ES2016
1
ES6
2
ES7
1
eta
1
Event
7
events
3
extensions
1
external
1
Featured
25
Feed
2
feed-based extensions
3
feeds
1
FIDO
7
filter
1
final release
1
Firebase
123
Firebase Admin SDK
6
Firebase Analytics
10
Firebase Auth
4
Firebase Cloud Messaging
10
Firebase Crashlytics
2
Firebase Database
5
firebase for games
1
Firebase Libraries
1
Firebase Notifications
1
Firebase Performance
3
Firebase Remote Config
6
firebase summit
1
Flash
1
FLEDGE
1
FLoC
2
Flutter
8
Flutter App Development
1
flutter3
1
font
3
fraud
1
G Suite
19
game
43
Game Developers Conference 2018
1
Game Developers Conference 2019
1
Game Development
1
gaming
1
gaql
8
Gboard
2
gc_datacloud
1
GCCN
1
GCP
17
GCPUG
1
GDC
1
GDD11JP
56
GDD2010JP
23
GDE
2
GDG
22
GDG Cloud
1
gdsc
4
Gemini
5
generative AI
3
Geo
55
Gingerbread
1
GLIDE
5
global foundries
1
Gmail
6
Gmail API
3
Go
1
Go Checksum Database
1
golang
5
goo.gl
1
Google
8
Google account
1
Google Analytics
4
Google API
2
Google Apps
14
Google Apps Script
4
Google Assistant
13
Google Assistant SDK
2
Google Binary Transparency
1
Google Cast
8
Google Chat
3
Google Cloud
49
Google Cloud Day
10
google cloud innovators
2
Google Cloud INSIDE Digital
2
Google Cloud INSIDE Games & Apps
9
Google Cloud INSIDE Media
1
Google Cloud INSIDE Retail
3
Google Cloud Messaging
11
google cloud next
4
google cloud next tokyo
3
Google Cloud Platform
16
Google Code-in
1
Google Dev Library
1
Google Developer Experts
2
google developer groups
1
google developer student clubs
1
Google Developers Academy
1
Google Developers live
5
Google Developers Summit
2
Google Drive
6
Google Earth
1
Google Fit
2
Google for Games
3
Google for Mobile
2
Google for Startups
8
Google for Work
1
Google I/O
26
Google I/O 2024
3
Google Identity Services
6
Google Impact Challenge
1
Google Maps
72
Google Maps Platform
91
Google Meet
1
Google ML Summit
2
Google Open Source Peer Bonus
1
Google Pay
6
Google Photo
1
Google Play
148
Google Play App Safety
1
Google Play Billing
1
Google Play Console
15
Google Play developer distribution agreement
1
Google Play Developer Policies
2
Google Play Game Services
10
Google Play Instant
1
Google Play Services
23
Google Play Store
1
Google Play アプリ署名
1
Google Plus
14
Google Search
8
Google Sheets API
3
Google Sign-In
17
Google Slides API
5
Google Summer of Code
1
Google Tag Manager
1
Google Tensor
1
Google Trust Services
3
Google マップ
4
google_ads_api_v6
1
Google+
2
Googleapps
10
GoogleCloud
5
GoogleCloudDay
5
GoogleCloudInside
1
googlecloudlearn
1
googlecloudnext
2
GoogleGames
1
GoogleI/O
31
GoogleLabs
1
GooglePlay
3
GoogleTV
1
GPS
1
Gradle
1
Growth Academy
1
gRPC
2
GTUG
5
GWT
2
hack4jp
2
hackathon
7
handson
1
Hangouts Chat
3
hardware
2
Hosting
3
hotel
1
How-To Guide
1
HTML5
17
HTML5Rocks
1
HTTP/2
5
HTTPS
19
I/O Extended
7
ID Token
1
Identity
18
Identity Toolkit
1
IGF2010
4
IGF2020
2
Ignite
4
Imagen 2
1
IME
12
Indie Game
7
Indie Games Festival
7
Indie Games Festival 2018
2
Indie Games Festival 2019
12
Indie Games Festival 2020
7
Industry Trends
1
Inevitable ja Night
30
innovators hive
2
Insights
1
Instagram
1
Instant Apps
6
intern
2
Invites
1
IO19
3
iOS
22
IoT
7
IPv6
1
Issue Tracker
2
IWD
1
Japanese
6
Japanese Developer
1
Japanese Input
1
java
1
JavaScript
13
Jetpack
5
Jetpack Compose
6
Journeys
1
K-12
1
Key Transparency
1
Knowledge Graph
1
Kotlin
25
Kotlin Android Extensions
1
kotlin api
1
Kotlin Beginners
3
Kotlin Vocabulary
2
Kubernetes
4
l10n
8
latest
18
latest news
1
launch
1
LaunchPad
2
Learn
1
lifull
1
Lighthouse
1
LINE
1
Local AI
1
Location
1
Lollipop
10
Machine Learning
32
MAD Skills
2
MADSkills
2
Maker Faire Tokyo
1
maps compose
1
maps embed api
1
Maps JavaScript API
5
maps on air
1
maps sdk
2
maps transportation
1
Marshmallow
10
Material
1
Material Design
31
MDL
2
MDN
1
MediaPipe
1
Messaging
1
metrics
1
MIDI
2
migration
1
mikan
1
Mixed Contents
4
ML
3
ML Kit
12
mlops
1
Mobile
15
Mobile Bootcamp
4
mobile optimized maps
1
Mobile Sites certification
1
Mobile Vision
4
mod_pagespeed
1
Model Maker
1
monetization
2
monetize
3
Mozc
15
Music
1
NativeDriver
2
NativeScript
1
Navigation
1
NBU
1
ndk
3
Nearby
5
News
1
Next Extended
1
Next Tokyo
4
Nexus
2
Nexus S
1
NFC
1
NIST
1
Node.js
3
notifications
2
Noto CJK
1
Now in Android
13
NPAPI
2
NPN
1
oauth
17
officehour
1
One Tap
2
online security
2
open silicon
2
open source
9
OpenAI
1
opencensus
1
opencloudsummit
1
OpenGL
4
OpenID
3
OpenID Connect
4
OpenSocial
1
opensource
20
OpenTitan
1
Optimization
1
OSV
1
p-max
3
Page Experience
1
passkey
3
Password Manager
4
Payment
8
Payment Handler API
1
Payment Request API
2
PDF
1
PEM
33
people
2
People API
3
Performance
16
Performance budget
1
performance max
1
Performance Monitoring
1
performance report
1
permissions
1
personalization
1
PersonFinder
1
Phishing
2
phone
1
photorealistic 3d tiles
1
Physical Web
3
Pi
1
Pixel
4
Place Picker
1
placements
1
places api
1
places SDK
1
Platform Stability
1
Play Billing
2
Play Billing Library
2
Play Console
2
Player Analytics
4
Playtime 2017
1
Policy
8
policy compliance
2
policy violations
2
polylines
1
Polymer
7
pricing
1
privacy
15
Privacy Sandbox
22
Progressive Web Apps
14
project hosting
1
Promise
2
Promo code
1
Protocol Buffers
1
PRPL
1
publicdata
1
Push API
1
Push Notification
6
PWA
4
Python
3
query builder
8
query validator
1
QUIC
2
quick builder
1
quick start widget
1
QWIKLABS
3
RAIL
1
raspberry pi
1
React
1
React Native
2
reactive programming
1
Realtime Database
9
Recap Live Japan 2019
3
reCaptcha
1
Redux
1
release
7
Remote Config
4
Remote Display API
1
Reporting API
1
Requirements
1
Resonance Audio
1
resource type
1
Rewarded Video Ads
2
RKP
1
rmf
2
routes api
3
RSS
1
Run on OS Login
1
Runtime Permission
1
Rust
2
Safe Browsing
4
safety
1
Sample Code
2
Santa Tracker
1
SBOM
1
schedule
1
schema
2
schema.org
1
Scorecards
1
script
2
SDG
1
sdk
1
search central
1
secur
1
Secure Element
1
security
91
selfie
1
Service Worker
4
SHA-1
1
Sigstore
4
silicon
3
Site Isolation
1
sketchup
1
skywater
1
SLSA
1
smart displays
1
smart home
1
smart shopping campaign
1
SmartLock for Passwords
5
social
4
Social Good
1
Social Media
1
software development
1
solution challenge
2
Solve
1
SPDY
3
speak2tweet
1
speaker
1
Spectre
2
speedometer
1
Spreadsheet
3
ssc
1
ssd
1
SSR
1
stable release
1
startup
7
Storage
3
store sales direct
1
story
2
streetview
3
Study Jams
12
subscriptions
5
sunset
10
Swift
2
SwiftShader
1
Symantec
1
tag
1
tapple
1
Task
4
Team Drive
1
techtalk
13
TensorFlow
43
TensorFlow Federated
1
TensorFlow Lite
8
TensorFlow Object Detection API
1
TensorFlow Probability
2
TensorFlow.js
4
test
4
Test Lab
6
TF Certificate
2
TFX
1
The Fast and the Curious
13
Titan M2
1
Titan Security Key
1
TLS
4
Topics
1
ToS
1
trace
1
Transliteration
1
Transparency
1
Trust
1
Trusted Web Activity
1
Trusty OS
1
TrustZone
1
Twitter
1
UA-CH
1
Udacity
20
Unity
3
update
1
usecase
1
User Agent string
2
UX
5
v10
2
v10.1
1
v11
1
v13
1
v15
1
v3
1
v4
1
v5
1
v6.1
1
v7
2
V8
5
v9
1
valuetrack
1
Verifiable Design
1
Vision AI
1
VP9
1
VR
11
Vulkan
2
wafer
1
Watch Face
2
wave
2
Wear OS
3
Weave
1
Web
37
Web Animations
1
Web Components
9
Web Manifest
2
Web Packaging
3
Web Stories
3
Web Story
3
Web Vitals
7
web.dev
1
WebAssembly
6
WebAuthn
1
WebGL
5
Webhook
1
WebM
1
WebMusic
5
WebRTC
1
WebView
1
Windows
1
Women in Gaming
1
Women Techmakers
1
Women Techmakers Scholars Program
1
WomenDeveloperAcademy
1
Wordpress
2
workmanager
1
WTM
8
Xcode
1
YouTube
18
YouTube API
1
youtube select
1
インタビュー
1
コードサンプル
1
サプライ チェーン
1
プライバシー
1
機械学習
3
言論の自由
1
節電
3
定期購入
1
東日本大震災
9
日本語入力
41
ブログ アーカイブ
2024
9月
8月
7月
6月
5月
4月
3月
2月
1月
2023
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2022
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2021
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2020
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2019
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2018
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2017
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2016
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2015
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
2014
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2013
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2012
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2011
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2010
12月
11月
Feed
Follow @googledevjp
"プロダクトに関するご意見は
プロダクトフォーラム
にお願いします"