`
1140566087
  • 浏览: 547783 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
博客专栏
2c4ae07c-10c2-3bb0-a106-d91fe0a10f37
c/c++ 入门笔记
浏览量:18076
3161ba8d-c410-3ef9-871c-3e48524c5263
Android 学习笔记
浏览量:309525
Group-logo
J2ME 基础学习课程集
浏览量:18008
A98a97d4-eb03-3faf-af96-c7c28f709feb
Spring 学习过程记录...
浏览量:17195
社区版块
存档分类
最新评论

Android 之 使用URL访问网络资源

阅读更多
通过URL访问网络资源:
* URL对象代表统一资源定位器,它是指向互联网“资源”的指针,资源可以是简单的文件目录
也可以是更复杂的对象的引用,URL可以由协议名、主机、端口、和资源组成;

* 格式:protocal://host:port/resourceName;
例如:http://hao123.com/tiyan.html

* URL 类对象包含的一些方法:用于访问URL对应的资源:
url.getFile(); 获取此url的资源名;
url.getHost(); 获取此url的主机名;
url.getPath(); 获取此url的路径部分;
url.getPort(); 获取端口;
url.getProtocol();
openConnection(); 返回一个URLConnection对象,表示到URL所引用的远程对象连接;
openStream(); 打开此url连接,并返回一个用于读取该url资源的InputStream;

* 例如:访问网络资源上的一张图片;http://192.168.0.11:8080/s.jpg
java代码:

/* 测试:使用URL访问网络资源 */
	OnClickListener listener = new OnClickListener() {

		public void onClick(View v) {
			try{
				//http://192.168.0.11:8080/s.jpg  图片的网络地址
				String url_path = "http://192.168.0.11:8080/s.jpg";
				URL url = new URL(url_path);
				
				/* 打开URL对应的资源的输入流 */
				InputStream is = url.openStream();
				
				/* 从InputStream中解析出图片 */
				Bitmap bitmap = BitmapFactory.decodeStream(is);
				
				/* 使用ImageView显示该图片 */
				imageView.setImageBitmap(bitmap);
				
				/* 关闭流 */
				is.close();
			
				/****************************************************/
				
				/* 实现资源文件的保存 *//* 再次打开输入流 */
				is = url.openStream();
				
				/* 打开手机文件对应的输出流 *//* 参数:保存的文件名; 模式 */
				OutputStream os = openFileOutput("pic.jpg", MODE_WORLD_WRITEABLE);
				
				/* 字节数组 */
				byte[] buffer = new byte[1024];
				int hasRead = 0;
				while((hasRead=is.read(buffer))>0){
					os.write(buffer, 0, hasRead);
				}
				is.close();
				os.close();
			}catch(Exception ex){
				
			}		
		}
	};

* 使用URLConnection 提交请求:
简介:URLConnection 是个抽象类,它由一个直接的子类HttpURLConnection;
方法的介绍:URL 的openConnection()方法将返回一个URLConnection对象,该对象表示应用程序和URL之间
的通信连接,程序可以通过URLConnection实例向URL发送请求,读取URL引用的资源;
使用步骤:

* 使用HttpURLConnection 访问网络:
简介:HttpURLConnection 继承了URLConnection,因此可用于向指定的网站发送get post请求;
在URLConnection的基础上提供了如下便捷的方法;
getResponsedCode(); 获取服务器上的响应代码;
getResponseMessage(); 获取服务器相应消息;
getResponseMethod(); 获取发送请求的方法;
setResponseMethod(String method); 设置发送请求的方法;

温馨提示:get与post的介绍:
* Http 通信中使用最多的是get 和post , GET 请求可以获取静态页面,可以把参数放在url
字符串后面传递给服务器;
* 不同点:post的参数不是放在url字符串里,而是放在http请求数据中;

  案例:使用HttpURLConnection 访问网络图片:

  java代码:
/* 测试:通过HttpURLConnection 访问网络图片 */
	OnClickListener listerner_httpURLConnection = new OnClickListener() {
		
		public void onClick(View v) {	
			try{
				String path = "";	//URL 地址
				URL url = new URL(path);
				
				/* 打开连接, 获取HttpURLConnection 的对象 */
				HttpURLConnection conn = (HttpURLConnection) url.openConnection();
				
				/* 设置请求方式 */
				conn.setRequestMethod("get");
				
				/* 设置请求超时的时间 */
				conn.setReadTimeout(5000);
				
				/* 打开流,获取通道 *//* 可读流,从网络上将资源读取到内存中 */
				InputStream is = conn.getInputStream();
				
				/* 创建一个字节数据输出流;可写流 */
				ByteArrayOutputStream baos = new ByteArrayOutputStream();
				
				/* 创建一个字节数组 */
				byte[] buffer = new byte[1024];
				int len=0;
				
				/* 每次读取数据1024个字节,直到没有数据可读时==-1 */
				while((len=is.read(buffer))!=-1 ){
					/* 将每次读取到的输入按指定大小写入输出流中 */
					baos.write(buffer,0,len);
				}
				byte[] data = baos.toByteArray();
				Bitmap bitmap = BitmapFactory.decodeByteArray(buffer, 0, data.length);
				imageView.setImageBitmap(bitmap);
				
				
				
			}catch(Exception ex){
				Toast.makeText(MainActivity.this, "图片下载失败", 1000).show();
			}
			
		}
	};




2
0
分享到:
评论
2 楼 泥沙爬虫 2014-02-17  
    
1 楼 happmaoo 2013-06-11  
   

相关推荐

    Android通过URL访问网络资源工具包

    Android通过URL访问网络资源的工具包

    Android移动开发-使用URL读取网络资源的实现

    URL(Uniform Resource Locator)是统一资源定位器,它是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的...

    安卓开发入门基础之简单使用URL访问网络资源

    xml布局构思 总体是垂直线性布局 主要放了1个ImageView图片和3个Button按钮 图片尽量放大看的清楚,按钮可以小 AndroidManifest.xml ... 原创文章 19获赞 55访问量 4758 关注 私信 展开阅读全文 作者:时光踏路

    Android使用URL读取网络资源的方法

    URL(Uniform Resource Locator)是统一资源定位器,它是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的...

    android获取网络资源demo

    一个通过url访问http的资源的demo

    android(下)复习总结

    二、 使用URL访问网络资源 21 三、 使用HTTP访问网络 22 四、 使用WebView显示网页 28 第四章:管理Android系统桌面 31 一、 管理壁纸 31 二、 管理快捷方式 33 三、 管理桌面控件 34 第五章:传感器开发 37 一、 ...

    Android应用开发详解

    Android中的互联网应用,讲述了Android中的各种网络应用,包括Socket、URL、HTTP、Web Service和WebView组件 第14章 Android中的GPS应用 Android中的GPS应用,讲述了LocationManager、LocationProvider、跟踪、...

    疯狂Android讲义(第2版)源代码 第10章~第13章

    第10章、Service与... 13.2、使用URL访问网络资源:URL; URLConnection; 13.3、使用HTTP访问网络:HttpURLConnection; HttpClient; 13.4、使用WebView视图显示网页: 13.5、使用WebService进行网络编程:

    疯狂Android讲义源码

     13.2 使用URL访问网络资源 488  13.2.1 使用URL读取网络资源 489  13.2.2 使用URLConnection  提交请求 490  13.3 使用HTTP访问网络 496  13.3.1 使用HttpURLConnection 496  13.3.2 使用Apache HttpClient ...

    疯狂Android讲义(第2版)源代码 第6章~第9章

    13.2、使用URL访问网络资源:URL; URLConnection; 13.3、使用HTTP访问网络:HttpURLConnection; HttpClient; 13.4、使用WebView视图显示网页: 13.5、使用WebService进行网络编程: 第14章、管理Android手机桌面...

    Android实例代码

    13.2、使用URL访问网络资源:URL; URLConnection; 13.3、使用HTTP访问网络:HttpURLConnection; HttpClient; 13.4、使用WebView视图显示网页: 13.5、使用WebService进行网络编程: 第14章、管理Android手机桌面...

    Android开发案例驱动教程 配套代码

    3.3 使用Android SDK帮助 23 3.3.1 Android SDK API文档 23 3.3.2 Android SDK开发指南 24 3.3.3 Android SDK samples 24 3.4 使用DDMS帮助调试程序 26 3.4.1 启动DDMS 26 3.4.2 Device 28 3.4.3 Emulator ...

    疯狂Android讲义.part2

    13.2 使用URL访问网络资源 489 13.2.1 使用URL读取网络资源 489 13.2.2 使用URLConnection提交 请求 491 13.3 使用HTTP访问网络 496 13.3.1 使用HttpURLConnection 496 13.3.2 使用Apache HttpClient 501 13.4 使用...

    疯狂Android讲义.part1

    13.2 使用URL访问网络资源 489 13.2.1 使用URL读取网络资源 489 13.2.2 使用URLConnection提交 请求 491 13.3 使用HTTP访问网络 496 13.3.1 使用HttpURLConnection 496 13.3.2 使用Apache HttpClient 501 13.4 使用...

    Google Android SDK开发范例大全(PDF高清完整版1)(4-1)

    8.6 即时访问网络图文件展示——HttpURLConnection 8.7 手机气象局,实时卫星云图——HttpURLConnection与URLConnection和运行线程 8.8 通过网络播放MP3——Runnable存储FileOutputStream技巧 8.9 设置远程下载音乐为...

    Google Android SDK开发范例大全(PDF完整版4)(4-4)

    8.6 即时访问网络图文件展示——HttpURLConnection 8.7 手机气象局,实时卫星云图——HttpURLConnection与URLConnection和运行线程 8.8 通过网络播放MP3——Runnable存储FileOutputStream技巧 8.9 设置远程下载音乐为...

    Google Android SDK开发范例大全(PDF高清完整版3)(4-3)

    8.6 即时访问网络图文件展示——HttpURLConnection 8.7 手机气象局,实时卫星云图——HttpURLConnection与URLConnection和运行线程 8.8 通过网络播放MP3——Runnable存储FileOutputStream技巧 8.9 设置远程下载音乐为...

Global site tag (gtag.js) - Google Analytics