2016-02-01から1ヶ月間の記事一覧

Orma v2の新機能と今後の展望

Ormaの v2.1をリリースしました。Ormaはセマンティックバージョニングを採用しているので、"v2"は単に"v1"と互換性のない変更を行った、というだけの意味です。とはいえ機能もいくつか追加しているので紹介します。 なお Orma入門はv2.1の内容にアップデート…

RxJavaのリソース管理: イベント放出の際にisUnsubscribed()をチェックすべきだった!

いままでずっと勘違いしてましたが、チェックすべきなんですね。 きっかけはこれ: RxJavaのイベントリソースの解放とisUnsubscribed()の関係について - Togetterまとめ これは Observable.create(OnSubscribe) で onNext() や onComplete() でイベントを放出…

android.support.v4.util.PoolsでStringBuilderをプールしても意味なし

Pools | Android Developers これがちょっと気になっていて、たとえば new StringBuilder() を数多く実行するケースでもしかしたら速くなるのでは?と思って試してみました。 10万回のStringBuilderを生成して文字列連結などをしています。 StringBuilderPoo…

Ormaのユニットテストをどう書くか、あるいはMockitoは諸刃の剣という話

短い答え OrmaはRobolectric上でほぼ完全に動作するので、 OrmaDatabase.builder(context).name(null).build() でオンメモリDBを作ってそれを使うDAOをテストすればよい。 長い答え Orma を使ったユニットテストは、Ormaを使うコードが正しいかどうかをテス…

Android Support Libraryをビルドする

DroidKaigi 2016 お疲れ様でした。私は今回もスタッフとして参加して、両日ともRoom Aの司会などを努めました。 2日目の基調講演は余裕があったので聞いていて、いろいろ知見があってよかったと思います。そのときのメモとあとでarakiさんと話したときのメモ…

GitHubのマイルストーンを個人プロジェクトで設定してみたがイマイチだった

三行まとめ ライブラリのセマンティックバージョニングは使う側にとって分かりやすいので採用したい GitHubのマイルストーンは「互換性を失うバグフィクス」に弱いので、セマンティックバージョニングを採用しているライブラリには不向き モバイルアプリはセ…

Android ORMでオブジェクトの埋め込みはどのように実装するか

Table of Contents: 概要 実例 GreenDAO DBFlow ActiveAndroid Ormaでの実装 概要 大抵のORMは特定の型をシリアライズしてカラムに埋め込む機能があります。この機能を type adapterと呼ぶことにします。このtype adapterについて、既存のORMの実装とOrmaで…