OKHTTP封裝及呼叫
package com.example.ok02; import android.os.Handler; import java.io.IOException; import java.util.concurrent.TimeUnit; import okhttp3.Call; import okhttp3.Callback; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response;public class OkUtils { //定義變數 private static Handler mhandler; private final OkHttpClient mclient; private static OkUtils mokUtils; //使用構造方法,初始化 private OkUtils(){ mclient=new OkHttpClient.Builder() .connectTimeout(10, TimeUnit.SECONDS) .writeTimeout(10,TimeUnit.SECONDS) .readTimeout(10,TimeUnit.SECONDS) .build(); mhandler=new Handler(); } //使用單利模式暴露一個方法 public static OkUtils getInstance(){ if(mokUtils==null){ mokUtils=new OkUtils(); } return mokUtils; } //////////////////////定義介面///////////////////////// interface Fucn1{ Void onresponce(String result); } //處理請求網路成功的方法private static void onSuccessStringData(final String datas,final Fucn1 callBack){ mhandler.post(new Runnable() { @Override public void run() { if(callBack!=null){ callBack.onresponce(datas); } } }); } //暴露外界呼叫的方法 public void asyncJsonStringByURL(final String url, final Fucn1 callBack){ final Request request=new Request.Builder().url(url).build(); mclient.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { } @Override public void onResponse(Call call, Response response) throws IOException { onSuccessStringData(response.body().string(),callBack); } }); } }
Mactivity中呼叫
//使用封裝的okhttp private OkUtils okUtils=OkUtils.getInstance();
//呼叫介面的方法 okUtils.asyncJsonStringByURL(path, new OkUtils.Fucn1() { @Override public Void onresponce(String result) { //解析資料 Gson gson=new Gson(); ResultDatas resultDatas = gson.fromJson(result, ResultDatas.class); List<ResultDatas.DataBean> data = resultDatas.getData(); //建立介面卡 MyAdaper adaper=new MyAdaper(MainActivity.this,data); recyclerView.setAdapter(adaper); //開啟佈局管理器 recyclerView.setLayoutManager(new LinearLayoutManager(MainActivity.this,LinearLayoutManager.VERTICAL,false)); return null; } });
相關推薦
OKHTTP封裝及呼叫
package com.example.ok02; import android.os.Handler; import java.io.IOException; import java.util.concurrent.TimeUnit; import okhttp3.C
C++動態庫封裝及呼叫
https://blog.csdn.net/zhangfuliang123/article/details/71515796 一直對動態庫的封裝理解不是很透徹,雖然之前寫過一個Demo,不過並沒有真正的理解。所以寫下來,幫助自己理解下。 1、一個程式從原始檔編譯生成可執行檔
介面封裝及呼叫
為了更好地讓應用系統進行呼叫,有的時候需要對介面進行封裝,把複雜的東西包起來,讓應用系統介面開發者感覺越簡單越好。這樣你的系統才更容易被推廣或應用。比如,現在的很多線上支付介面都提供了軟體開發包。我們也可以通過封裝來實現介面開發包,讓開發人員簡單開發,輕鬆呼叫。1.介面封裝我們
DLL函式封裝及呼叫例項
動態呼叫的意思是顯式呼叫,是由使用者自己選擇呼叫哪個DLL檔案,在windows系統中,與動態連結庫呼叫相關的函式主要有3個: 1.LoadLibrary,顧名思義,該函式的作用是載入DLL檔案,因此該函式的引數就是你想要使用的DLL檔案; 2.GetProcAddress
通過dubbo+zookeeper實現服務介面的封裝及呼叫
1.首先介紹兩個框架: dubbo:阿里巴巴開源的高效能的優秀服務框架,使得應用可以通過高效能的rpc(遠端呼叫)實現服務的輸出和輸入功能,可以和spring無縫銜接。 zookeeper:用來封裝複雜易出錯的關鍵服務,將簡單易用的介面和效能高效,功能穩定的
個人js學習例項-點選按鈕實現全選與反選,及封裝函式呼叫前後
原始: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="wid
Lind.DDD.RedisClient~對StackExchange.Redis呼叫者的封裝及多路複用技術
回到目錄 兩雄爭霸 使用StackExchange.Redis的原因是因為它開源,免費,而對於商業化的ServiceStack.Redis,它將一步步被前者取代,開源將是一種趨勢,商業化也值得被我們尊重,畢竟人家研究程式碼也不容易,做商品也很正常,當然這不是我們今天的重點,今天主要說一下對StackExc
OkHttp使用及工具類封裝
單例模式,handler,介面回撥等;public class OkHttpUtils { public static final long DEFAULT_MILLISECONDS = 10_000L; private volatile static OkHttpUtils mInstanc
Android 一個改善的okHttp封裝庫
概述 使用 封裝 流程 ews etc 服務器 ... 進度 轉載請標明出處: http://blog.csdn.net/lmj623565791/article/details/49734867; 本文出自:【張鴻洋的博客】
Okhttp封裝、網絡層擴展
rri name 插件 oci 選擇 game ram content oat 一、概述 首先在這裏本片文章是以網絡通信封裝為主,而app開發首先重要就是網絡通信,而如今主流的async、volley、okhttp等,阿麽這麽網絡庫怎樣能做到更好封裝、
Python封裝及解構
解構 python封裝及解構Python的封裝與其他語言的封裝箱不同,python中沒有裝箱的概念,一切皆對象將多個值使用逗號進行分割,本質上是返回元組In [1]: a = 1,2 In [2]: type(a)Out[2]: tuple In [3]: aOut[3]: (1, 2) 封裝在進行交換的時候
c++動態庫封裝及調用(1、動態庫介紹)
oca 新版本 指令 二進制 運行時 失去 理論 load 程序 1、一個程序從源文件編譯生成可執行文件的步驟: 預編譯 --> 編譯 --> 匯編 --> 鏈接 (1)預編譯,即預處理,主要處理在源代碼文件中以“#”開始的預編譯指令,如宏展開、處理條
封裝及propery的使用
調用方法 安全 int 類名 def iss clas 函數 內部使用 封裝的目的 使類中的屬性或者方法只允許在類內部使用,不允許外部對其訪問,保證數據的安全性。 封裝的方法 使屬性或者函數名改寫成:“__屬性名或者函數名”的格式,即完成了對本類屬性或函數名的隱藏。
axios的簡單封裝及在組件內使用
form ase 一些事 cti 三方 return mounted mod ont /**第一步 * 配置編譯環境和線上環境之間的切換 * baseUrl: 域名地址 * routerMode: 路由模式 * imgBaseUrl: 圖片所在域名地址 * *
原生ajax封裝及用法
異步 con UC end utf amp dpa read -type /* 封裝ajax函數 * @param {string}opt.type http連接的方式,包括POST和GET兩種方式 * @param {string}opt.url 發送請求的url
小程序多圖片上傳組件封裝及使用
turn 服務端 view ots 鏈接 文件上傳 smo options data- 最近剛開發了小程序上傳圖片功能,為了便於後續查找,特此記錄歸總。 在實際開發過程中,圖片上傳功能是很常用的功能,所以將其封裝成組件,避免後續重復勞動力,已是不爭的事實。
Vue: axios 請求封裝及設置默認域名前綴 (for Vue 2.0)
找到 檢查 evel require login word -- const 步驟 1. 實現效果 以get方法向http://192.168.32.12:8080/users 發起請求、獲取數據並進行處理 this.apiGet(‘/users‘, {}) .the
Shell之function函式的定義及呼叫
文章目錄 `function`函式的定義及呼叫 `function`函式的定義 `function`函式的呼叫【位置傳參】 函式使用return返回值【位置傳參】 函式的呼叫【陣列傳參】
C++ 使用jsoncpp 封裝及解析 json字串(包含複雜陣列)
#include <json/json.h> #include <string> #include <iostream> using namespace std; int main() { //std::string strValue = "{\"na
類和物件(5)—— 建構函式的分類及呼叫
無引數建構函式、有引數建構函式、賦值建構函式 (3)拷貝建構函式 由已存在的物件,建立新物件。也就是說新物件,不由構造器來構造,而是由拷貝構造器來完成。拷貝構造器的格式是固定的。 #define _CRT_SECURE_NO_WARNINGS #includ