fkm blog

software開発に関することを書いていきます

fkm app framework

最近, fkmの書くAndroidアプリのクラス構成にパターンができてきたので, それを補助する感じのframeworkを書いてみた.

現在は, support-v4専用. Base classesがsupport-v4のFragmentを使っているので.

https://github.com/fkmhrk/android_fkm_app_framework

clone & ./gradlewでjarができる. maven local repositoryにinstallするので, 使う側はbuild.gradleに下記の記述を追加すればOK.

repositories {
    mavenLocal()
}

dependencies {
    compile files("${System.getenv('ANDROID_HOME')}/extras/android/compatibility/v4/android-support-v4.jar")
    compile 'jp.fkmsoft.android:fkm_app_framework:0.1'
}

task copyLib(type: Copy){
    from configurations.compile
    into 'libs'
}

このframeworkは, 次のような考え方でアプリを書くのをサポートする.

  • Fragmentに詰め込まれがちなコードを, UIに関連する部分とロジックに関連する部分に分ける
  • UIに関連する部分(値を取得したり, 表示非表示を変えたりする)は, UI interfaceのAPI経由で行う
  • ロジックに関連する部分(といいつつ, 実際はMVCのCに相当)は, App interfaceのAPI経由で行う
  • Fragmentの実装クラスは, UIとAppインスタンスを生成/保持する
  • UIの実装クラスは, FragmentをWeakReferenceで保持する
  • Appの実装クラスは, UIのインスタンスを保持する

"もっとこうしたほうがいい"など, アドバイスいただけるとありがたいですm(_ _)m