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;
- }
- }
// 这里添加注解,指定对应的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相关代码,我们才能将更专注于具体的业务逻辑。