2012-02-21 10 views
0

私は本質的に保守性の高いコードを作成するために開発環境をセットアップしようと多くの研究を行ってきました。私はJava/Androidのための多くのツールを見つけました。私が研究したり使用してみるほど、もっと多くのツールが円の中を走り回っているようです。これらのことについて私に強固な助言を与えることができる人はいますか?多くの検索結果が古くなっています。彼らはせいぜい私にセットアップのワンピースを手に入れますが、お互いにうまく動作しません。私は私の開発に統合しようとしましたAndroid開発ライフサイクルの設定

ツール:

  • コードカバレッジ
  • TDD
  • ビルドツール
  • 依存性注入
  • 互換ライブラリ
  • 継続的インテグレーション

RoboGuice/Guiceを発見し、インターフェース/抽象クラスを使用して、基礎となる実装のAPIを公開して、適切なスコープのオブジェクトを使用して、素晴らしいMVC構造をプロジェクトに追加したいと考えました。これは私が今まで私のためにうまく動作するようになったが、まだテストしていない。古いSDK対応のアクションバーが必要なので、Android Office HoursでActionBarSherlockに導かれました。私はAndroidライブラリプロジェクトを追加することができます。

次に、互換性ライブラリのためRoboguiceで動作させるためには、少なくとも現在の安定版では操作を行う必要があります。この解決策はMavenを使用して依存関係を処理することを指摘していました。だから、私はAndroidプロジェクトをMaven Androidプロジェクトに変換します(それは、私がクリーナープロジェクトの依存関係管理のためにやっていたことです)。今私はMaven、Android、Eclipseを持っていると信じています(Eclipseはこの式の別の変数です)。しかし、現在、私はActionBarSherlockライブラリを使用して、apklib型の依存関係を介してインポートする際に問題があると指摘しています。例えば、 "symbol:class FragmentActivity"を見つけることができません。 Mavenが作成する "target/unpack/apklibs /"という新しいAndroidライブラリプロジェクトを作成しようとしていますが、AndroidManifest.xmlがない空のAndroidプロジェクトしか取得できません。

次に、テストスイートのコードカバレッジを追加する方法を見つけようとしています。私はEmma、EclEmma、Robotiumを見つけました。 Antビルドのみの "仕事"は、特に、私はデフォルトのAndroidファイルの大幅な変更を必要とし、コードカバレッジレポートをサポートするためのスクリプトを作成するように見えるEmmaのものを読んだことがあるようです。私は今、古いアドバイスを求めてAndroid開発ベースを破壊したくないので、AntではなくMavenが必要ですが、私の以前の作業にはMavenが必要です。

私は広範に見えるのでこのような質問をすることに躊躇していますが、生産コードを開発するための重要なツールであるため、人々はそれらを使用しなければなりません。それらは同時に働く。この問題の経験豊富なアドバイスはありますか?

+0

使用しているABSのバージョンは? 4.0wipブランチはサポートlibの奇妙な再コンパイルを削除しました。私は4をサポートしているので、このブランチを3.xの代わりに使用することをお勧めします。0フィーチャーとICSテーマ – smith324

+0

@ smith324私は3.5.1から4.0 RC1に切り替えることを試みていますが、Roboguiceが戦闘用ライブラリを追加せずにABSから提供されたものを使用するためには除外事項を実行しなければならないと思います。あなたはそれについてアドバイスをしていますか?私はそれを働かせることに問題があります。 –

+0

Roboguiceについては分かりませんが、ABSをフラグメントで使用するだけで、プロジェクトのビルドパスにサポートライブラリが必要です。 ABSのためのサポートlibプラグイン(Androidライブラリプロジェクトとして)もビルドパス上にあり、基本的に互いを干渉しません。 Roboguice jarにサポートlibが含まれている場合は、ABS 1つだけを取り除くことができます – smith324

答えて

1

これはさらに重要なことです。あなたが言及しているすべてのツールは素晴らしかったですが、それらのすべてがあなたのアプリに一括追加の費用を払うことを忘れないでください。私の経験則は、150〜200Kの体重を加えたものではありません。だから私はシンプルで組み込みのパッケージを使う傾向があります。私は自分のコードの再利用性を上げるためにはるかに多くのマイレージを取得しています。コードの繰り返しについては本当に嫌です。したがって、リファクタリング、リファクタリング、リファクタリング。 Eclipseには素晴らしい機能が用意されています

+0

はい、ありがとうございます。私はアプリケーションのサイズを考慮していますが、「すべてがコストがかかる」と言ったときの意味はわかりませんが、ActionBarSherlock(ABS)とRoboguiceだけが周りにいるはずです最終的なアプリでは、機能的に互換性のあるActionBarを取得するにはABSが必要です。依存性注入の利点は、追加されたスペースを上回るようです。他のツールは開発段階とテスト段階にのみ存在する必要があります。 –

+0

サイズが1Mbを超えているため、あなたのアプリをインストールしたり保存したりしない人が何人いるのか信じられません。注射の利点は、開発者の利益になることができる開発者に利益をもたらす – Bostone

+0

(1MB)を上回らないように特定のサイズを与えてくれることを嬉しく思っていますが、注射の利点はユーザーに影響します( 。私は、正確なコードを作成し、維持しやすく、アップデートしてテストする能力を見ています。そしてそれはユーザーに大きな利益をもたらします。 –