iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android发送Okhttp请求并返回数据
  • 575
分享到

Android发送Okhttp请求并返回数据

okhttpandroidjava 2023-09-11 20:09:55 575人浏览 泡泡鱼
摘要

大家好!今天给大家分享的是Android通过okHttp发送请求并返回数据。  一、Okhttp? Okhttp是目前Android主流的网络请求框架之一。话不多说,我们直接来看Okhttp怎么使用。 首先我们要在项目中添加Okhtt

大家好!今天给大家分享的是Android通过okHttp发送请求并返回数据。 

一、Okhttp?

Okhttp是目前Android主流的网络请求框架之一。话不多说,我们直接来看Okhttp怎么使用。

首先我们要在项目中添加Okhttp的依赖,找到build.gradle文件

dependencies {    implementation 'com.squareup.okhttp3:okhttp:4.1.1'}

完整的build.gradle文件

dependencies {    implementation 'androidx.appcompat:appcompat:1.4.1'    implementation 'com.Google.android.material:material:1.5.0'    implementation 'androidx.constraintlayout:constraintlayout:2.1.3'    implementation files('libs\\Mysql-connector-java-5.1.0-bin.jar')    implementation 'com.squareup.okhttp3:okhttp:4.1.1'    implementation 'com.alibaba:fastJSON:1.2.62'    testImplementation 'junit:junit:4.13.2'    androidTestImplementation 'androidx.test.ext:junit:1.1.3'    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'}

光添加依赖是不行的,我们还需要给项目添加网络权限,找到AndroidManifest.xml文件。

 

这样我们就完成了Okhttp的配置。

二、发送请求

在这里我是选择的点击一个按钮来发送请求。我们首先需要找到按钮,然后写它的点击事件,把发送请求的代码写到点击事件里。要注意的是这里需要try catch一下,不然容易有异常。我们方便捕获异常。

 houduan = findViewById(R.id.btn_houduan);//找到按钮        houduan.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                new Thread(new Runnable() {//子线程                    @Override                    public void run() {                        try {                           OkHttpClient client = new OkHttpClient();//创建Okhttp实例                           String url = "https://apis.tianapi.com/nba/index?key=2883D8175524da819017415676fdf911";//请求路径                           Request request = new Request.Builder()       .url(url)       .get()       .build();//get请求                           Call call = client.newCall(request);                           Response response = call.execute();//执行                           String responseData = response.body().string();//接收数据                           jsONArray array = new JSONArray(responseData);//将数据存到数组                           for(int i = 0; i

在这里我们需要将代码放到子线程里,因为这是网络请求,如果放到主线程里网络不好的话会导致整个应用都卡起来,而放到子线程里不会影响主线程及其他线程的运行速度。

 如果相加参数需要写一个RequestBody,将参数放到里面,然后再放到请求里面传递即可。代码如下:

                           RequestBody requestBody = requestBuild       .add("key",key)       .build();                           Request request = new Request.Builder()       .url(url)       .post(key)       .build();//post请求

 代码写好之后我们运行起来,点击按钮

 

 数据成功打印出来在控制台。我在这只是简单的打印输出了一下,如果想将数据返到页面可以用Bundle。


总结

这就是我今天想要分享的内容,只需要配置好项目写对代码就好,如果觉得有用的话记得留个赞!谢谢观看!
 

来源地址:https://blog.csdn.net/m0_66403070/article/details/130351632

--结束END--

本文标题: Android发送Okhttp请求并返回数据

本文链接: https://www.lsjlt.com/news/403530.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作