2015年5月29日金曜日

Android ”M” の新機能まとめ in Google I/O 2015


Googleが毎年開催している開発者向けの一大イベント「Google I/O」が2015年5月28日に開催されました。今回は次期OSである「Android M」他、「Brillo」や「Wear」など幅広い分野で活躍するであろうデバイスやサービスが発表されました。


Android "M"

昨年のGoogleI/Oに続き今年も新しいAndroidが
発表されました! その名も”M”!

マカロン?
マカデミアナッツクッキー?
まんじゅう?

正式名は発表されなかったので秋までのお楽しみになりました。

Android M では、原点に戻り基本的な品質の向上、バグの修正が行われています。昨年発表されたLollipopが新しいデザインとインターフェイスをにこだわっていたのに対して、Mは、ソフトウェアの安定性と使いやすさを改善することに焦点を当てている印象を受けました。Android”M”には以下の特徴があります。Android M 向けのサンプルコードはこちらから取得できます。


AppPermission

Android M では、アプリケーションからアクセスできるデータをより正確に、詳細に制御することができます。アプリからカメラやマイクにアクセスする場合、ダイアログでユーザーに許可を求めます。全てのアプリの権限は設定アプリで管理することができます。

WebExperience

Android M ではChromeをアプリ内ブラウザとして使用することができるChromeカスタムタブが導入されます。Chromeカスタムタブでは、サインイン、パスワード保存管理、自動入力、マルチプロセスセキュリティという4つの機能を利用することができます。

AppLinks

AppLinksと呼ばれるアプリ連結システムは、よりスムーズなアプリ間連携を実現します。例えばメールからTwitterのリンクをクリックした場合、従来ではダイアログが開かれユーザーを停止させていましたが、AppLinksによって直接リンクを開くことができます。右図のようにアプリ側とサーバー側に設定を追加することで実現できます。


AndroidPay & FingerprintSupport

Android M には、AndroidPayという新しい決済システムが導入されます。Simplicity、Security、Choiceという3つのテーマがあり、Googleウォレットアプリに代わるユーザーがより使いやすいシステムになっています。また、アプリ内課金を実装する際にAndroidPayをアプリに統合して使用することが可能です。また、指紋認証が可能になり、指紋から決済を実行することができるようになります。指紋認証のサンプルコードはこちらからダウンロードすることができます。

Power & Charging

今回、消費電力を改善するためのプロジェクト「Doze」が発表されました。これにより、スリープ時の同期アクティビティをセーブして待機時の電池持ち時間を従来の2倍にまで伸ばすことができます。

Data Binding

Android M では、データバインディング機能が追加され、DataとViewの連携がレイアウトファイルの記述でできるようになりました。多彩な記述ができるためベストプラクティスが確立するまでは苦労しそうです。詳細はこちらから確認することができます。

Android M Preview

Android M の発表と同時にAndroid M のPreviewも公開されました。PreviewはSDKManagerからダウンロード可能です。
こちらから直接イメージファイルをダウンロードすることも可能です。



さっそくAndroid M の新機能の1つ、AppPermissionを試してみました。
Lollipop以前と同じ方法でGPSへアクセスしようとするとSecurityExceptionになります。


カーソルをエラー箇所に合わせてAddPermissionCheckを選択するとPermissionCheck 判定が追加されます。これにより、ユーザー認証ができます。
@Override
    protected void onResume() {
        super.onResume();

        if (mLocationManager != null) {
            if (checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
            // アプリの権限認証を呼び出す    
            requestPermissions(new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 0);
                return;
            }
            mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);
        }
    }

// 操作結果が返ってくる
@Override
    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults){
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);

        if(requestCode != 0){
            return;
        }
        //grantResultsに結果が入ります。許可時は0、非表示は-1が設定されます。
    }

実際に動かすと以下のような認証画面が出ます。


まとめ

今回、特に注目なのは「Brillo」です!弊社の社名にも似ていて何かの縁を感じます!
Google Photos」や「Now on Tap」なども、さすがと思わせるGoogleの技術を感じることができました。これらの技術が今後どのようにIT業界を引っ張っていくのか楽しみです。


(株)ブリリアントサービス 大阪開発部 開発課 矢野直輝
140 180

記載されている会社名、および商品名等は、各社の商標または登録商標です。

0 コメント:

コメントを投稿

Related Posts Plugin for WordPress, Blogger...