WelikeAndroid一款引入即用的便捷開發框架

jopen 9年前發布 | 7K 次閱讀 Android開發 移動開發 WelikeAndroid

WelikeAndroid 是什么?

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入門:

首先來看看框架的調試信息,是不是一目了然. DEBUG DEBUG2

  • 第一步,取得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.baiduhome.net/lib/view/home/1439648465645

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!