androidkit - android应用开发工具包


Apache
Android
Java

软件简介

用于android应用层开发的工具包,它将有助于你提高开发效率。如果在使用中有任何疑惑或建议,可以

目前主要有以下模块:

  • db模块(目前只对SharedPreferences类封装为KV类)
  • http模块,封装了http请求代码

  • uibind模块,通过注解方式对控件、事件、资源进行绑定。

  • uilibs模块,ui库
  • utils模块,常用工具类

  • io子包 IO流相关的类network子包 网络相关的类

  • apk子包 apk信息相关的类
  • lang子包 一些基础工具类
  • security子包,加密、解密类
  • thread子包,线程相关的类
  • ui子包,ui处理相关的类
  • 其他工具类

如果对使用方法存在着疑问的话,可以参考sample分支中的代码。


关于里面绑定控件的示例代码如下。
现在的写法:

        // 这里添加注解,指定对应的id
        @AndroidView(id = R.id.home_result_upload)
        private TextView mTextUpload;
        // 资源的绑定,指定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;
                }
        }