Androidコードの読みやすさを向上させる方法、およびandroid-annotationsを使用する方法

小さなプロジェクトで、私はこのライブラリを試して、何が起こるかを見ることにしました。 このトピックでこの経験についてお話したいと思います。





android-annotationsライブラリを使用すると、次のようなアクションのコード量を削減できます。

1.リソースの読み込み

2.識別子によるビューの検索(findViewByIdメソッド)

3.ハンドラーをボタンにバインド

4.サービス(サービスクラスへのリンク)、バックグラウンド処理、その他の便利なものを最も簡単な形式で取得します。



インストール方法。



上記のリンクから2つのjarをダウンロードします:androidannotations-XXXjar(注釈プロセッサー)およびAPI自体:androidannotations-XXX-api.jar。 次に、Javaコンパイラ項目のプロジェクトプロパティでEclipseに移動し、[注釈プロセッサ]を選択して、このメニューにDawを追加します-プロジェクト固有の設定を有効にします。 その後、Factory Pathサブアイテムに移動し、同じDawを再度配置して、Add externak JARsをクリックして、パスを注釈プロセッサに追加します。

それだけではありません。 この後、Javaビルドパスに移動し、このJARの[ライブラリ]タブにandroidannotations-XXX-api.jarを追加する必要があります。 これで、すべての準備が整いました。



使用例。



このライブラリには、次のものが必要です。このライブラリの注釈を使用する場合、マニフェスト内のアクティビティは「_」記号で終わる必要があります。 つまり、SMSSenderアクティビティがあり、SMSSender_アクティビティをマニフェストに追加する必要があります。 これらは物です。



次に例を示します。

import com.googlecode.androidannotations.annotations.*; import com.googlecode.androidannotations.annotations.res.*; @EActivity(R.layout.main) // setContentView() public class SMSSenderActivity extends Activity { @ViewById(R.id.ok_button) // findViewById() Button buttOk; @StringRes //   R.string.message String message; ... @Click(R.id.ok_button) //     void okClickHandler(){ ... }
      
      







いいね? 通常のonCreateメソッドがなく、すべてが正常に機能することに注意してください。 しかし、アクティビティ状態の他の方法と同様に、追加されるのを妨げるものはありません。



どのように機能しますか? wikiをご覧ください。「AndroidAnnotationsは非常に簡単に機能します。 標準のJava Annotation Processing Toolを使用して、ソースコードを生成する追加のコンパイルステップを自動的に追加します。これがまさに、マニフェストまたはアクティビティの開始時にプレフィックスを追加する必要がある理由です。 また、idを指定しない場合、リソースは変数の名前でロードされることに注意してください。これは、コードを読みやすくするのにも便利です。



多くの機能を備えたより完全な例を以下に示します。

code.google.com/p/androidannotations/source/browse/trunk/HelloWorldEclipse/src/com/googlecode/androidannotations/helloworldeclipse/MyActivity.java



(上記のリンクのコードのように)@BeforeViewsアノテーションが見つかりませんでしたが、@ BeforeCreateがあることに注意してください。



利用可能な注釈は次のとおりです。

@ColorRes

@StringRes

@AnimationRes

@BooleanRes

@ColorStateListRes

@DimensionRes

@DimensionPixelOffsetRes

@DimensionPixelSizeRes

@DrawableRes

@IntArrayRes

@IntegerRes

@LayoutRes

@MovieRes

@TextRes

@TextArrayRes

@StringArrayRes

追加

@SystemService

背景

@UiThread

@UiThreadDelayed

なかむら



そして、他の多くの。 はい、RoboGuiceをライブラリと共有できます。

この素晴らしいライブラリは本当に多くのことを簡単にし、絶えず繰り返されるルーチンコードの量を減らします。

多くの例とドックがプロジェクトのホームページにあります。



おわりに



結論として、数週間気付いた興味深い点を追加します。<uses-permission>タグを宣言するときは、アプリケーションタグの前にそれを記述する必要があります。そうしないと、権利がアプリケーションに適用されません。 少なくともこのように3回はありました。これは、この瞬間の非ランダム性を示しています。 だから、注意してください!



いつものように、すべての提案と質問は午後に書かれています。

このライブラリを使用した人はあなたの経験を説明し、すべてがうまくいきます。



また、最初に読むのが面白いトピックを選択して申し訳ありません。

1)Android経由のVKontakte認証:壁に投稿します。

2)Androidのプロセスとスレッド:AsyncTaskを正しく記述します。

3)本格的なアプリケーションをAndroid向けScripting Layer(SL4A) code.google.com/p/android-scriptingと組み合わせる

4)オプション。



All Articles