拡張関数の定義先ファイルのパッケージ

例えば android.content.res.Resources に対して次のような拡張関数を生やすとして、 fun Resources.isLandscape() = configuration.orientation == Configuration.ORIENTATION_LANDSCAPE 拡張関数の定義先を com.sample.app.extensions パッケージ配下に作…

com.google.gms:oss-licenses を使ってオープンソースライセンスを表示する

ライブラリのライセンス管理・表示を簡単に行えるツールが Google Play サービス 11.2.0 から含まれるようになり、とりあえず表示するだけなら非常に簡単だったので、導入方法と注意点を残します。 https://developers.google.com/android/guides/opensource…

MVP + Clean Architecture における DI 設計の一案

MVP + Clean Architecture っぽいプロジェクトで各レイヤーの依存関係を、 DI コンテナである dagger2 で表現する一案の備忘録。 結論 クラス数が多くなる。あまり現実的じゃない。 結局 ViewLayer から見れば、注入オブジェクトたちを ApplicationComponent…

スタートアップ企業に移って 5 ヶ月目の備忘録

以前の現場 大企業のモバイル開発グループの技術基盤 Android チーム 在籍期間は約 2 年半 現在の現場 スタートアップ企業の Android アプリ開発チーム アプリは正式リリースからまだ 1 年も経過していない 在籍期間 5 ヶ月目に入った スタートアップ企業に…

Dagger2 メモ

n 個の @Component から 1 個のインスタンスに inject 不可 public class Main { @Inject Red red; @Inject Blue blue; public Main() { DaggerBlueComponent.builder().blueModule(new BlueComponent.BlueModule()).build().inject(this); DaggerRedCompone…

Android で複数非同期処理のシーケンス制御をライブラリに依存せず Pure Java で実装しなければならない場合の一案

もし、 Android 開発において、ライブラリに依存せず Pure Java を前提とし、複数の非同期処理をシーケンス制御する必要が出てきた場合に、どう解決すればよいか、の問題に対する一案を残した記録文章です。 背景 直近の仕事で、 Android 向け社内ライブラリ…

DroidKaigi 2017 で良いキッカケを

@sho5nn です。 DroidKaigi 2017 運営メンバーの一人として、協賛企業さんへの連絡や調整などを担当しています。 DroidKaigi は今回で 3 回目の開催。 僕は 1 回目は一般参加者として、2, 3 回目は運営メンバーとして参加しています。この記事では、運営メン…