appcompat v21 で material design pre-Lollipop の サンプル を動かして

「v21」!

ちと, 確認.

Android_SDK_Manager

Screenshot_10_20_14__16_21

どんどん上がっていきますAPIバージョン.

Android Lollipop | Android Developers

フラットなカードな雰囲気なんだ...

Android_5_0_Lollipop__Material_Design_in_pictures_and_video___Android_Central

Android 5.0 Lollipop: Material Design in pictures and video | Android Central

サンプルコードを.

dependencies {
  ...
  compile 'com.android.support:appcompat-v7:21.+'
  ...
}

なんかあちこちサンプルあるので

Material Design Everywhere: Using AppCompat 21

appcompat v21: material design for pre-Lollipop devices! - Chris Banes

入れたりしてみる.

20141020-163315

20141020-163340

と, API19 (Android 4.4) にいれてみたが,

まあフツー.

values-v21_themes_xml_-__app__-_MaterialEverywhere-master_-____Desktop_MaterialEverywhere-master__-_Android_Studio__Beta__0_8_13

あ, そうか...

API21 に入れないとか.

AndroidStudio で見れるのかな...

activity_home_xml_-__app__-_MaterialEverywhere-master_-____Desktop_MaterialEverywhere-master__-_Android_Studio__Beta__0_8_13

残るは, エミュレータか.

Recent_Changes_-_Android_Tools_Project_Site

Android Studio 0.8.13 Released - Android Tools Project Site

もういいか...(笑)

appcompat v21: material design for pre-Lollipop devices! : androiddev


Chromecast の新しい「背景設定」機能とは?

6月のGoogle I/Oで正式発表されてから3か月あまり、Chromecastがようやく背景設定に対応しました。

新機能 Backdrop (背景) では、何もキャストしていないときの画面に指定の Google+ アルバムからの写真を表示したり、Googleが用意する衛星写真やアート作品など好みの背景ジャンルを選べるほか、Chromecast の現在地の天気予報も表示できます。

ということなので, Chromecast アプリを更新して使ってみる.

20141011-133112

20141011-133053

20141011-133017

20141011-132947

20141011-132914

画面のキャストがここからできるようになってます.

20141011-133226

全体の感想としては, まあそんなに, 以前と同じぢゃね?

てな雰囲気.

けど, この背景画面て,

使いようによってはいろいろできるよなあ,

などと妄想.

あと, 天気予報は画面の右下にでてました.

写真

今後が楽しみですが, USからのすべてのサービスが先行公開されていくのでしょう.

Chromecast - Google Play の Android アプリ

Chromecastが背景設定に対応、Google+アルバム写真や好みのネット写真、天気を表示可能に - Engadget Japanese


Google API を利用するときの 認証トークン の取得

ネット上で調べていると混乱する.

android_-_In_a_nutshell_what_s_the_difference_from_using_OAuth2_request_getAuthToken_and_getToken_-_Stack_Overflow

 /**
   * Gets the google account credential.
   * 
   * @param context the context
   * @param accountName the account name
   * @param scope the scope
   */
  public static GoogleAccountCredential getGoogleAccountCredential(
      Context context, String accountName, String scope) throws IOException, GoogleAuthException {
    GoogleAccountCredential credential = GoogleAccountCredential.usingOAuth2(context, scope);
    credential.setSelectedAccountName(accountName);
    credential.getToken();
    return credential;
  }

  /**
   * Gets the OAuth2 token.
   * 
   * @param context the context
   * @param accountName the account name
   * @param scope the scope
   */
  public static String getToken(Context context, String accountName, String scope)
      throws IOException, GoogleAuthException {
    GoogleAccountCredential credential = GoogleAccountCredential.usingOAuth2(context, scope);
    credential.setSelectedAccountName(accountName);
    return credential.getToken();
  }

以下, StackOverflowからの抜粋.

The Google APIs Client Library for Java is as the name suggests a library for accessing Google APIs and it is available for several platforms such as Java (in general) and Android while the Google Play Services and GoogleAuthUtil is only available on Android.

Google APIs Client Library
→ 汎用的 Java向け (Androidも含む)

GoogleAuthUtil(Google Play services)
→ Android向け専用

However if you dig into the code and their issue tracker a bit you can see that the tasks sample you linked actually uses GoogleAuthUtil since version 1.12.0 of the Google APIs Client Library when support for GoogleAuthUtil was added.

Google APIs Client Library バージョン 1.12.0 移行 は GoogleAuthUtil が追加されている.

AccountManager.getAuthToken

良いとこ:
- OS 2.0+ から使える.
- Android自体に含まれていて,別SDKを必要としない.
- 認証をもつすべてのアカウント(Google以外でも)で使える.

悪いとこ:
- トークンが期限切れなら再度新しいトークンを取得.
- GET_ACCOUNTS と USE_CREDENTIALS のパーミッションを必要とする.
- 認証要求画面が 2.x でダサい.

GoogleAuthUtil.getToken

良いとこ:
- 常に使えるトークンを返す.
- パーミッションは GET_ACCOUNTS のみ.
- 認証要求画面がダサくない
- Google が推奨している.

悪いとこ:
- 2.2+ の GooglePlay利用のデバイスに限る.
- Google Play services SDK が必要.
- Google API Console からアプリ登録が必要.
- Google services での OAuth 2.0 のみ.

android - Access to Google API - GoogleAccountCredential.usingOAuth2 vs GoogleAuthUtil.getToken() - Stack Overflow

android - In a nutshell what's the difference from using OAuth2 request getAuthToken and getToken - Stack Overflow