androidkit是一个用于android应用层开发的工具包,它将有助于你提高开发效率。它封装了至少以下操作:
- 包含SQLiteOpenHelper的简单实现类。
- 获取指定URL中返回的内容的String对象。
- View控件的截图。
- 获取本程序的图标、名字、版本、包名等信息。
- 再按一次退出。
- 抽象类,继承并实现该抽象方法以实现再按一次执行指定事件。
- Activity管理,用以管理启动的Activity。
- IntroActivity开启程序动画。
- 增加颜色选择器
- UI控件及事件绑定
- 资源的绑定
- ...
示例代码:
// 这里添加注解,指定对应的id
@AndroidView(id = R.id.home_result_upload)
private TextView mTextUpload;
@AndroidView(id = R.id.home_users)
private Spinner mSpinnerUser;
// 资源的绑定,指定id,类型
@AndroidRes(id = R.string.result_scan, type = ResType.STRING)
private String mStringScan;
// 对AdapterView的子类还可以绑定onCreateContextMenu,onItemClick等的事件监听。
@AndroidView(id = R.id.user_listView, onCreateContextMenu = "listViewContextMenu", onItemClick = "onListItemClick")
private ListView mUserListView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 调用此方法将对控件、事件进行绑定
UIBindUtil.bind(this, R.layout.activity_home);
// 调用此方法将对资源如String, StringArray, Drawable等资源对象进行绑定。
ResBindUtil.bindAllRes(this);
}
// 这里对应着上面的mUserListView的onCreateContextMenu方法名。
public void listViewContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
menu.add(0, DELETE, 1, "删除");
}
// 这里对应着上面的mUserListView的onItemClick方法名。
public void onListItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
mUserListView.showContextMenuForChild(arg1);
}
// 对View的setOnClickListener事件进行绑定,这样不再需要先声明变量。
@OnClick(viewId = { R.id.home_scan, R.id.home_upload_result,
R.id.home_borrow_book, R.id.home_return_book,
R.id.home_user_manager })
public void onButtonClick(View v) {
switch (v.getId()) {
case R.id.home_scan:
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
this.startActivityForResult(intent, HOME_ACTIVITY);
break;
case R.id.home_upload_result:
break;
case R.id.home_borrow_book:
break;
case R.id.home_return_book:
break;
case R.id.home_user_manager:
startActivity(new Intent(this, UserManagerActivity.class));
break;
default:
break;
}
}
可以看到,我们不再需要写一些烦人的诸如button = (Button)findViewById(R.id.button)此类的的代码,对绑定事件监听也不需要再写繁冗的内部类了,它都已经为你封装好,只需要声明对应的View的id,方法名等即可。我们写程序是用来解决问题的,封装了这些UI相关代码,我们才能将更专注于具体的业务逻辑。