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

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();  
-     
-     
-     kjb.display(imageView, "file:///storage/sdcard0/1.jpg");   
-     
-     kjb.display(textView, http:
-     
-     kjb.display(view, http:
 
 
HttpLibrary
下面的代码实现了远程获取JSON的功能:
-         kjh.get("http://www.oschina.net/", new HttpCallBack();//like post, so just one example  
-   
-         
-         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
下面的代码实现了对数据库的操作:
-     KJDB db = KJDB.create(this);  
-     User ugc = new User(); 
-     ugc.setEmail("kymjs123@gmail.com");  
-     ugc.setName("kymjs");  
-     db.save(ugc);  
-     
-     public class Parent{  
-         private int id;  
-         @OneToMany(manyColumn = "parentId")  
-         private OneToManyLazyLoader<Parent ,Child> children;  
-         
-     }  
-   
-     public class Child{ 
-         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的高级用法。
Android ORM应用开发框架KJFrameForAndroid使用详解
原文:http://www.cnblogs.com/labixiaoxin/p/5337483.html