网络访问技术
来源:互联网 发布:单片机开发步骤 编辑:程序博客网 时间:2024/06/06 00:44
一.在android开发中,对网络上图片和网页的常用访问技巧
1.首先创建url对象,URL url = new URL("http:www.xxx.com/picture.jpg");
2.通过url对象来得到一个HttpURLConnection对象,HttpURLConnection mHttpURLConnection = (HttpURLConnection)url.openConnection();
3.发送请求方式,常用的有GET,POST。 mHttpURLConnection.setRequestMethod("GET");
4.设置连接超时时间,mHttpURLConnection.setConnectTimeout(5 * 1000);
5.得到一个输入流对象,通过输入流获取图片数据,InputStream inStream = mHttpURLConnection.getInputStream();
6.读取输入流的数据,以二进制数组形式保存,byte[] data = StreamTool.readInputStream(inStream);
7.创建一个本地的图片文件,File imageFile = new File("picture.jpg");
8.创建一个文件输出流对象,FileOutputStream outStream = new FileOutputStream(imageFile);
9.向输出流里面写数据,outStream.write(data);
10.关闭输出流,outStream.close();
android中图片常用位图来保存,Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
显示图片,setImageBitmap(bitmap);
流工具类StreamTool用来读取输入流的数据的实现代码:
public static byte[] readInputStream(InputStream inStream) throws Exception{
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len = 0;
while( (len=inStream.read(buffer)) != -1 ){
outStream.write(buffer, 0, len);
}
inStream.close();
return outStream.toByteArray();
}
二.从网络中访问xml文件的技巧
获取到的xml数据以集合保存起来List<New>
1.首先创建url对象,URL url = new URL(path);
2.通过url对象来得到一个HttpURLConnection对象,HttpURLConnection mHttpURLConnection = (HttpURLConnection)url.openConnection();
3.发送请求方式,常用的有GET,POST。 mHttpURLConnection.setRequestMethod("GET");
4.设置连接超时时间,mHttpURLConnection.setConnectTimeout(5 * 1000);
5.得到一个输入流对象,通过输入流获取图片数据,InputStream inStream = mHttpURLConnection.getInputStream(); 此时返回的是parseXML(inStream)方法处理后的数据;
6.在parseXML(inStream)方法中实现对xml的解析,可以用常用的3种解析技术进行解析。以pull技术为例说明:
public List<New> parseXML(InputStream inStream) throws Exception{
XmlPullParser parser = Xml.newPullParser();
parser.setInput(inStream, "UTF-8");
int eventType = parser.getEventType();//产生第一个事件
while(eventType!=XmlPullParser.END_DOCUMENT){//只要不是文档结束事件
switch (eventType) {
case XmlPullParser.START_DOCUMENT:
break;
case XmlPullParser.START_TAG:
break;
case XmlPullParser.END_TAG:
break;
}
eventType = parser.next();
}
return mNews;
7. List集合中以HashMap对象进行存放,List<HashMap<String, Object>> data = new ArrayList<HashMap<String,Object>>();
8. 通过for循环迭代把解析后数据放入HashMap对象里
HashMap<String, Object> item = new HashMap<String, Object>();
item.put();
data.add(item);
9.创建一个适配器对象,SimpleAdapter adapter = new SimpleAdapter(Context context, List<? extends Map<String, ?>> data,int resource, String[] from, int[] to)
10.通过适配器对象把数据显示在应用列表中,setAdapter(adapter).
三. 从网络上获取JSON格式的数据的技巧和访问xml格式文件差不多
public List<New> getJSONLastVideos() throws Exception{
List<New> mNews = new ArrayList<New>();
URL url = new URL(path);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setReadTimeout(5*1000);
conn.setRequestMethod("GET");
InputStream inStream = conn.getInputStream();
byte[] data = StreamTool.readInputStream(inStream);
String json = new String(data);//把二进制数组转成字符串
JSONArray array = new JSONArray(json);//得到一个json的数组对象
//对数组对象里面的数据进行迭代
for(int i=0 ; i < array.length() ; i++){
JSONObject item = array.getJSONObject(i);//得到json对象,通过json对象获取各个属性的值
int id = item.getInt("id");
String title = item.getString("title");
int timelength = item.getInt("content");
mNews.add(new New(id, title, content));
}
return mNews;
- 网络访问技术
- 802.1x网络访问认证技术
- 微软网络访问保护 (NAP) 技术介绍
- 网络层访问权限控制技术-ACL详解
- 网络层访问权限控制技术-ACL详解
- ceph存储 网络层访问权限控制技术-acl(访问控制列表)
- 网络访问
- 当前GIS访问网络数据库中若干技术新问题的探索
- 网络层访问权限控制技术-ACL详解 (1)
- 网络层访问权限控制技术-ACL详解 (2)
- 网络层访问权限控制技术-ACL详解 (3)
- 百万级访问网站前期的技术准备(网络转贴)
- 安卓单页面多种状态切换(使用了Fragment技术,包含正常页面,网络访问失败页面和网络访问成功页面)
- 数据访问技术
- 数据访问技术路线图
- 数据访问技术
- 数据访问技术路线图
- 数据访问技术(总结)
- paip.提升安全性--------用户密码控件方案总结
- imageICK
- 关于php学习笔记五
- android 从应用程序连接到市场代码
- 深度探讨 PHP 之性能
- 网络访问技术
- 安装subversion
- ic设计行业
- poj 1724 SPFA
- extern C
- paip.提升用户体验----- 密码控件的使用
- Ic设计 网站大全
- UltraEdit 几个方法
- MongoDB开发学习(1)开天辟地,经典入门