AndroidAnnotations的使用
AndroidAnnotations是一个能够让你快速进行Android开发的开源框架,它能让你专注于真正重要的地方。AndroidAnnotations使代码更加精简,使项目更加容易维护,它的目标就是Fast Android Development. Easy maintainance。
使用AndroidAnnotations,相比原生的Android开发,确实能够让你少写很多代码,它的首页也给出了一个简单
的例子,通过例子也可以看到代码比之前几乎少写了一半。
AndroidAnnotations官方主页:http://androidannotations.org/
首先,看看AndroidAnnotations如何集成。
1、到官网下载AndroidAnnotations的jar包,本文使用的是AndroidAnnotations 3.0.1版本。
解压后将androidannotations-3.0.1.jar加入项目的libs目录。
2、配置Eclipse
(1)项目右键选择Properties,选择Java Compiler,确保编译器版本为1.6。
(2)Java Compiler -> Annotation Processing -> Enable annotation processing
(3)Java Compiler -> Annotation Processing -> Enable annotation processing -> Factory Path -> 添加androidannotations-3.0.1.jar
(4)Project -> Clean
接下来,给出一个简单的例子,通过这个例子,可以对AndroidAnnotations的使用有个初步的了解。
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/gray_bg" android:orientation="vertical" > <TextView android:id="@+id/titleTextView" android:layout_width="match_parent" android:layout_height="45.0dp" android:background="@color/titlebar_bg" android:gravity="center" android:singleLine="true" android:textColor="@color/white" android:textSize="22.0sp" android:textStyle="normal" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="10.0dp" android:background="@drawable/frame" android:orientation="vertical" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_vertical" android:orientation="horizontal" android:padding="10.0dp" > <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/icon_touxiang" /> <TextView android:layout_width="60.0dp" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginLeft="10.0dp" android:text="账号:" android:textColor="@color/text_black" android:textSize="15.0sp" /> <EditText android:id="@+id/nameEditText" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@null" /> </LinearLayout> <View android:layout_width="match_parent" android:layout_height="1.0px" android:background="@color/line_normal" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_vertical" android:orientation="horizontal" android:padding="10.0dp" > <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/icon_mima" /> <TextView android:layout_width="60.0dp" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginLeft="10.0dp" android:text="密码:" android:textColor="@color/text_black" android:textSize="15.0sp" /> <EditText android:id="@+id/passwordEditText" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@null" android:password="true" /> </LinearLayout> </LinearLayout> <TextView android:id="@+id/loginTextView" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="20.0dp" android:layout_marginLeft="10.0dp" android:layout_marginRight="10.0dp" android:layout_marginTop="10.0dp" android:background="@drawable/blue_bground" android:gravity="center" android:padding="10.0dp" android:text="登录" android:textColor="@color/white" android:textSize="15.0sp" /> </LinearLayout>
MainActivity.java
package com.eric.annotation; import org.androidannotations.annotations.AfterViews; import org.androidannotations.annotations.Click; import org.androidannotations.annotations.EActivity; import org.androidannotations.annotations.ViewById; import android.app.Activity; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; @EActivity(R.layout.activity_main) public class MainActivity extends Activity { @ViewById TextView titleTextView; @ViewById EditText nameEditText; @ViewById EditText passwordEditText; @ViewById TextView loginTextView; @AfterViews void updateTitle() { titleTextView.setText("Annotation"); } @Click void loginTextView() { Toast.makeText(getApplicationContext(), "name:" + nameEditText.getText() + "\npassword:" + passwordEditText.getText(), Toast.LENGTH_SHORT ).show(); } }
注意:AndroidManifest.xml文件里的Activity的名字都要在原来的基础上加一个下划线 。例如:
<activity android:name="com.eric.annotation.MainActivity"></activity>
改成
<activity android:name="com.eric.annotation.MainActivity_"></activity>