Android网络编程(一) - 简要学习记录OkHttp

之前一直用的是HttpURLConnection,实在是麻烦,最近准备把项目换成OkHttp的,在这里简要记录一下大概使用流程,原理等会在后面博客介绍。

首先导入包,添加依赖

compile 'com.squareup.okhttp3:okhttp:3.9.0'

随便导入的,应该不是最新版,接下来就可以在代码中应用了。

首先需要创建OkHttpClient的实例:

OkHttpClient client = new OkHttpClient();

这没什么好说的,正常流程,接下来我们会发起Http请求,这个时候就需要创建Request对象:

Request request = new Request.Builder().build();

上面这一串代码只是创建了一个空的Request对象,没有作用的,在实际应用中,我们会在build()方法之前添加很多其他的方法来实现我们的功能,比如请求网络地址这一部分,添加url()方法:

Request request = new Request.Builder().
	url("https://devapi.qweather.com/v7/air/now?location=**&key=**")
	.build();

这是我获取和风天气的网址url,现在我们已经做好了前期准备,网址目标等都已经设置好了,那么就应该发送请求以及接收数据了,我们调用OkHttpClient的newCall()方法,创建一个新的Call对象,传入设置好的参数,并调用它的execute()方法完成发送请求以及接收数据:

Response response = client.newCall(request).execute();

我们使用了Response来接收数据,把他变成String变量来方便我们解析:

String data = response.body().string();

这样我们的流程就已经走完了,调用API三方接口的时候都可以这样使用,这属于GET方法,如果有数据需要POST方法的话,会有额外这样几步:

RequestBody requestBody = new FormBody.Builder()
	.add("name" , "admin")
	.add("password" , "123")
	.build();

Request request = new Request.Builder()
	.url("***")
	.post(requestBody)
	.build();

这样就好了。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OkHttp是一个广泛使用的开源HTTP客户端库,用于在Android应用程序中进行网络通信。它提供了简单而强大的API,可以用于执行同步和异步的HTTP请求。在你提供的引用中,有关于OkHttp的三个方面的内容,我将分别进行解释。 首先,你需要创建一个OkHttpClient对象。这个对象是OkHttp库的核心,用于管理和执行HTTP请求。你可以使用以下代码来创建OkHttpClient对象: ```java OkHttpClient okHttpClient = new OkHttpClient(); ``` 其次,你需要在Android程序中进行网络请求时,使用异步处理的方式。在Android中,网络请求必须在单独的线程中执行,以避免阻塞主线程。你可以使用以下代码来执行异步的GET请求: ```java new Thread(() -> { Request request = new Request.Builder().url("https://www.httpbin.org/get?name=test&b=123").build(); try { Response response = okHttpClient.newCall(request).execute(); Log.d(TAG, "doGetSync: " + response.body().string()); } catch (IOException e) { e.printStackTrace(); } }).start(); ``` 同时,你需要在AndroidManifest.xml文件中添加网络请求权限。这样才能确保你的应用程序有权限进行网络通信。你可以在`<manifest>`标签下添加以下代码: ```xml <uses-permission android:name="android.permission.INTERNET"/> ``` 综上所述,你可以在Android应用程序中使用OkHttp库进行网络通信。首先,创建一个OkHttpClient对象;然后,使用异步的方式执行GET请求;最后,在AndroidManifest.xml文件中添加网络请求权限。 希望能对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值