通过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();
}
}
};
分享到:
相关推荐
Android通过URL访问网络资源的工具包
URL(Uniform Resource Locator)是统一资源定位器,它是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的...
xml布局构思 总体是垂直线性布局 主要放了1个ImageView图片和3个Button按钮 图片尽量放大看的清楚,按钮可以小 AndroidManifest.xml ... 原创文章 19获赞 55访问量 4758 关注 私信 展开阅读全文 作者:时光踏路
URL(Uniform Resource Locator)是统一资源定位器,它是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的...
一个通过url访问http的资源的demo
二、 使用URL访问网络资源 21 三、 使用HTTP访问网络 22 四、 使用WebView显示网页 28 第四章:管理Android系统桌面 31 一、 管理壁纸 31 二、 管理快捷方式 33 三、 管理桌面控件 34 第五章:传感器开发 37 一、 ...
Android中的互联网应用,讲述了Android中的各种网络应用,包括Socket、URL、HTTP、Web Service和WebView组件 第14章 Android中的GPS应用 Android中的GPS应用,讲述了LocationManager、LocationProvider、跟踪、...
第10章、Service与... 13.2、使用URL访问网络资源:URL; URLConnection; 13.3、使用HTTP访问网络:HttpURLConnection; HttpClient; 13.4、使用WebView视图显示网页: 13.5、使用WebService进行网络编程:
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 ...
13.2、使用URL访问网络资源:URL; URLConnection; 13.3、使用HTTP访问网络:HttpURLConnection; HttpClient; 13.4、使用WebView视图显示网页: 13.5、使用WebService进行网络编程: 第14章、管理Android手机桌面...
13.2、使用URL访问网络资源:URL; URLConnection; 13.3、使用HTTP访问网络:HttpURLConnection; HttpClient; 13.4、使用WebView视图显示网页: 13.5、使用WebService进行网络编程: 第14章、管理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 ...
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 使用...
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 使用...
8.6 即时访问网络图文件展示——HttpURLConnection 8.7 手机气象局,实时卫星云图——HttpURLConnection与URLConnection和运行线程 8.8 通过网络播放MP3——Runnable存储FileOutputStream技巧 8.9 设置远程下载音乐为...
8.6 即时访问网络图文件展示——HttpURLConnection 8.7 手机气象局,实时卫星云图——HttpURLConnection与URLConnection和运行线程 8.8 通过网络播放MP3——Runnable存储FileOutputStream技巧 8.9 设置远程下载音乐为...
8.6 即时访问网络图文件展示——HttpURLConnection 8.7 手机气象局,实时卫星云图——HttpURLConnection与URLConnection和运行线程 8.8 通过网络播放MP3——Runnable存储FileOutputStream技巧 8.9 设置远程下载音乐为...