vaguely

和歌山に戻りました。ふらふらと色々なものに手を出す毎日。

関モバ #13で発表してきました。

前回に懲りず、関モバで発表してきました。

kanmoba.connpass.com

speakerdeck.com

発表について

以前からアレコレ試していたBLEと違い、一から調べた所が多かったので、一時はどうなる事かと汗
特にGCMの送受信が上手くいかなかったときは本当に(´ . .̫ . `)

あとやっぱり予行演習より本番の方が、大分喋るのが早くなりますね(・ัω・ั)
前回(トラブルがあったとはいえ)話自体はかなり早く終わってしまったので、今回五分超えるぐらいに調整したのですが、時間内に収まってしまいました(多分)。

あまり早口になると聞きづらいでしょうし、もう少し落ち着いて話したいところ。

補足

5分にまとめる必要があったとはいえ、だいぶ端折った部分もあるのでその辺の補足を。

  • サンプルがJAVAではなくKotlinだったのは、その方がコード量が少なくなるかな?と思ってのことです(4月頭に勉強会に参加したこともありますが)。
  • GCMの受信側のアプリでTokenを取る場合、ネットワークに接続していないとエラーが発生します。そのためNetworkInfoで接続を確認した上でGetTokenを実行した方が良いかと
    (サンプルはJobSchedulerでネットワーク接続を確認する機能も付ける予定)。

RegistrationIntentService.kt

    var connectivityManager: ConnectivityManager? = applicationContext.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
    var networkInfo = connectivityManager?.activeNetworkInfo
    // ネットワークに接続されていればTokenを取得
    if(networkInfo != null
            && networkInfo.isConnected){
        var instanceID = InstanceID.getInstance(this);
        var token: String = instanceID.getToken(getString(R.string.google_app_id), GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);
        // 取得したTokenをServer側に渡し、それを元にMessageを送信する.
        Log.i("WUA", "GCM Registration Token: " + token);
    }

次回

今回自分なりに調べたつもりではありましたが、漏れもいっぱいあったのかなぁ、とも感じています。
次回はDozeモードを含めて省エネという文脈でもう少し試してみようかな、と思います。

勉強会のメモ

今回ラップトップのバッテリー的な原因で、他の方の発表を聞いた時のメモはノートに書き残していました。
これ結構良いかもしれません。基本的に皆さま資料は公開してくれるし、好きな場所に書き込めるのでPCでメモ取るより速い気がします。

欠点はTwitterの流れを追いかけるのが億劫になりがちなことでしょうかw

最後に

関モバ主催の皆さま、会場提供をはじめスポンサーとなって下さったYahoo! JAPANの皆さま、そして私の拙い発表を聞いて下さった皆さま、ありがとうございましたm( )m

f:id:mslGt:20160426204852j:plain

追記

屋外でプログラミングするのは、思った以上に画面の反射がキツく、大変でした汗

ディスプレイの保護膜を変えたらもう少しマシになるかな?
あと、テザリングしながらPCを使うと、そうでない時よりだいぶバッテリーが持たないことも今回学んだことの一つですね汗