androidkit发布0.5.3alpha版

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相关代码,我们才能将更专注于具体的业务逻辑。

你可能感兴趣的:(java,android,androidkit)