Android Studio 中配置Annotationes框架

前言

  1. 什么是框架?
    一个框架就是一个基石,那么基石就是地基的意思,
    底层框架的强壮性,决定项目的开发的容易度。

  2. 为什么需要框架呢?
    不需要可以吗?可以,但开发时间较长。

  3. android开发中哪些内容可以做成框架呢?

    • 网络模块
    • 图片缓存模块
    • 数据库模块
    • UI基础模块

      1. 开发框架给我们带来了哪些好处?
    • 开发效率的提升
    • 代码看起来更简洁
    • 好统一管理
    • 代码的复用性

正题:配置AndroidAnnotationes框架

AndroidAnnotationes框架:注解开元框架

比如:
我们经常会使用到findViewById这个方法来进行查找控件,
那么这里就使用一个注解
如:@ViewById
TextView tv;
这样就完成了找控件的工作,代码就变得简洁了。
还有一些注解比如给控件设置监听的,请求网络的等等。

配置步骤

AndroidAnnotationes的首页http://androidannotations.org/
可以看到简单的介绍和一个简单的对比案例,
另外有一个Documentation链接按钮,可跳转到Github上,这里是源码。

2.(主要是下载需要到jar包,或者源码)到Github上首先看到的是帮助文档,
点击 Get Started进行快速学习,

3.现在说一下在Android studio中配置AndroidAnnotationes框架

(1)首先是配置build.gradle
第一步:那么先在全局的build.gradle(也就是与项目同级的build.gradle)中进行配置
配置如下:

     dependencies {
        classpath 'com.android.tools.build:gradle:2.1.2'

        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4'//这个是需要添加的
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }

第二步:再到项目中的build.gradle中进行配置
配置如下:

apply plugin: 'com.android.application'
    apply plugin: 'android-apt'//这个是需要添加的

    def AAVersion='3.3.2'//这个是需要添加的,用于指定版本,可以指定全新版本
    android {
    compileSdkVersion 23
    buildToolsVersion "23.0.3"

    defaultConfig {
        applicationId "com.ceo.testaa2"
        minSdkVersion 17
        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'

    apt "org.androidannotations:androidannotations:$AAVersion"//添加
    compile "org.androidannotations:androidannotations-api:$AAVersion"//添加
    compile 'com.google.android.gms:play-services-appindexing:8.1.0'//添加

}

apt {//添加
    arguments {
        androidManifestFile variant.outputs[0].processResources.manifestFile
    }
}

第三步:同步配置

第四步:尝试使用框架
1.首先AndroidManifest.xml中每个使用androidAnnotations的Activity名字都要添加_

          <activity android:name=".MainActivity_">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

        <service android:name=".MyService_"></service>
    </application>
 2.activity中的代码
    package com.ceo.testaa2;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.TextView;

import org.androidannotations.annotations.AfterViews;
import org.androidannotations.annotations.Click;
import org.androidannotations.annotations.EActivity;
import org.androidannotations.annotations.ViewById;

@EActivity(R.layout.activity_main)//不用setContentView();
public class MainActivity extends AppCompatActivity {
    @ViewById(R.id.text1)//初始化控件,不用findViewById();
    TextView tv;

    @ViewById(R.id.bnt)
    Button bnt;


    @Click(R.id.bnt)//为ID为bnt的控件添加监听事件
    void startInfoActivity()
    {
       Intent it = new Intent(MainActivity.this,InfoActivity_.class);
        startActivity(it);

    }
    @Click(R.id.bnt1)//开启服务
    void startMyService(){
        Intent it = new Intent(MainActivity.this,MyService_.class);
        startService(it);
    }

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


    }
}

列出常用的注释标签

@EActivity
@EService

@ViewById
@ViewsById
@AfterViews
@Extra

@Click
@LongClick
@ItemClick
@ItemLongClick
@Tounch

…还有很多,这里就不做多的列举了

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值