Android开源框架之androidannotations
Posted zhangjinhuang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android开源框架之androidannotations相关的知识,希望对你有一定的参考价值。
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;
@Override
protected 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()
@Override
public 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的主要内容,如果未能解决你的问题,请参考以下文章
ContentProvider之通过ContentResolver获取图像视频音频举例