博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
安卓基础——网络
阅读量:5274 次
发布时间:2019-06-14

本文共 1343 字,大约阅读时间需要 4 分钟。

 

1.webview的使用

步骤:

1)获取到webview的实例

2)设置webview支持js

3)设置网页跳转只在该webview进行,而不是本地浏览器

4)加载首页

 

核心代码:

 

 

注意:要声明internet的权限。

 

 2.使用HttpURLConnection发送HTTP请求

步骤:

1)得到URL

2)得到HttpURLConnection连接对象

3)给设置该对象一些属性,比如设置连接超时,超时的毫秒数,HTTP请求的方法

4)获取InputStream对象,进行读取返回的数据

5)关闭连接

 

核心代码:

 

 补充:

 

 

3.使用OkHttp

介绍:其是一个网络开源库,内部封装了原生的HttpConnection,可大大简化了获取数据的效果,这种库有多种,Okhttp最常用,还有Picasso,Retrofit等。

 

使用步骤:

1)在闭包中添加依赖

2)获取OkHttpClient对象

3)设置请求对象

4)发送该请求得到response对象

5)调用response对象的body().string()方法获取数据

 

核心代码:

 

 

 

补充:

 

 3.解析XML格式数据

1)使用Pull方式

步骤:

1)获取XmlPullParserFactory实例

2)借1)对象获取XmlPullParser对象

3)调用该对象的setInput()法官法将服务器返回的xml数据设置进去进行解析

 

核心代码:

 

 

 

2)使用SAX方式

 步骤:

1)创建一个类继承DefaultHandler

2)获取SAXParserFactory对象

3)借2)对象获取到XMLReader对象

4)实例化1)中的对象

5)将实例化1)对象设置到XMLReader中

6)调用xmlReader对象的parse()方法来进行解析

 

核心代码:

 

 

在activity中:

 

 

 

 5.解析JSON格式数据

1)使用JSONObject

步骤:

1)将数据传入到JSONArray对象中

2)遍历该对象,从中取出每一个JSONObject对象,取出里面的数据,并且进行处理

 

核心代码:

 

2)使用GSON

步骤:

1)添加依赖

2)写好一个bean对象

3)传入数据获取到该数据的全部bean对象集合

4)遍历取出数据,并且进行处理

 

核心代码:

依赖:

 

bean对象:

 

 

activity中:

 

 

 6.网络编程的最佳实践——打造一个获取数据的工具类

提出问题:

1)其是耗时操作,必定要开一个子线程来进行处理,不然会出现主线程阻塞问题

2)如果只是简单的开线程,可能会信息还没有返回回来,我们就已经处理完毕了,导致操作无意义问题。

 

为了解决上面的问题,我们的解决方案是使用java的回调机制,我们在接口中定义了两个方法,

onFinish()方法表示当服务器成功相应我们请求的时候调用,onError()表示当进行网络操作出现

错误的时候调用。这两个方法都带有参数,前者方法中的参数代表服务器返回的数据,后者的参数记录

着错误的详细信息。

深入:回调机制。

 

 

核心代码:

工具类:

 

 在activity中使用它:

 

 

 

 

 简化版:

 

在activity中:

 

 

转载于:https://www.cnblogs.com/lpd1/p/7605897.html

你可能感兴趣的文章
大四java实习生的一些经历
查看>>
线程池的概念
查看>>
Oracle_Statspack性能诊断工具
查看>>
转获取sql维护的表关系
查看>>
Java 序列化
查看>>
Java 时间处理实例
查看>>
Java 多线程编程
查看>>
Java 数组实例
查看>>
mysql启动过程
查看>>
2017前端面试题总结
查看>>
Http GetPost网络请求
查看>>
SWIFT国际资金清算系统
查看>>
Sping注解:注解和含义
查看>>
站立会议第四天
查看>>
如何快速掌握一门技术
查看>>
利用AMPScript获取Uber用户数据的访问权限
查看>>
vagrant 同时设置多个同步目录
查看>>
python接口自动化28-requests-html爬虫框架
查看>>
生成随机数的模板
查看>>
Mysql 数据库操作
查看>>