您的位置:首页 > 移动开发 > Android开发

Android ORM应用开发框架KJFrameForAndroid使用详解

2016-03-30 15:47 796 查看
本文将为大家介绍一款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文件中添加以下权限规则:

[html] view plain copy







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

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

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

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

UILibrary

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

[java] view plain copy







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图片的处理:

[java] view plain copy







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的功能:

[java] view plain copy







// 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

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

[java] view plain copy







// data file

KJDB db = KJDB.create(this);

User ugc = new User(); //warn: The ugc must have id field or @ID annotate

ugc.setEmail("kymjs123@gmail.com");

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的高级用法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: