AndroidAnnotation配置与使用

背景

随着安卓手机在市场上的普及,安卓开发的需求也越来越大。但是在安卓开发过程中,其实很多操作都是较为繁琐,且没有必要的,虽然一天下来看看写的代码很多,但是可能也就一个界面,几个功能点。所以对于安卓开发中代码的简化和重用是十分有必要的。

昨天偶然在网易云课堂上看到了AndroidAnnotation这个第三方框架,据说能够大幅度简化安卓编程,提高编程效率。怀着一颗好东西都要尝试一下的心态,今天将之配置并尝试了一下。

配置

AndroidAnnotation的官网为http://androidannotations.org/。但是事实上,在这个网站上只有一个例子代码展示它能够如何如何简化代码,实际的内容主要还是在github上。

通过连接打开git,进入它的git wiki。在这里可以下载jar包,并由一些如何使用的guide。包括如何在Eclipse和IntelliJ上配置。不过在这里它讲的比较简单,如果按照它的方法配置,可能会遇到很多问题。另外bz用的时AndroidStudio,虽然是基于IntelliJ,但是不知为何在细节上还是有些差距的,比如AndroidStudio上就没有Annotation Processing这个设置项。所以我们需要找寻一种适用于AndroidStudio且更为简洁的方式。

得益于Gradle,我们可以直接使用build文件引入AndroidAnnotation。这里需要五步。

1.引入对android-apt的依赖。在app module的build文件中添加以下代码。

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath ‘com.neenbedankt.gradle.plugins:android-apt:1.2+‘
    }
}

apply plugin: ‘android-apt‘  //添加android-apt插件

2.设置android-apt参数 。注意把包名换成你的应用的。另外outputs[0]是在新的android-studio的版本中才需要加的。

apt {
    arguments {
        androidManifestFile variant.outputs[0].processResources.manifestFile
        resourcePackageName "你的包名"
    }
}

3.使用apt引入对androidannotation的依赖。

dependencies {
    apt "org.androidannotations:androidannotations:3.0+"
    compile "org.androidannotations:androidannotations-api:3.0+"
    compile fileTree(dir: ‘libs‘, include: [‘*.jar‘])
    compile ‘com.android.support:appcompat-v7:21.0.3‘
}

5.最后的build文件应该是这样的。

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath ‘com.neenbedankt.gradle.plugins:android-apt:1.2+‘
    }
}

apply plugin: ‘com.android.application‘
apply plugin: ‘android-apt‘

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "com.tanglikang.annotationtest"
        minSdkVersion 9
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile(‘proguard-android.txt‘), ‘proguard-rules.pro‘
        }
    }
}

apt {
    arguments {
        androidManifestFile variant.outputs[0].processResources.manifestFile
        resourcePackageName "com.tanglikang.annotationtest"
    }
}

dependencies {
    apt "org.androidannotations:androidannotations:3.0+"          // add these
    compile "org.androidannotations:androidannotations-api:3.0+"  // two lines
    compile fileTree(dir: ‘libs‘, include: [‘*.jar‘])
    compile ‘com.android.support:appcompat-v7:21.0.3‘
}

6.重新build工程,系统会自动下载依赖的第三方库。然后就可以使用AndroidAnnotation了。

使用

AndroidAnnotation的使用其实很简单,主要需要注意两个点。

一是标签的使用。AA中有很多有用的标签,具体可以参考以下网页:https://github.com/excilys/androidannotations/wiki/AvailableAnnotations

二是在编译工程的时候,AA会将原来的Activity换成Activity_的形式,所以需要在AndroidMainfest中也做相应地修改。

这里尝试一个最简单地例子。这里使用了三个标签@EActivity设置布局文件。@ViewById引入一个控件。@Click设置空间点击事件。

@EActivity(R.layout.activity_main)
public class MainActivity extends ActionBarActivity {

    @ViewById(R.id.tv_1)
    TextView hello;

    @Click(R.id.tv_1)
    public void showToast(){
        Toast.makeText(MainActivity.this, "ok", Toast.LENGTH_LONG).show();
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

}
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.tanglikang.annotationtest" >

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity_"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

总结

经过实践,AndroidAnnotation确实能够大幅度增加android编程效率,值得学习和使用。

参考文献:

http://www.jayway.com/2014/02/21/androidannotations-setup-in-android-studio/

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-11 05:31:35

AndroidAnnotation配置与使用的相关文章

AndroidStudio配置Androidannotation

github中搜索Androidannotation.里面也有很详细的讲解过程.包括eclipse版本和IntellJ的相关配置.因为自己使用的是AndroidStudio所以在这里讲解下AndroidStudio的配置.在网上搜了很多,在自己配置过程中又遇到了不同的麻烦.所以在这里总结一下.这里贴出github中这个相关的链接:https://github.com/excilys/androidannotations/wiki/Configuration 下面是我的Androidstudio中

android studio 配置 AndroidAnnotation

一.新建一个android studio项目 二.打开build.gradle 添加下面这句话:classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4' (有的说是:classpath 'com.neenbedankt.gradle.plugins:android-apt:1.3'    可能版本不同,我的用1.3会出现问题) 三.打开项目中的build.gradle 加入下面红框中的内容 1. apply plugin: 'andro

android studio 中配置androidAnnotation 的新版正确配置

apply plugin: 'com.android.application'apply plugin: 'android-apt'def AAVersion = '3.2' android { compileSdkVersion 22 buildToolsVersion "23.0.0 rc2" defaultConfig { applicationId "com.peiandsky.firstandroidstudio" minSdkVersion 14 tar

Android 最火快速开发框架androidannotation简介

在上一篇Android 最火的快速开发框架androidannotations配置详解中介绍了在eclipse中配置androidannotation的步骤,如需配置请参考. 1.目标 androidannotation框架要促进Android应用程序的编写和维护.相信简单的代码有明确的意图是实现这些目标的最佳途径. 当我们都沉浸在开发Android应用程序时,我们常常会想:为什么我们总是需要反复写相同的代码吗?为什么我们的应用越来越难维护呢? context和activity就像是神一样的东西

【Android进阶】(1)使用开源框架AndroidAnnotation

1. 配置 首先去git上下载jar包,一个是androidannotations.jar,一个是androidannotations-api.jar. 新建我们的Android工程,将androidannotations-api.jar放入libs目录中,然后新建一个目录compile-lib,将androidannotations放进取,右键我们的工程-->Properties-->Java Compiler-->Annotation Processing-->勾选Enable

Win10下IIS配置、项目发布、添加网站

Win10下IIS配置 1.找到控制面板:[开始]菜单鼠标右击,打开[控制面板] 2.打开控制面板,点击[程序],点击[启用或关闭Windows功能] 下一步,点击[启用虎关闭Windows功能] 3. 开始修改IIS了,我是这样勾上的,有可能比较多. 4. 验证IIS是否正确安装,等待几分钟后IIS配置完成.在浏览器输入http://localhost/iisstart.htm会出现 IIS安装成功页面.第一次修改的时候出现了成功页面,但是后来删除了IIS中默认的网站就打不开了,但是不影响的.

linux下Nginx配置文件(nginx.conf)配置设置详解(windows用phpstudy集成)

linux备份nginx.conf文件举例: cp /usr/local/nginx/nginx.conf /usr/local/nginx/nginx.conf-20171111(日期) 在进程列表里 面找master进程,它的编号就是主进程号. ps -ef | grep nginx 查看进程 cat /usr/local/nginx/nginx.pid 每次修改完nginx文件都要重新加载配置文件linux命令: /usr/local/nginx -t //验证配置文件是否合法 若ngin

solr分布式索引【实战一、分片配置读取:工具类configUtil.java,读取配置代码片段,配置实例】

1 private static Properties prop = new Properties(); 2 3 private static String confFilePath = "conf" + File.separator + "config.properties";// 配置文件目录 4 static { 5 // 加载properties 6 InputStream is = null; 7 InputStreamReader isr = null;

IDEA 配置maven

编写Maven的settings.xml文件内容如下 引入阿里镜像和maven在中国的中央仓库镜像 <?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sc