《第一行代码-Android》学习笔记(二十二)

2024-06-17 01:32

本文主要是介绍《第一行代码-Android》学习笔记(二十二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一.HttpURLConnection学习

1.new出一个URL对象:

2.利用URL的实例方法:openConnection()获取到URLConnection对象,再向下强制转换为HttpURLConnection对象。

代码:

URL url = new URL("http://www.baidu.com");

connection = (HttpURLConnection) url.openConnection();

//GET表示希望从服务器获取数据,POST表示提交数据给服务器。

connection.setRequestMethod(GET);

connection.setConnectTimeout(6000);

connection.setReadTimeout(8000);

InputStream inputStream = connection.getInputStream();

//对获取的流进行包装处理

BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));

StringBuffer result = new StringBuffer();

String line = "";

while((line = reader.readLine()) != null){

     result.append(line);

}

reader.close();

 

3.POST请求,如何提交数据:

 connection.setRequestMethod("POST");

 DataOutputStream outputStream=new DataOutputStream(connection.getOutputStream());

 //提交的数据是以键值对的形式存在的,数据与数据之间以&隔开

 outputStream.writeBytes("username=admin&password=123456");

二.HttpClient学习

HttpClientApache提供的HTTP网络访问接口,可以实现和HttpURLConnection一样的效果,但是二者的用法大不一样。

1.Get请求:

a) 创建一个HttpClient实例,由于HttpClient是一个接口,一般创建一个DefaultHttpClient实例:

HttpClient httpClient = new DefaultHttpClient();

b) GET请求创建一个HttpGet对象,并传入目标网络地址:

HttpGet httpGet = new HttpGet("http://www.baidu.com");

c) 调用HttpClientexecute()方法,获得一个HttpResponse对象:

HttpResponse httpResponse = httpClient.execute(httpGet);

d) 判断返回码是不是200

if(httpResponse.getStatusLine().getStatusCode() == 200){...}

e) 获取HttpEntity,并获取到里面内容:

HttpEntity httpEntity = httpResponse.getEntity();

      //利用EntityUtils的类方法,可以解析httpEntity对象,并设置编码格式

   String result = EntityUtils.toString(httpEntity, "utf-8");

2.POST请求:

a) 创建一个HttpClient实例,由于HttpClient是一个接口,一般创建一个DefaultHttpClient实例:

HttpClient httpClient = new DefaultHttpClient();

b) POST请求创建一个HttpPost对象,并传入目标网络地址:

HttpPost httpPost = new HttpPost("http://www.baidu.com");

c) 通过NameValuePair集合来存放待提交的数据,并将集合出入到UrlEncodedFormEntity中,然后调用HttpPostsetEntity()方法将UrlEncodedFormEntity传入:

List<NameValuePair> params = new ArrayList<NameValuePair>();

params.add(new BasicNameValuePair("user", "admin"));

params.add(new BasicNameValuePair("password", "123456"));

UrlEncodedFormEntity entity = new UrlEncodedFormEntity(params, "utf-8");

httpPost.setEntity(entity);

d) 调用HttpClientexecute()方法,获得一个HttpResponse对象:

httpClient.execute(httpPost);

e) .....下面的处理和get请求相同

 

 

这篇关于《第一行代码-Android》学习笔记(二十二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1068112

相关文章

Android使用ImageView.ScaleType实现图片的缩放与裁剪功能

《Android使用ImageView.ScaleType实现图片的缩放与裁剪功能》ImageView是最常用的控件之一,它用于展示各种类型的图片,为了能够根据需求调整图片的显示效果,Android提... 目录什么是 ImageView.ScaleType?FIT_XYFIT_STARTFIT_CENTE

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

利用Python调试串口的示例代码

《利用Python调试串口的示例代码》在嵌入式开发、物联网设备调试过程中,串口通信是最基础的调试手段本文将带你用Python+ttkbootstrap打造一款高颜值、多功能的串口调试助手,需要的可以了... 目录概述:为什么需要专业的串口调试工具项目架构设计1.1 技术栈选型1.2 关键类说明1.3 线程模

Python Transformers库(NLP处理库)案例代码讲解

《PythonTransformers库(NLP处理库)案例代码讲解》本文介绍transformers库的全面讲解,包含基础知识、高级用法、案例代码及学习路径,内容经过组织,适合不同阶段的学习者,对... 目录一、基础知识1. Transformers 库简介2. 安装与环境配置3. 快速上手示例二、核心模

Java的栈与队列实现代码解析

《Java的栈与队列实现代码解析》栈是常见的线性数据结构,栈的特点是以先进后出的形式,后进先出,先进后出,分为栈底和栈顶,栈应用于内存的分配,表达式求值,存储临时的数据和方法的调用等,本文给大家介绍J... 目录栈的概念(Stack)栈的实现代码队列(Queue)模拟实现队列(双链表实现)循环队列(循环数组

Android实现在线预览office文档的示例详解

《Android实现在线预览office文档的示例详解》在移动端展示在线Office文档(如Word、Excel、PPT)是一项常见需求,这篇文章为大家重点介绍了两种方案的实现方法,希望对大家有一定的... 目录一、项目概述二、相关技术知识三、实现思路3.1 方案一:WebView + Office Onl

Android实现两台手机屏幕共享和远程控制功能

《Android实现两台手机屏幕共享和远程控制功能》在远程协助、在线教学、技术支持等多种场景下,实时获得另一部移动设备的屏幕画面,并对其进行操作,具有极高的应用价值,本项目旨在实现两台Android手... 目录一、项目概述二、相关知识2.1 MediaProjection API2.2 Socket 网络

Android实现悬浮按钮功能

《Android实现悬浮按钮功能》在很多场景中,我们希望在应用或系统任意界面上都能看到一个小的“悬浮按钮”(FloatingButton),用来快速启动工具、展示未读信息或快捷操作,所以本文给大家介绍... 目录一、项目概述二、相关技术知识三、实现思路四、整合代码4.1 Java 代码(MainActivi

Android Mainline基础简介

《AndroidMainline基础简介》AndroidMainline是通过模块化更新Android核心组件的框架,可能提高安全性,本文给大家介绍AndroidMainline基础简介,感兴趣的朋... 目录关键要点什么是 android Mainline?Android Mainline 的工作原理关键

使用Java将DOCX文档解析为Markdown文档的代码实现

《使用Java将DOCX文档解析为Markdown文档的代码实现》在现代文档处理中,Markdown(MD)因其简洁的语法和良好的可读性,逐渐成为开发者、技术写作者和内容创作者的首选格式,然而,许多文... 目录引言1. 工具和库介绍2. 安装依赖库3. 使用Apache POI解析DOCX文档4. 将解析