Androidannotations架構是目前最火的Andorid端快速開發架構,通過注解方式挺高開發效率,減少重複編寫沒有技術含量的代碼。
使用AndoridAnnotations架構的理由:
1. 提高了開發的效率
2. 使代碼看起來更加簡潔
3. 使項目更加容易維護
4. 提高了代碼的複用性
1、 Androidannotations官網:http://androidannotations.org/
進入官網首頁就可以看到使用該架構和原生開發之間的差別,左邊為原生代碼,右邊為使用該功能架構的代碼,實作相同功能使用該架構的代碼明顯要少于原生代碼。
2、Android Studio配置
(1)建立工程,在全局build.gradle中配置android-apt插件
//配置android-apt插件
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
(2)在APP子產品下的build.gradle配置AndroidAnnotations依賴包和應用android-apt插件
apply plugin: 'com.android.application'
//應用android-apt插件
apply plugin: 'com.neenbedankt.android-apt'
//定義androidannotations架構的版本号
def AAVersion = '4.0.0'
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "包名"
minSdkVersion 9
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.4.0'
//加入AndroidAnnotations依賴
apt "org.androidannotations:androidannotations:$AAVersion"
compile "org.androidannotations:androidannotations-api:$AAVersion"
}
(3)在AndroidManifest中修改Activity配置,每個Activity配置後面添加:”_”
比如MainActivity,在AndroidManifest中應該配置成MainActivity_;
運作代碼:
package com.example.shaofenglan.annotationsdemo;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.Button;
import android.widget.Toast;
import org.androidannotations.annotations.Click;
import org.androidannotations.annotations.EActivity;
import org.androidannotations.annotations.ViewById;
@EActivity(R.layout.activity_main)
public class MainActivity extends AppCompatActivity {
@ViewById(R.id.btn1)
public Button btn1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_main);
}
@Click(R.id.btn1)
public void setBtnClick() {
Toast.makeText(MainActivity.this, "點選按鈕", Toast.LENGTH_SHORT).show();
}
}
Xml代碼:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin">
<Button
android:id="@+id/btn1"
android:layout_width="match_parent"
android:layout_height="45dip"
android:layout_margin="10dip"
android:text="按鈕" />
</LinearLayout>
3、Eclipse下配置
下載下傳AndroidAnnotations jar包,下載下傳位址: http://download.csdn.net/detail/a873228446/8485801
3.1、在工程目錄下建立“compile-libs”檔案夾,然後把Androidannotations-x.x.jar放在檔案夾下面
3.2、右鍵工程選擇“Properties”出現以下界面,選擇“Java Compiler”,確定“Compiler compliance level”是“1.6”,否則處理器不會被激活;
3.3、選擇“Java Compiler”下的“Annnotation Processing”并選中“Enable annotation processing”,
點選“Add JARs”選中Androidannotations-x.x.jar,這樣就完成了在Eclipse下面的配置
4、檢視生成的代碼
将“Java Compiler”-“Annotation Processing”-“Generated source directory”中的“.apt_generated”前面的點去掉即可在項目中看到架構生成的代碼。
5、API文檔位址:https://github.com/excilys/androidannotations/wiki/AvailableAnnotations