OkHttp

xiaoxiao2021-02-28  7

第一步导入依赖

compile 'com.squareup.okio:okio:1.5.0' compile 'com.squareup.okhttp3:okhttp:3.2.0' compile 'com.squareup.okhttp3:logging-interceptor:3.4.1' compile 'com.google.code.gson:gson:2.8.2'

第二步,咱们导入util包,这些包网上都有

其中:GsonArrayCallback和GsonObjectCallback是封装主线程UI更新,解析对象类型(最外层{})的和数组类型(最外层[])的json串

            NetWorkUtil:判断网络

            Okhttp3Utils:封装网络请求的类

第三步:权限

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> <uses-permission android:name="android.permission.INTERNET"></uses-permission> 最后因为咱们使用的单例模式,我们首先要写一个类,继承Application,然后在自己的清单文件中 appliction中 配置一下

下面附带一个application的例子

public class MyApp extends Application { public static MyApp mInstance; @Override public void onCreate() { super.onCreate(); mInstance = this; } public static MyApp getInstance() { return mInstance; } }

下面就可以使用自己的util包中的内容啦,主要掌握doget(),dopost();

//doget请求的例子,其中User是解析json串的实体类

OkHttp3Utils.getInstance().doGet(mpath, new GsonObjectCallback<User>() { //请求成功 @Override public void onUi(User user) { 数据请求成功,写自己的操作,比如展示到界面 } //请求失败 @Override public void onFailed(Call call, IOException e) { } });
转载请注明原文地址: https://www.6miu.com/read-1348878.html

最新回复(0)