本文将为大家介绍一款Android ORM应用开发框架KJFrameForAndroid,很多时候我们也叫它KJLibrary。

Android ORM应用开发框架KJFrameForAndroid使用详解_第1张图片

KJFrameForAndroid简介

KJFrameForAndroid是一款基于Android的ORM和 IOC应用开发框架,封装了很多Android开发中常用的功能,包括Android中对Bitmap的操作类库。KJFrameForAndroid的设计非常精简,利用KJFrameForAndroid,我们可以用最少的代码完成很多丰富的Android功能应用,为Android开发者节省许多不必要的开发时间。

KJFrameForAndroid总共分为五大模块:UILibrary,UtilsLibrary,HttpLibrary,BitmapLibrary,DBLibrary。

KJFrameForAndroid使用方法

KJFrameForAndroid的使用方法也是十分简单,首先复制KJLibrary工程中bin目录下的kjlibrary.jar文件至自己项目的libs文件夹中,然后在AndroidManifest.xml文件中添加以下权限规则:

<uses-permission android:name="android.permission.INTERNET" />  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

这样就可以在Android项目中使用KJFrameForAndroid的所有功能了。

下面是利用KJFrameForAndroid实现的一些例子:

UILibrary

下面的代码实现了一个Android Tab小工具

public class TabExample extends KJActivity {            @BindView(id = R.id.bottombar_content1, click = true)            public RadioButton mRbtn1;            @BindView(id = R.id.bottombar_content2, click = true)            private RadioButton mRbtn2;            @Override            public void setRootView() {                setContentView(R.layout.aty_tab_example);            }            @Override            protected void initWidget() {                super.initWidget();                mRbtn1.setText("widget clicked listener");            }            @Override            public void widgetClick(View v) {                super.widgetClick(v);                switch (v.getId()) {                case R.id.bottombar_content1:                ViewInject.toast("clicked mRbtn1");                    break;                case R.id.bottombar_content2:                ViewInject.toast("clicked mRbtn2");                    break;                }            }        }

BitmapLibrary

下面的代码实现了对Bitmap图片的处理:

KJBitmap kjb = KJBitmap.create();    /**     * url can be local sdcard path or internet url;     * view can whichever View set image(for ImageView set src;for View set background).     */    // local sdcard image    kjb.display(imageView, "file:///storage/sdcard0/1.jpg");     // internet url    kjb.display(textView, http://www.xxx.com/xxx.jpg);     //自定义图片显示大小    kjb.display(view, http://www.xxx.com/xxx.jpg, 80, 80); //width=80,height=80

HttpLibrary

下面的代码实现了远程获取JSON的功能:

// get        kjh.get("http://www.oschina.net/", new HttpCallBack();//like post, so just one example        // post        KJHttp kjh = new KJHttp();        HttpParams params = new HttpParams();        params.put("id", "1");        params.put("name", "kymjs");        kjh.post("http://192.168.1.149/post.php", params, new HttpCallBack() {            @Override            public void onPreStart() {                super.onPreStart();                KJLoger.debug("before start");            }            @Override            public void onSuccess(String t) {                super.onSuccess(t);                ViewInject.longToast("request success");                KJLoger.debug("log:" + t.toString());            }            @Override            public void onFailure(Throwable t, int errorNo, String strMsg) {                super.onFailure(t, errorNo, strMsg);                KJLoger.debug("exception:" + strMsg);            }            @Override            public void onFinish() {                super.onFinish();                KJLoger.debug("request finish. Regardless of success or failure.");            }        });

DBLibrary

下面的代码实现了对数据库的操作:

// data file    KJDB db = KJDB.create(this);    User ugc = new User(); //warn: The ugc must have id field or @ID annotate    ugc.setEmail("[email protected]");    ugc.setName("kymjs");    db.save(ugc);    //one - many    public class Parent{  //JavaBean        private int id;        @OneToMany(manyColumn = "parentId")        private OneToManyLazyLoader<Parent ,Child> children;        /*....*/    }    public class Child{ //JavaBean        private int id;        private String text;        @ManyToOne(column = "parentId")        private  Parent  parent;        /*....*/    }    List<Parent> all = db.findAll(Parent.class);            for( Parent  item : all){                if(item.getChildren ().getList().size()>0)                    Toast.makeText(this,item.getText() + item.getChildren().getList().get(0).getText(),Toast.LENGTH_LONG).show();            }

当然这些只是一些最简单的例子,如果你熟悉Android开发,也可以去KJFrameForAndroid的官方网站上学习更多关于KJFrameForAndroid的高级用法。

更多相关文章

  1. Android Studio xml android标签突然没有代码提示问题的解决
  2. 2011.10.14——— android 仿照微信的图片展示功能 之 基本功能
  3. Android填坑之旅(第十七篇)MIX2 适配看这一篇就够了,只需一行代码
  4. Android 实现推送功能
  5. Android 代码实现查看SQLite数据库中的表
  6. android:如何在java代码中覆盖webview中的javascript事件
  7. android的代码性能优化
  8. Android拨打电话功能实例详解
  9. 《第一行代码》扩展总结

随机推荐

  1. android下拉弹出框
  2. Android(安卓)android:persistentDrawing
  3. ch011 Android(安卓)Galley与ImageSwitch
  4. android屏幕分辨率适配
  5. Android(安卓)ListView
  6. 引路蜂Android游戏编程教程
  7. Android(安卓)LinearLayout等配置圆角背
  8. Android传感器
  9. Unity调用Android录音
  10. Android(安卓)SMS(一) —— 读取短信