网上有很多教程,但是随着时间的更新,androID 系统也在更新,而我这个教程是最新的教程了。
最新教程时间:2021-5-28
一 .要注意的问题:
androID 使用网络必须要打开网络权限
<uses-permission androID:name="androID.permission.ACCESS_NETWORK_STATE"/>
然后区分网络协议 https (通过加密的安全连接协议),http(普通http协议) 如果不区分,可能出现请求报错,网上很多教程都是基于https 协议实现的,
比如 https 安全连接会连接成功,如下是成功的。
@H_404_28@Request request = new Request.Builder() .url("https://reqres.in/API/users/2") .build();
而你的可能是不安全的http ,如下是失败的,会报错。重要的事情大字提示。
Request request = new Request.Builder() .url("http://www.sosoAPI.com/pass/mock/12003/test/gettest") .build();
因此请求的是时候会报错。 解决报错问题方法 : 1.在文件 AndroIDManifest.xml 加入以下权限,如下所示
<uses-permission androID:name="androID.permission.INTERNET"/>
2.AndroIDManifest.xml 加入代码
androID:supportsRtl="true"
二 .开始写代码
确认完重要的部分,开始添加库,和代码实例,可以直接复制粘贴使用我的代码哦。 1.添加okhttp的库源
implementation("com.squareup.okhttp3:okhttp:4.9.0")
2.代码示例,Get同步请求,注意下面我使用了不安全http "http://www.sosoAPI.com/pass/mock/12003/test/gettest" 需要加入上面所说的一些权限,否则会失败,但是如果是用的https 就不需要加入上面的权限。
//同步GET请求private voID okhttp_get(String dev_number){ new Thread(new Runnable() { @OverrIDe public voID run() { try { //2.创建OkhttpClIEnt对象 OkhttpClIEnt clIEnt = new OkhttpClIEnt(); //3.创建Request 对象 Request request = new Request.Builder() .url("http://www.sosoAPI.com/pass/mock/12003/test/gettest")// .build(); Response response = clIEnt.newCall(request).execute();//得到Response 对象 String mContent = response.body().string();//得到返回响应,注意response.body().string() 只能调用一次! //请求成功判断 if (response.isSuccessful()) { System.out.println("ok----------------"); System.out.println(mContent); } } catch (Exception e) { e.printstacktrace(); } } }).start();}
这是代码返回的结果显示的结果
总结
ok----------------
[{“name”:“get测试”,“content”:“你成功获取了数据”}]以上是内存溢出为你收集整理的okhttp android 使用教程全部内容,希望文章能够帮你解决okhttp android 使用教程所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)