投稿

2016の投稿を表示しています

[Qiita] Android WearのWatch Faceの作り方

イメージ
※この記事は以前Qiitaに投稿されていた古い記事です この記事は Androidその2 Advent Calendar 2016 の21日目の記事です。 はじめに 以前Androidの勉強会で、個人的に思う Android Wearのつらい話 をしましたが、その少し後にこんなニュースがありました。 モトローラ、近く新型スマートウォッチをリリースする計画はなし–The Verge http://japan.cnet.com/news/service/35093171/ ますますAndroid Wearのこの先が心配になってきましたね。 というわけで、そんなニュースは見なかったことにして、今回はAndroid WearのWatch Faceの作り方について書きます。 Watch Faceとは Android Wearでは時計の盤面を変更することができます。 その時計の盤面というのがWatch Faceと呼ばれるものです。 Google Playで Watch Face と検索すると、既にたくさんのWatch Faceアプリが公開されているので今さら自分で作ろうと思う人はそんなにいないかもしれませんが、Watch Faceは気になってたけど何から手をつけていいかわからない!という方や、自分オリジナルのWatch Faceを作ってみたい!という方への作るきっかけになれば幸いです。 今回利用する端末 Android Xperia Z3 Compact Android Wear Moto 360 今回は詳しくは紹介しませんが、Android Wearの実機を持っていなくても、Android端末の実機とAndroid Wearのエミュレータをペアリングすることもできるので、実機を持っていないけれどとりあえず開発したい!という方はエミュレータでも大丈夫です。 Android WearのBluetooth経由のデバッグ方法 既にAndroid Wearアプリを開発したことがある方はここは飛ばしていただいて大丈夫です。 Android Wear側の準備 Android Wearの設定からビルド番号を7回タップして「開発者向けオプション」を有効にする 開発者向けオプションから「ADBデバッグ」を有効にする 「B

[Qiita] Android NのDirectReplyを実装してみた

イメージ
※この記事は以前Qiitaに投稿されていた古い記事です はじめに Android NのDirect Replyの実装を試してみました。 まず完成形はこんな感じです。 通知する Direct Replyができる通知を作成するには、入力された内容を受け取るためのPendingIntentと、実際に文字を入力させるためのRemoteInputを作成し、それをActionに詰めて通知してあげると、Direct Replyとして通知してあげることができます。 // 入力されたテキストを受け取るPendingIntent PendingIntent replyPendingIntent = PendingIntent . getBroadcast ( this , 0 , new Intent ( this , NotificationReceiver . class ) , 0 ) ; // DirectReplyの入力欄のヒントテキスト String replyLabel = "入力してね" ; // 入力を受け取るやつ RemoteInput remoteInput = new RemoteInput . Builder ( KEY_TEXT_REPLY ) . setLabel ( replyLabel ) . build ( ) ; NotificationCompat . Action action = new NotificationCompat . Action . Builder ( android . R . drawable . ic_menu_send , "ここで返信できるょ" , replyPendingIntent ) . addRemoteInput ( remoteInput ) . build ( ) ; Notification newMessageNotification = new NotificationCompat . Builder ( this ) . setSmallIcon ( andr

[Qiita] AndroidのUIテストでBitmapDrawableとColorDrawableをチェックする

※この記事は以前Qiitaに投稿されていた古い記事です はじめに AndroidのUIテストでDrawableをチェックしたかったのですが、デフォルトではDrawableのMatcherが無いようなので、以下の記事を参考にMatcherを作成してチェックしてみました。 Android UI Test — Espresso Matcher for ImageView https://medium.com/@dbottillo/android-ui-test-espresso-matcher-for-imageview-1a28c832626f#.qv4pjg197 また、上記の記事ではBitmapDrawableしかチェックすることができなかったので、ColorDrawableもチェックできるようなMatcherを作ってみました。 BitmapDrawableMatcher Matcherの作成 まず、以下の記事の一番下にあるDrawableMatcherのクラスを作成します(ColorDrawableのMatcherと分けるためにクラス名をBitmapDrawableMatcherに変えました)。 Android UI Test — Espresso Matcher for ImageView https://medium.com/@dbottillo/android-ui-test-espresso-matcher-for-imageview-1a28c832626f#.qv4pjg197 次に、以下のようなメソッドを作成します。 public class DrawableMatcher { public static Matcher < View > withBitmapDrawable ( final int resourceId ) { return new BitmapDrawableMatcher ( resourceId ) ; } } 使い方 引数にDrawableのResourceIdを渡して、checkするだけです。 import static < パッケージ名 > . DrawableMatcher . with

[Qiita] GASを使ってAndroidアプリのインストール数を自動で取得してスプレッドシートに入れる

イメージ
※この記事は以前Qiitaに投稿されていた古い記事です はじめに Androidアプリのインストール数を取得したいという要望があり、Google Apps Scriptなら手軽に書けてスプレッドシートにもサクッと挿入できるのでは…?と思ってやってみたらできたので、メモとして書いておきます。 基本コピペをすればできるように書いたつもりなので、GASの知識がなくても自動で取得するようにできる…はず。 流れ 画像多めですごく長いので、大まかにやることの流れだけ書いておきます GASでGoogle Cloud Storageにアクセスできるように認証情報を作成する 認証情報を使ってGCSからレポートを取得するのに必要なAccessTokenを取得するスクリプトを書く(コピペ) 自動実行できるようにRefreshTokenをつかってAccessTokenを取得するスクリプトを書く(コピペ) Google Play Developer ConsoleでインストールレポートのURIをメモる Androidアプリのインストール数を取得してスプレッドシートに挿入するスクリプトを書く(ほぼコピペ) スクリプトを実行する 定期実行する設定を行う Google API ConsoleでAPIを有効にする Google PlayのインストールレポートはGoogle Cloud Storageの中に入っているので、それをダウンロードできるようにGoogle Cloud Storage JSON APIを有効にしておく Google API Consoleで認証情報を作成する クライアントIDとクライアント シークレット 認証情報を作成ボタンを押して、「OAuth クライアント ID」を選択 名前は適当に決めて、「承認済みのリダイレクトURI」のところにはGoogle Apps ScriptのURLの macros/d/ から /edit の間にあるKey的なやつを取り出して以下の様なURLにして入れておく (下で説明してるスクリプトエディタを開いたときのURLから取り出す) https://script.google.com/macros/d/<<--Key的なやつ-->>/usercallback 3.