kobakei's blog

たまに書きます

Android

Kotlin 1.1.4のParcelizeを試してみた

Kotlin 1.1.4でParcelableがサポートされたので、移行してみました。 注意:ParcelableサポートはまだExperimentalなので、仕様が変わる可能性があります。 導入 app/build.gradleに以下を追加します。 ... apply plugin: 'kotlin-android-extensions' andro…

CircleCI Japan Meetup: Mobile Editionに参加してきた

CircleCI主催のミートアップで、「Everything of CI/CD in Kyash Android」という内容で発表してきました。 speakerdeck.com 以前potatotipsでCirlceCI 2.0について発表したスライドをCirlceCIの中の人に見つけていただいて、発表しないかと声をかけていただ…

端末に画像を保存するときにどこに保存するか

SNSやメッセージアプリでは、友人から送信されてきた写真を端末に保存する機能が付いてることが多いと思いますが、端末のどこに画像を保存するのが一般的なのかを調べたのでその備忘録です。 そもそもの仕様 Environmentクラスには、用途ごとの保存先パスの…

Androidアプリのパッケージ構成の個人的ベストプラクティス

以前Androidのパッケージ構成について考えてみたという記事を書いたんですが、書いたときから結構時間が経って考え方が変わった箇所もあるので、再度まとめようと思います。 前提 アプリケーションのアーキテクチャには、MVVM with data bindingを採用してい…

Android開発でRxJavaを使うと嬉しいこと

RxJavaをAndroid開発で使い始めてしばらく経ったので、RxJavaを使うと何がどう変わったのかをまとめます。 ※RxJavaを使ったことがない人向けの戯言です。 非同期処理の待ち合わせが書きやすい よくある例として、2つのREST APIを並列実行して、両方の結果が…

shibuya.apk 13で登壇しました #shibuya_apk

Intermediate Level Data Bindingというタイトルで発表しました。 speakerdeck.com また、サンプルコードはこちらにあります。 github.com 基本的にはデータバインディング使ったことない/簡単なとこでは使ってる人に、BindingAdapterやリストとの連携など…

DroidKaigi 2017に参加した感想

聞いたセッション 1日目 逆引き マテリアル デザイン Android Security 最前線!! Androidリアルタイム通信アプリ作成Tips Data Bindingで開発を気持ちよくしよう 実践アニメーション オフラインファーストなアプリケーション開発 React Nativeはクロスプラ…