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

Android引入即用的便捷开发框架WelikeAndroid

2016-04-02 20:35 423 查看
WelikeAndroid 是一款引入即用的便捷开发框架,致力于为程序员打造最佳的编程体验,使用WelikeAndroid, 你会觉得写代码是一件很轻松的事情.




Welike带来了哪些特征?

WelikeAndroid目前包含五个大模块:

异常安全隔离模块(实验阶段):当任何线程抛出任何异常,我们的异常隔离机制都会让UI线程继续运行下去.
Http模块: 一行代码完成POST、GET请求和Download,支持上传, 高度优化Disk的缓存加载机制,

自由设置缓存大小、缓存时间(也支持永久缓存和不缓存).
Bitmap模块: 一行代码完成异步显示图片,无需考虑OOM问题,支持加载前对图片做自定义处理.
Database模块: 支持NotNull,Table,ID,Ignore等注解,Bean无需Getter和Setter,一键式部署数据库.
ui操纵模块: 我们为Activity基类做了完善的封装,继承基类可以让代码更加优雅.
另:请不要认为功能相似,框架就不是原创,源码摆在眼前,何不看一看?


使用WelikeAndroid需要以下权限:

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


下文将教你如何圆润的使用WelikeAndroid


WelikeGuard(异常安全隔离机制用法):

第一步,开启异常隔离机制:
WelikeGuard.enableGuard();


第二步,注册一个全局异常监听器:
WelikeGuard.registerUnCaughtHandler(new Thread.UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread thread, Throwable ex) {

WelikeGuard.newThreadToast("出现异常了: " + ex.getMessage() );

}
});


你也可以自定义异常:
/**
*
* 自定义的异常,当异常被抛出后,会自动回调onCatchThrowable函数.
*/
@Catch(process = "onCatchThrowable")
public class CustomException extends IllegalAccessError {

public static void onCatchThrowable(Thread t){
WeLog.e(t.getName() + "  抛出了一个异常...");
}
}


另外,继承自UncaughtThrowable的异常我们不会对其进行拦截.


WeikeHttp入门:

首先来看看框架的调试信息,是不是一目了然.





第一步,取得WelikeHttp默认实例.
WelikeHttp welikeHttp = WelikeHttp.getDefault();


第二步,发送一个Get请求.
HttpParams params = new HttpParams();
params.putParams("app","qr.get",
"data","Test");//一次性放入两对 参数 和 值

//发送Get请求
HttpRequest request = welikeHttp.get("http://api.k780.com:88", params, new HttpResultCallback() {
@Override
public void onSuccess(String content) {
super.onSuccess(content);
WelikeToast.toast("返回的JSON为:" + content);
}

@Override
public void onFailure(HttpResponse response) {
super.onFailure(response);
WelikeToast.toast("JSON请求发送失败.");
}

@Override
public void onCancel(HttpRequest request) {
super.onCancel(request);
WelikeToast.toast("请求被取消.");
}
});

//取消请求,会回调onCancel()
request.cancel();


当然,我们为满足需求提供了多种扩展的Callback,目前我们提供以下Callback供您选择:

HttpCallback(响应为byte[]数组)
FileUploadCallback
HttpBitmapCallback(建议使用Bitmap模块)
HttpResultCallback
DownloadCallback(仅在download时使用)

如需自定义Http模块的配置(如缓存时间),请查看HttpConfig.

转自:http://www.codeceo.com/article/welikeandroid-framework.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: