投稿

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

[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.

[Qiita] Android Nでたくさんの通知をまとめてみたよ

イメージ
※この記事は以前Qiitaに投稿されていた古い記事です はじめに Android Nで新しく提供されたバンドル通知を試してみたので、実装方法のメモです。 バンドル通知の実装 通知をまとめるための通知 まず、複数の通知を1つにまとめるための通知をします。 通知がまとめられた際に、SummaryText以外はセットしても表示されないので、SummaryTextのみセットします。 最後のnotifyメソッドの通知IDは固定にしておかないと毎回別々の通知になってしまうので、定数で任意の値を定義しておきます。 // サマリ通知 Notification summaryNotification = new NotificationCompat . Builder ( this ) . setSmallIcon ( android . R . drawable . ic_dialog_email ) . setStyle ( new NotificationCompat . BigTextStyle ( ) . setSummaryText ( "SummaryText" ) ) . setGroup ( GROUP_KEY ) . setGroupSummary ( true ) . build ( ) ; notificationManager . notify ( SUMMARY_NOTIFICATION_ID , summaryNotification ) ; 項目 内容 summaryText 通知の概要 smallIcon 通知のアイコン group 通知のまとまりを識別するためのKEY groupSummary 通知をまとめるための通知かどうか まとまってる通知に通知する あとは普通に通知します。 通知をまとめるため、setGroupでサマリ通知と同じGROUP_KEYを設定しておく必要があります。 ここではとりあえず5個くらい通知してみます。 for ( int i = 1 ; i <= 5 ; i ++ ) {