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

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应用至关重要。在实际项目中,开发者可以根据需求扩展`HttpUtil`,增加更多的网络请求方法,如PUT、...

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

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

    Android通过URL获取网络资源.doc

    Android 通过 URL 获取网络资源是指 Android 应用程序通过 URL 访问网络资源的过程。这个过程需要在 AndroidManifest.xml 文件中加入访问因特网服务的权限,否则将出现 permission denied 的异常。 首先,我们需要...

    Android使用HttpURLConnection访问网络

    以上就是使用HttpURLConnection在Android应用中访问网络的基本步骤和关键知识点,开发者可以根据实际需求进行调整和扩展,实现更复杂的功能,如上传文件、处理Cookie等。在实际项目中,还可以考虑使用第三方库,如...

    android安卓通过url获取网络图片并显示在imageview中

    总结,通过URL获取网络图片并在Android应用中显示,主要涉及以下几个知识点: 1. 添加第三方库Glide及其依赖。 2. 配置AndroidManifest.xml以允许网络访问。 3. 使用Glide的API加载图片到ImageView。 4. 可选地,...

    android访问网络例程

    在Android平台上,访问网络是一项常见的任务,涉及到许多关键知识点。标题"android访问网络例程"表明我们将探讨如何在Android应用中实现网络通信。描述提到这是一个"可以独立编译的android访问网络的源码",意味着...

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

    "Android 使用 URL 读取网络资源的方法" Android 使用 URL 读取网络资源的方法是 Android 开发中的一种常见的网络资源获取方式。在 Android 中,使用 URL 读取网络资源可以通过 URL 类来实现。URL(Uniform ...

    android使用TCP和URL进行网络编程

    本篇将详细阐述如何在Android中利用TCP和URL实现网络交互。 首先,TCP是一种面向连接的、可靠的传输层协议。它通过三次握手建立连接,并确保数据包按顺序到达,且无丢失或重复。在Android中,我们可以使用Java的`...

    Android实现网络访问

    本篇将详细探讨Android网络访问的基础知识,包括API选择、请求处理、数据解析以及注意事项。 1. **网络访问API选择**:Android提供了多种方式进行网络访问,如HttpURLConnection、HttpClient(已被弃用)、Volley库...

    android获取网络资源

    在Android平台上,获取网络资源是开发过程中不可或缺的一部分。这涵盖了从加载网页到下载图片、音频、视频等各类数据。在本篇文章中,我们将深入探讨如何在Android应用中实现这一功能,主要关注如何获取网络上的图像...

    Android使用HttpClient和HttpsUrlConnection两种方式访问https网站

    在Android开发中,与服务器进行通信是不可或缺的一部分,特别是对于HTTPS协议,它为网络通信提供了安全性和隐私保护。本文将详细介绍如何使用`HttpClient`和`HttpsURLConnection`两种方式来访问HTTPS网站,包括验证...

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

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

    android 访问网络图片

    Android提供了多种方式来访问网络资源,如`HttpURLConnection`、`HttpClient`(已废弃)以及第三方库如`Volley`、`Retrofit`等。对于简单的图片加载,我们通常使用`HttpURLConnection`或`OkHttp`,因为它们简单易用...

    android4.4访问网络上的图片

    在Android开发中,访问网络资源是一项基础且重要的任务,特别是在处理图像时。随着Android系统版本的更新,为了提供更好的用户体验和防止主线程阻塞,网络访问操作被要求必须在后台线程进行。针对"android4.4访问...

    android获取网络资源demo

    总的来说,“android获取网络资源demo”涉及的关键技术包括URL的构造、HttpURLConnection的使用、网络权限的声明以及异步处理网络请求。这些知识构成了Android应用与服务器交互的基础,是每个Android开发者都应掌握...

    Android httpUrlConnection Post方式访问网络简单demo

    在这个"Android httpUrlConnection Post方式访问网络简单demo"中,我们将探讨如何使用`HttpURLConnection`进行POST请求以及与PHP服务器端进行数据交互。 首先,`testPost.php`是服务器端的PHP脚本,它接收客户端...

    从android客户端传一个文件到服务端【使用httpurl】

    确保URL是可访问且服务器支持文件上传的。 ```java String serverUrl = "http://yourserver.com/upload"; String filePath = "/sdcard/yourfile.ext"; ``` 步骤2:创建HTTP连接 使用`URL`类解析服务器URL,并通过`...

    android MediaPlayer播放视频网络URL,asset目录下文件,本地视频文件

    在本教程中,我们将深入探讨如何使用`MediaPlayer`播放网络URL、Asset目录下的文件以及本地视频文件。 一、播放网络URL视频 1. 首先,我们需要获取到网络视频的URL。这通常是一个HTTP或HTTPS链接,例如:`...

    Android Studio开发显示网络图片

    8. **考虑权限问题**:在Android 6.0及以上版本,需要在运行时申请INTERNET权限,确保应用能够正常访问网络。 通过以上步骤,你可以基本实现Android Studio中网络图片的加载和显示。然而,对于初学者来说,理解并...

    Android网络处理

    2. **URL和URI**:URL(统一资源定位符)用于定位网络资源,包括协议、主机地址、路径等;URI(统一资源标识符)更抽象,可以用来标识任何资源,不仅仅是网络资源。 3. **URLConnection和HttpClient**:早期的...

Global site tag (gtag.js) - Google Analytics