Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Android M 追加&変更事項 抜粋
Search
Makoto Anjo
June 25, 2015
Programming
1.4k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Android M 追加&変更事項 抜粋
DevFest 2015 (Google I/O 2015 報告会)の時の発表資料です。
Makoto Anjo
June 25, 2015
More Decks by Makoto Anjo
See All by Makoto Anjo
Pepper hackathonをホストしてきてわかったこと
tennetiss
1
280
Other Decks in Programming
See All in Programming
No More NoSuchMethodError
exoego
1
120
そのデザイントークン、Flutterでも同じ見た目になりますか?
nakamizu
0
230
社内AIエージェント「Askワンバン」における コストチューニングの取り組み
t0yohei
0
120
Spec-driven Development with AI
simas
PRO
0
2.2k
AI主導のプログラミング学習アプリを作ってみた
econanringo
0
210
LLM 101
dalinaum
0
440
[2026-10-14](C)Re:ゼロから始める異世界生活〜始まりの終わりと終わりの始まり〜
tosite
0
250
AI時代のTerminal環境を UNIX哲学で設計・運用する
yasunori0418
1
330
[JA] Domain Modeling with Vanilla Rails: 「操作」から再考するRailsの設計論
yasaichi
4
1.7k
GraphQL の onError と Nullability のこれから
quramy
0
200
Railsのためのパスキー実践入門 〜マルチテナントSaaSでの意思決定〜
utakaha
3
2.3k
[Dev Group Paris Octobre 26] Agentforce, SIforce, Claudeforce, Slackbot… on s'y retrouve ?
nabondance
0
130
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
247
13k
How GitHub (no longer) Works
holman
316
150k
Paper Plane (Part 1)
katiecoart
PRO
2
12k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
2
420
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
A better future with KSS
kneath
240
18k
The browser strikes back
jonoalderson
0
1.9k
The SEO identity crisis: Don't let AI make you average
varn
0
620
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
570
RailsConf 2023
tenderlove
30
1.6k
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
2
990
Transcript
DevFest2015 Speaker Android M update抜粋 安生 真
Agenda Android M ・指紋認証 ・Backup ・バッテリー効率向上 ・Doze ・App stanby ・通知アイコン
・テキスト範囲選択 ・App Links ・Bluetooth スタイラス ・RenderScript ・カメラ(トーチモード) ・MIDI ・ハイレゾオーディオ ・追加ストレージ ・ART
2つのAPI FingerPrint 指紋認証 ・FingerprintManager.authenticate() ・指紋で認可をとる ・アプリ側でUIコントロールは可能 ・ KeyguardManager.createConfirmDeviceCredentialIntent() ・ロックスクリーンを表示 ・startActivityForResult()
で 確認 ・Sample code github.com/googlesamples/android-FingerprintDialog github.com/googlesamples/android-ConfirmCredential
Confirm Credentialとは FingerPrint 指紋認証 ・KeyguardManager.createConfirmDeviceCredentialIntent() ・ユーザーが何分前に端末をアンロックしたかを取得でき る →n分前未満 なら 処理を続行
→n分以上ならアンロック画面をその場で表示、続行す るためにはユーザーにアンロックしてもらう ・正しいユーザーが使っているかどうかを確認する。決済 処理や、資産管理系アプリなどの前に使うことを想定
アプリの全データがデフォルトでバックアップ される Android Backup ・targetSdk M ・何も設定しなければ全てバックアップされる ・細かく設定も可能 ・xml/resource 内にscheme
ファイルを作って設定 ・include / exculde
Android Backup Android M アプリの全データがデフォルトでバックアップされる ・targetSdk M ・何も設定しなければ全てバックアップされる ・細かく設定も可能 ・xml/resource
内にscheme ファイルを作って設定 ・include / exculde
Doze バッテリー効率向上 スクリーン非表示時の効率 ・しばらく触っていない端末は Doze モードへ ・ネットワーク不可 (優先度設定の高いGCMが来た時はスルー) ・Wake locks無視
・AlarmManagerのスケジュール無効 (setAndAllowWhileIdle(),setAlarmClock()はスルー) ・WiFiスキャン無効 ・sync adapters,JobSchedularによる同期、ジョブ も停止
Doze バッテリー効率向上 ・しばらく触っていない端末は Doze モードへ ただし、 ・充電ケーブルが繋がってる状態 ・端末を動かしている状態(加速度などで検知) ・使っている状態(入力がある状態等) →以上の場合、ノーマルモードへ復帰、
ペンディングだったジョブや同期が実行される つまり、ペンディングから一気に実行されても正しく動作 するよう、事前に検証しておくこと
App standby バッテリー効率向上 ・しばらく触っていないアプリは idle モードへ ただし、 ・ユーザーが自分でそのアプリを起動 ・フォアグラウンドで動いてるプロセスがある ・ロックスクリーンや通知トレイから通知を選択した
・ユーザーが設定からそのアプリの設定を変更 (設定→アプリ→<任意のアプリ>→電池:「最適化を無 視」) →以上の場合、idleではなくなる(復帰する)
App standby バッテリー効率向上 ・idle 状態のアプリは 充電ケーブルが繋がっていない時 ・ネットワーク不可 ・定期ジョブ、同期も停止 充電ケーブルが繋がってる時 ・ネットワークアクセス可
・ジョブや同期も可 ただし、端末が長い間使われていない場合、idleアプリは 1日に一回しかネットワークが使えないという制限がつく
Doze&App standby バッテリー効率向上 Doze ・主にスクリーン非表示、バッテリー駆動時のバックグラ ウンド動作を制限し、知らない間に異常にバッテリーを消 費するようなことをなるべく回避する App stanby ・使用頻度の減ったアプリは特に意図がないかぎりその定
期動作を制限することでバッテリー消費を防ぐ
アイコン作成:今まではリソースIDを渡す必要があ った 通知アイコン リソースIDはビルド前にしか生成できないので、アイコ ンは全パターン事前にresourcesに入れておく必要があっ た
アイコン作成:直接Bitmapを渡せるようになりまし た 通知アイコン
テキスト範囲選択 ・範囲選択がより簡単に ・選択した近くにアクション が表示される ・TextViewだとデフォルト
テキスト範囲選択 また、範囲選択されたテキストをアプリで受け取 って処理する事も可能に
テキスト整形 より凝ったテキスト整 形も可能に
任意のWebドメインとアプリの関係性を明確にす る App Links ・自社Webサービスと自社アプリが同一の作者(企 業)であるという事を明示する事で、サードパーテ ィアプリより優先的な遷移を可能にする 詳細ページ(英語) d.android.com/preview/features/app-linking.html
App Links MのファイナルプレビューまでにはTLSが使えるよ うになります 以下のようなjsonをアプリと関連付けたいドメインに設 置する 関連付けたいアプリのパッケージ名を明 記して、またkeytoolで発行した certificateを記載しておく
App Links MのファイナルプレビューまでにはTLSが使えるよ うになります 以下のようなjsonをアプリと関連付けたいドメインに設 置する アプリ側は、Manifestに以下、 intent-filterやjsonを設置したドメイン名を記載しておく
App Links app linksの確立 ・アプリインストール時に package managerがstatement.jsonをwebから取得 ・そこに記載されているアプリパッケージ名と fingerprintをアプリ側のパッケージ名やcertとマッチして 確認する
→マッチすれば同一の製作者とみなし、自社アプリに 優先権が確立する
App Links app linksの確立 ・app linksを設定しない、もしくはマッチしなかった場 合は、今までどおりそのドメインで動作するアプリが複 数ある場合はアプリを選択するダイアログが表示される。 (ユーザーが選択する)
Styluses ICE_CREAM_SANDWICHからサポート MotionEvent APIs: TOOL_TYPE_STYLUS BUTTON_SECONDARY BUTTON_TERTIARY getPressure(), getSize(), getOrientation(),
など ただし、有線接続もしくはその端末専用デジタイザのみ でした
Styluses Bluetooth stylus support Bluetooth stylus 実装の流れ Bluetooth HID(BLE)経由で筆圧とボタン入力 Android
Mがこの入力をタッチイベントと融合 TOOL_TYPE_STYLUSとして touch streamを取得 できる Bluetooth stylus は全てのM端末アプリで対応可能
RenderScript (まだ生きてた)RenderScript Compute
Camera New Torch mode カメラのストロボ(フラッシュ)をカメラ から独立して制御可能に ※ただし、カメラを制御する方が優先される
MIDI MIDI API 以前から利用可能ではあったが… USBから直接制御するため実装は大変でし た android.media.midi MidiDeviceManager MidiInputPort MidiOutputPort
MidiDeviceService
ハイレゾ オーディオ オーディオサンプル: 単精度浮動小数点 FLOAT32(以前は16bit) サンプルレート: 96kHz(以前は44.1 or 48) USB
デジタルオーディオ: マルチチャンネル
ART 全体的にパフォーマンスは向上 さらに Runtime stats(ランタイムで統計とれるようになった) Debug.getRuntimeStat(String) “art.gc.gc-count” “art.gc.gc-time” … gcの発生回数、所要時間など
他 ・DirectShare ・Voice Interactions ・Camera Reprocessing API などなど
まとめ Mはブラッシュアップが中心 Doze、App stanbyはバックグラウンド動作に影響があ るので、事前に入念にテストしておく必要アリ App Links は App Indexing(Deep
Link)を含めてwebか らアプリへの導線として今後とても重要な機能になり 得るので、自分にとってベストな使い方を!
-------- ご清聴ありがとうございました! Google Developer Expert 安生 真 twitter @tennetiss Google+
Makoto Anjo
Next Product