内容正文:
第13章 使用网络
Android Studio 移动应用开发基础(第 2 版)
目录
13.1 使用 ConnectivityManager 管理网络状态
13.2 使用 HttpURLConnection 访问网络
13.3 同步练习一
13.4 使用 OkHttp 访问网络
13.5 OkHttp GET 实现案例
13.6 OkHttp POST 实现案例
13.7 同步练习二
13.8 使用 Multipart 传递请求数据到服务器端
13.9 同步练习三
13.10 使用 JSON 格式的数据与服务器端通信
13.2.2 使用 HttpURLConnection 的 POST 方法获取图片
Android 建议采用将应用程序界面与应用程序业务逻辑分离的方式设计应用程序;
新建一个 Android 应用程序,在这个应用程序中会显示一个巨大的按钮,用户在单击这个按钮后,会在按钮上显示当前的日期和时间;
修改 downLoadImageAndShow()方法:
13.3 同步练习一
仿照 13.2 节中的案例应用程序,使用基于 Java 的多线程机制(Thread 机制)实现与 13.2节中的案例应用程序类似的功能。并且在程序界面中使用 GET 方法或 POST 方法获取图片。
13.4 使用 OkHttp 访问网络
由于 Apache 的 HttpClient 非常庞大且复杂,因此从 Android 5.1 开始,Google 的 Android开发团队不再将 Apache 的 HttpClient 纳入 Android SDK,要使用 HTTP,读者可以使用 13.2节介绍的 HttpUrlConnection 或第三方开源的 HTTP 包。这里,我们使用完善且易用的 OkHttp。
13.4.1 使用 GET 方法进行服务请求
要使用 OkHttp,需要在 OkHttp 官方网站下载最新的 OkHttp 包和 Okio 包,在 Android 应用程序工程的 Project 视图下,将其放置到工程的 app/libs 目录下.
使用 OkHttp 的基本过程如下:
(1)创建 OkHttpClient 对象,代码如下:
private final OkHttpClient client = new OkHttpClient();
(2)创建 HTTP 请求,代码如下:
(3)发送请求到服务器端,代码如下:
Response response = client.newCall(request).execute();
(4)处理从服务器端返回的结果,代码如下:
13.4.2 使用 POST 方法进行服务请求
在使用 POST 方法进行服务请求时,可以将普通字符串、文件、表单等多种格式的请求数据发送到服务器端,并且这些请求数据都是打包到请求包的请求体中的,所以与使用 GET 方法相比,使用 POST 方法更加安全、灵活。
使用 POST 方法提交字符串的实现代码如下:
使用 POST 方法提交文件:
使用 POST 方法提交简单表单:
使用 POST 方法提交分块表单:
Q & A
$