Android6.0の機能まとめ
実機でサンプルを
動かしてみた
Android6.0 Marshmallow勉強会 2015/11/14
GDG神戸 野田悟志
自己紹介
野田悟志(のださとし)
GDG神戸 オーガナイザー (1年目)
● 仕事
○ 業務系システム開発(主にC#)
● 普段使う言語
○ C#
○ Java(Android)
○ Go
○ OculusとかVRがやりたくて、最近はUnity(C#)も。
GDG神戸 2015年開催イベント
2015/2/21 Go on Android ハンズオン&もくもく会
2015/4/29 Angular勉強会#3
2015/5/23 GDG神戸 初級〜中級者向けAndroid勉強会
2015/5/28 I/O Extended 2015 Kobe
2015/6/20 GDG DevFest Japan Summer 2015 in Kyoto(共催)
2015/7/18 AndroidWearハッカソン
2015/7/25 WebMusicハッカソン(共催)
2015/8/22 AndroidTVハンズオン勉強会
2015/9/19 Cardboardハンズオン勉強会(共催)
2015/9/20 Polymerコードラボ
2015/10/11 GDG DevFest Kobe Firebaseハンズオン勉強会
2015/11/7 ちょっとさわってみるGo言語ハンズオン
2015/11/14 Android6.0 Marshmallow勉強会
ぼくの実機
Nexus7 2013
● 2年経ったけど、ぎりぎり対象になったやつ
● いまだに根強い人気がある(と思う)
● OTAで10月に振ってきた
僕のも、この通り→
ぼくの実機
OTAは甘え
サンプルを実機で動かす
Developersサイト
Android6.0 Samples
http://developer.android.com/intl/ja/about/versions/marshmallow/samples.html
サンプルを実機で動かす
● Active Notification
● Auto Backup for Apps
● Camera 2 Raw
● Confirm Credential
● Device Owner
● Direct Share
● Fingerprint Dialog
● MidiScope
● MidiSynth
● NFC Provisioning
● RuntimePermissions → 中谷さんが丁寧かつ詳しく説明してくれるよ!
サンプルを実機で動かす
サンプルを実機で動かす
Active Notification
自分が表示しているNotificationがどれくらいあるかを把握することができる
Active Notification
Active Notification
Auto Backup for Apps
アプリデータのバックアップを自動的にやってくれるようになった
このサンプルアプリは対象になるディレクトリはどこかというのをデモするためのもの
ただ、Import Sampleの一覧に出てこない… (僕の環境だけ?)
sdksamplesandroid-23contentAutoBackupForAppsにはある
Import Projectで取り込むとエラー。ビルド対象のplatformインストールしてねってなる
Auto Backup for Apps
ん!?
Auto Backup for Apps
build.gradleを確認すると、MNCになってる。ましゅまろ!ましゅまろ!
Auto Backup for Apps
最新はGithubのGoogleSamplesにある
https://github.com/googlesamples/android-AutoBackupForApps
特に実装面でどうするっていうのはなくて、targetSdkVersionを23(以降)にしておけば、
アプリデータは自動的にバックアップされるようになる
ただし、Context.getNoBackupFilesDir()で取得されるパスに保存したデータは、バック
アップ対象にならない
Auto Backup for Apps
Camera 2 Raw
Raw画像をDNG形式で保存する
DNG(Digital Negative)とは各カメラメーカー毎に形式が異なるRawを、共通で扱えるよう
にしようとしている規格。Adobeが提唱。また新しいRawが一つ増えt…
詳しくは下記参照
https://helpx.adobe.com/jp/photoshop/digital-negative.html
Camera 2 Raw
早速実行してみると、ぬるぽきたー
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object
android.hardware.camera2.CameraCharacteristics.get(android.hardware.camera2.
CameraCharacteristics$Key)' on a null object reference
Camera 2 Raw
ぐぐってみると、issueにあがってた
https://github.com/googlesamples/android-Camera2Raw/issues/2
コメント読んでいくと、「This crash happens on devices that don't support capturing
RAW photos.」ってある
要するに「お前の端末、Raw写真サポートしてないんじゃない?」ってことらしいけど、確
認してみる
「adb shell pm list features」で「android.hardware.camera.capability.raw」があればい
いはず
Camera 2 Raw
Confirm Credential
何かのアクション(購買ボタン押下とか)をするときに、端末で設定してある画面ロック解除
方法(PIN、パターン、パスワード)で、ユーザー認証を行うことができる
Confirm Credential
Confirm Credential
Confirm Credential
onCreateメソッドなどで、あらかじめ暗号化用のキーを作成しておく必要がある
Device Owner(NfcProvisioning)
Android5.0から追加された、特別な権限をもつデバイスの管理者機能
会社などでAndroid端末を貸与する場合など、その端末へインストールするアプリを制限
したり、GPSを有効にしたりすることができる
Android6.0からはサイレントインストール・アンインストールができるようになっている
サンプルアプリはNfcProvisioningを使って、DeviceOwnerと管理端末を識別できるよう
にしている
ということで、これ1台ではできないのでパス (NfcProvisioningも)
Device Owner
こんな感じのが出てくるみたい
NfcProvisioning
これを使ってDeviceOwnerの設定をする
DirectShare
共有機能を使用するとき、特定のユーザを指定して共有する
DirectShare
共有機能で、指定するユーザの選択一覧を作成するService
DirectShare
指定したユーザへ共有するときのActivity
DirectShare
ChooserTargetServiceを継承。onGetChooserTargetsでList<ChooserTarget>を返す
Fingerprint Dialog
あらかじめ登録しておいた指紋で、指紋認証を行う
指紋登録は
Settings -> Security -> Fingerprint' and register at least one fingerprint
で行う
たぶん今のところ、Nexus5XとNexus6Pしか対応してないっぽい
Nexus7はその項目が出てこなかったので、パス
MidiScope MidiSynth
MIDI APIを使って、MIDIで色々できるようになっている
MidiScopeがMIDIデバイスから受信した値を表示、MidiSynthが受信した値から音を出
力するようになっている
実装説明は省略。DevelopersサイトのMIDI APIを参照
http://goo.gl/7OXCkK
今日は噂のポケット・ミクを持ってきたので、それでサンプルアプリのデモをする
http://goo.gl/g2BF6a
Camera 2 Raw (補足)
RawからDNGに変換するには、DngCreatorを使う
おまけ
AndroidWearアプリがVer.1.4になった!
AndroidWearの方もOSアップデートしそうなのかな
http://goo.gl/rghuf0
期待されている大きな機能としてはスピーカ対応っぽい (未確定情報)
気付けば僕のHuaweiWatchにはそれらしきものがついてた!
LG Watch Urbane 2nd editionみたいに通話とかできるようになる?
https://goo.gl/tJNafr

Android6.0の機能まとめ 実機でサンプルを動かしてみた