Android初级开发(九)——网络交互—OkHttp
来源:互联网 发布:php 接口开发加密 编辑:程序博客网 时间:2024/06/08 01:54
一、使用OkHttp的步骤
1、在项目中添加OkHttp库的依赖
在File->Project Structure->app->Dependencies->+(添加)->搜索OkHttp->找“com.squareup.okhttp3:okhttp:3.8.1”确定添加
2、首先创建OkHttpClient实例
OkHttpClient client = new OkHttpClient();
3、发送GET请求或POST请求
GET请求:创建一个request对象,并在build()前连缀很多方法来丰富这个request对象
Request request = new Request.Builder().url("http://www.baidu.com").build();
POST请求:先构建body对象存放数据,然后在Request.Builder()调用post方法将body对象传入
RequestBody requestBody = new FormBody.Builder() .add("username","admin") .add("password","123456") .build(); Request request = new Request.Builder() .url("http://www.baidu.com") .post(requestBody) .build();
4、调用execute()方法发送请求并获取服务器返回的数据
Response response = client.newCall(request).execute();
二、实现一下吧
1、效果图
效果图和上一篇HttpURLConnection的使用中的是一样的,因为发送都是访问百度页面的请求
2、布局文件
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <Button android:id="@+id/send_request" android:layout_width="match_parent" android:layout_height="80dp" android:text="发送请求" android:textSize="25dp"/> <ScrollView android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/response_text" android:layout_width="match_parent" android:layout_height="wrap_content" /> </ScrollView></LinearLayout>
3、MainActivity.java
public class MainActivity extends AppCompatActivity { Button sendRequest; TextView responseText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); responseText = (TextView) findViewById(R.id.response_text); sendRequest = (Button) findViewById(send_request); sendRequest.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { new Thread(new Runnable() { @Override public void run() { try{ OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder().url("http://www.baidu.com").build(); Response response = client.newCall(request).execute(); String responseData = response.body().string(); showResponse(responseData); }catch (Exception e){ e.printStackTrace(); } } }).start(); } }); } private void showResponse(final String response) { runOnUiThread(new Runnable() { @Override public void run() { //在这里进行UI操作,将结果显示到界面上 responseText.setText(response); } }); }}
4、在清单文件中声明网络权限
<uses-permission android:name="android.permission.INTERNET"/>
阅读全文
0 0
- Android初级开发(九)——网络交互—OkHttp
- Android初级开发(九)——网络交互—WebView的使用
- Android初级开发(九)——网络交互—HttpURLConnection
- Android初级开发(九)——网络交互—解析XML格式数据
- Android初级开发(九)——网络交互—解析JSON格式数据
- Android——网络通信(OkHttp)
- Android开发初级(二)——开发环境搭建
- Android ——网络请求框架OkHttp使用
- Android学习笔记02——OKHttp网络框架01
- Android——自定义拦截器实现OKHttp网络请求
- Android——自定义拦截器实现OKHttp网络请求
- Android网络请求框架—OKHttp 源码解析
- Android初级开发(四)——补充4、ListView
- Okhttp使用简析——Android网络请求框架(一)
- Android 开发之OKHttp网络请求
- Android之Okhttp初级使用
- 《Android中高级工程师面试指南 — 网络协议和网络框架面试讲解 — OKHttp》
- OkHttp深入学习(二)——网络
- 学习笔记之浅谈面向对象编程2
- ArrayList和LinkedList都是实现了List接口的类,他们都是元素的容器,用于存放对象的引用; 他们都可以对存放的元素进行增删改查的操作,还可以进行排序。 但是,他们还是有区别的。
- javascript正则表达式demo
- -ObjC 的故事
- 分布式、集群和微服务概念整理
- Android初级开发(九)——网络交互—OkHttp
- vim 文本编辑器
- 在unity中实现截图功能
- 将科技应用于司法获认同,新加坡想向中国学
- jpa核心api
- Iptables教程
- HDU1856 More is better 并查集入门
- 邻家男孩
- 零元重启计划”零成本再学