Android开源框架之androidannotations
来源:互联网 发布:网络用高清摄像机 编辑:程序博客网 时间:2024/05/22 13:11
Android开源框架之androidannotations
Android Annotations是一个开源的框架,用于加速android应用的开发,可以使开发者把注意力都集中在功能模块的实现上,简化了代码,提升了可维护性。
如果开发者想使用Android Annotations,可以在https://github.com/excilys/androidannotations这个网址上下载,下载解压后目录结构如下图所示:
如果想要在eclipse开发的项目上使用的话可以选择examples目录下的HelloWorldEclipse
然后将其目录下的compile-libs整个文件夹如下图所示拷贝到自己的项目工程下,同时将libs目录下的androidannotations-api-3.2.jar拷贝到自己项目工程下的libs目录下。
整个操作完成后的项目工程的结构如下图所示:
此时选中项目工程中的androidannotations-api-3.2.jar并通过Build Path-->Add To Build Path将其加到Libraries中,此外还需要选中项目右键选择Properties后会弹出如下界面:
此时打开Java Compiler,选中Enable project specific settings设置Compiler compliance level 1.6以上,如下所示:
接着,选中Java Compiler下的Annotation Processing并勾选右边的Enable project specific settings选项,如下图所示:
点击右下角的Apply按钮会弹出下图所示界面:
此时点击“Yes”按钮即可,然后继续选择Annotation Processing下的Factory Path,然后勾选中间上面的Enable project specific settings选项,如下图所示:
此时再选择右边的Add JARs...按钮会弹出如下对话框,此时选择项目工程下combile-libs目录下的androidannotations-3.2.jar,然后点击OK即可,如下图所示:
最后在上一步OK操作后的界面中点击Apply按钮会弹出如下所示界面,选择“Yes”后点击下面的OK按钮即可。
此时使用androidannotations开源框架前的一些基本配置就已经完成了,接下来将会通过一些小demo来演示如何使用androidannotations并且也会跟正常代码做一个比较。
正常代码:
package com.example.test3; import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;import android.widget.Toast; public class MainActivity extends Activity { private TextView content;private Button btn; @Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);super.setContentView(R.layout.activity_main); content = (TextView) findViewById(R.id.content);btn = (Button) findViewById(R.id.btn); btn.setOnClickListener(new OnClickListener() { @Overridepublic void onClick(View v) {Toast.makeText(MainActivity.this,"content:" + content.getText().toString(),Toast.LENGTH_SHORT).show();}}); } }
使用androidannotations后的代码:
package com.zjh.aap.activity; import org.androidannotations.annotations.Click;import org.androidannotations.annotations.EActivity;import org.androidannotations.annotations.ViewById; import android.app.Activity;import android.widget.TextView;import android.widget.Toast; @EActivity(R.layout.activity_main)/** * EActivity表示是一个Activity,如果Fragment的话则用EFragment表示 * R.layout.activity_main为布局文件 * */public class MainActivity extends Activity { @ViewById(R.id.content)/** * ViewById(R.id.content)表示的是取得id为content的组件类似于findViewById(R.id.content) * 另外属性也不能使用private权限 */TextView content; @Click/** * click表示这是一个点击事件 * btn表示的是Button按钮的id * 另外需要注意的是方法不能使用private权限 */public void btn() {Toast.makeText(this, "content" + content.getText().toString(),Toast.LENGTH_LONG).show();} }
由上面的代码不难看出,使用androidannotations开源框架的确可以省去很多代码,开发者也可以把更多的时间花在功能模块的实现上。
另外有一点需要注意的是如果使用androidannotations开源框架的话还需要在AndroidManifest.xml清单文件中做一些修改,就是在每一个注册的Activity后加一个“_”下划线,如下所示:
<activity android:name="com.zjh.aap.activity.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><span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"> </span>
- Android开源框架之androidannotations
- Android 开源框架之AndroidAnnotations快速入门
- Android:Android开源框架:AndroidAnnotations
- Android开源框架(一):AndroidAnnotations
- Android开源框架(一):AndroidAnnotations
- Android开源框架:AndroidAnnotations基本介绍
- Android开源框架(一):AndroidAnnotations
- Android开源框架(一):AndroidAnnotations
- Android开源框架(一):AndroidAnnotations
- Android开源框架(一):AndroidAnnotations
- AndroidAnnotations开源框架
- AndroidAnnotations开源框架
- Android之开发框架androidannotations使用配置
- Android开发之AndroidAnnotations框架的使用
- 开源框架 : 注解 androidannotations
- AndroidAnnotations 框架写Android
- android 使用框架androidannotations
- Android框架------------------AndroidAnnotations
- 清单革命:为什么不仅是工具革命?
- Java - 多态、动态绑定、抽象类和访问修饰符
- UVA - 12299 RMQ with Shifts 线段树(点修改)
- hdoj 1162 Eddy's picture(最小生成树)
- 深信服VMP 内存分配一点看法
- Android开源框架之androidannotations
- 6.4.3 final修饰基本类型变量和引用类型变量的区别
- 开源是互联网发展的核动力
- Brown film faced plywood the worthy formply
- Java 理解CPU缓存(CPU Cache)
- java基础知识3
- Java提高篇(二七)-----TreeMap (红黑树实现map)
- Mybatis整合Spring
- 关于sizeof与strlen在字符串应用的区别