LoginSignup
31
31

More than 5 years have passed since last update.

@Deprecated AndroidAnnotations + lombok と spock + Robolectric みたいな環境作ってみた

Last updated at Posted at 2014-05-18

Deprecated

一年前の記事で、
* 今なら正直使わない&使えない
なんだけど何故かストックされるので…

理由はめんどいので特に述べない

この手の情報はすぐ古くなるから、今後はメンテナンス出来るような内容で投稿したいところ

元記事

件の通りそんな環境構築してました

Githubに上げてますので、とりあえず試したい方は下記でどうぞ

g8 daneko/android_template

gradleでgiter8みたいなものあるのか知らないので、giter8で作りました

g8ってなに?って方はこちらをどうぞ

scala触っている人にはお馴染みですので、これを気にScalaに移行してみてはいかがでしょう?w

なぜこんなものを作ったか

ここ一年くらいScalaヒャッハーな環境でしたが、今月(2014/05)から突然Androidアプリを引き継ぐことに…(´・ω・`)ショボーン

もちろん時間が許すならScalaで書きなおして…ってのが個人的にはベストですけど…

で、まー、大体自分が引き継ぐって言うと突っ込みどころ数多なものが届くんですね、何故か。

大体説明受けると
時間が無い中で作った からテストも無ければ、コードに統一感もありません!
CI? なにそれ??
とりあえず動いています( ー`дー´)キリッ」
以上は無いわけです…

え、それに俺が手を加えるの…みたいな。

時間がなければ何やってもいいのかよ…と切れてもしゃーないし(実際切れたけど)、
次またどこかで「Androidアプリ作るわー、急ぎでー」みたいなものに対して
「ある程度環境サクッと作れるよ〜」というひな形を作っておけば、
多少はマシになるんじゃないかな〜という希望的観測で作りました

とはいうものの、自分もAndroidとか3月末に久々に触りだしたし(しかもScalaだし)、詳しくないからあれですけど

挙句

  • gradle
  • AndroidAnnotations
  • lombok
  • groovy
  • spock
  • robolectric

全て触ったこと無いwww ので間違っているところ等々はご教示していただきたいです

入っているものの雑感

AndroidAnnotations

Androidのコードを劇的にDietしてくれる便利なやつです!
以上の情報は持ち合わせていませんw

同じようなものだとButterKnifeとかもそうなんでしょうか?

roboguiceも同じような扱いでいいのかな?

まー便利です。多分。

ただ、一度も素のAndroidのコード書いたこと無かったら、逆に意味わからなくなりそう…

lombok

4月まで同じセクションに居たjava屋さんが使っていて「(・∀・)イイ!!よこれ!!」ってことで入れてみました

素のジャバっぽい何かを書くより断然良いです

Intellij / Android Studio 上で使うときはpluginが多分無いと色々とやり辛いと思います

問題点

  • intellij idea / Android Studio 上で val を認識してくれなくて辛い
  • このあたりが@java.beans.ConstructorPropertiesを使っているっぽいのだけど、Androidにはそれが無いので動かないという悲しさ
    • これなんで無いんだろう…
    • suppressConstructorProperties = trueにすることで利用可能でした(ただしdeprecated扱いになっているけど…) // 2014/09/16 追記

robospock

  • JVM上でAndroidのテストを出来るようにしてくれるrobolectric
  • Groovy製の素敵なテストフレームワークspock

を足したもの

ちなみにspockとかこれまで使ったこと無いんですけど、素敵なやつです(ぇ)
よくこんなこと出来るよ!ってのでDataTablesとかを見かける気がします

どうでもよいですが、scalaのテストフレームワークのspecs2でもおんなじような物あります

ようは最近のものは便利ですね〜 というお話

問題点

  • 自分の調査不足とか技術不足とかやる気の無さで、AndroidAnnotationsと組み合わせた時に sampleのように apply plugin:robospock みたいな形だと ちゃんと動かせなかった
  • とかなんかハマった記録は残したので誰かが直してくれるのを期待してみる

全体を通しての感想

  • あとはGuavaとか入れたいよね〜とか考え出したら切りないなこれ
  • template自体をTravis Ci 使ってテストしたいけどどうすればよいかわかんない
  • AndroidAnnotations Androidに依存する部分に関しては凄く便利だけど、素のAndroidをScalaで書くのとトータルでどっちが楽なのかわからん。
    • 結局設計次第かなぁ…

最後に

今どきAndroidアプリ作るなら、これは必須だろ〜
みたいなもので導入がだるいもの(dependenceisに突っ込むだけじゃダメというか)を教えていただきたいです、お願い致します。

31
31
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
31
31