Deprecated : The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
Google Developers Japan: 4月 2016
[この記事は 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
[この記事は 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 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
[この記事は 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
[この記事は 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 開発チームからの情報を常にチェックしてください。
Posted by Yoshifumi Yamaguchi - Developer Relations Team