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>

0 0
原创粉丝点击