您的位置:首页 > 理论基础 > 计算机网络

通过URL获取网络资源

2014-03-10 14:33 603 查看
主类:

[java]
view plaincopyprint?

package com.ken.getUrl; //声明包语句

import java.io.BufferedInputStream;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;

import org.apache.http.util.ByteArrayBuffer;
import org.apache.http.util.EncodingUtils;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
public class Get_URL extends Activity {
String stringURL = "http://192.168.1.100:8080/MyUrlSample/msg.txt";
String bitmapURL = "http://192.168.1.10:8080/MyUrlSample/pic.png";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btn = (Button)findViewById(R.id.btn); //获得Button控件对象

btn.setOnClickListener(new OnClickListener() {

public void onClick(View v) {
// TODO Auto-generated method stub

getStringURLResources(); //获得字符串资源

getBitmapURLResources(); //获得图片资源

}

});
}
//方法,根据指定URL字符串获取网络资源
public void getStringURLResources(){
try{
URL myUrl = new URL(stringURL);
URLConnection myConn = myUrl.openConnection(); //打开连接

InputStream in = myConn.getInputStream(); //获取输入流

BufferedInputStream bis = new BufferedInputStream(in);//获取BufferedInputStream对象

ByteArrayBuffer baf = new ByteArrayBuffer(bis.available());
int data = 0;
while((data = bis.read())!= -1){ //读取BufferedInputStream中数据

baf.append((byte)data); //将数据读取到ByteArrayBuffer中

}
String msg = EncodingUtils.getString(baf.toByteArray(), "UTF-8"); //转换为字符串

EditText et = (EditText)findViewById(R.id.et); //获得EditText对象

et.setText(msg); //设置EditText控件中的内容

}
catch(Exception e){
e.printStackTrace();
}
}
public void getBitmapURLResources(){
try{
URL myUrl = new URL(bitmapURL); //创建URL对象

URLConnection myConn = myUrl.openConnection(); //打开连接

InputStream in = myConn.getInputStream(); //获得InputStream对象

Bitmap bmp = BitmapFactory.decodeStream(in); //创建Bitmap

ImageView iv = (ImageView)findViewById(R.id.iv); //获得ImageView对象

iv.setImageBitmap(bmp); //设置ImageView显示的内容

}
catch(Exception e){
e.printStackTrace();
}
}
}

package com.ken.getUrl;			//声明包语句
import java.io.BufferedInputStream;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;

import org.apache.http.util.ByteArrayBuffer;
import org.apache.http.util.EncodingUtils;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
public class Get_URL extends Activity {
String stringURL = "http://192.168.1.100:8080/MyUrlSample/msg.txt";
String bitmapURL = "http://192.168.1.10:8080/MyUrlSample/pic.png";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btn = (Button)findViewById(R.id.btn);		//获得Button控件对象
btn.setOnClickListener(new OnClickListener() {

public void onClick(View v) {
// TODO Auto-generated method stub
getStringURLResources();		//获得字符串资源
getBitmapURLResources();		//获得图片资源
}

});
}
//方法,根据指定URL字符串获取网络资源
public void getStringURLResources(){
try{
URL myUrl = new URL(stringURL);
URLConnection myConn = myUrl.openConnection();	//打开连接
InputStream in = myConn.getInputStream();		//获取输入流
BufferedInputStream bis = new BufferedInputStream(in);//获取BufferedInputStream对象
ByteArrayBuffer baf = new ByteArrayBuffer(bis.available());
int data = 0;
while((data = bis.read())!= -1){		//读取BufferedInputStream中数据
baf.append((byte)data);				//将数据读取到ByteArrayBuffer中
}
String msg = EncodingUtils.getString(baf.toByteArray(), "UTF-8");	//转换为字符串
EditText et = (EditText)findViewById(R.id.et);		//获得EditText对象
et.setText(msg);						//设置EditText控件中的内容
}
catch(Exception e){
e.printStackTrace();
}
}
public void getBitmapURLResources(){
try{
URL myUrl = new URL(bitmapURL);	//创建URL对象
URLConnection myConn = myUrl.openConnection();			//打开连接
InputStream in = myConn.getInputStream();			//获得InputStream对象
Bitmap bmp = BitmapFactory.decodeStream(in);		//创建Bitmap
ImageView iv = (ImageView)findViewById(R.id.iv);	//获得ImageView对象
iv.setImageBitmap(bmp);					//设置ImageView显示的内容
}
catch(Exception e){
e.printStackTrace();
}
}
}


man.xml

[html]
view plaincopyprint?

<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 声明一个线性布局 -->
<EditText
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:layout_gravity="center_horizontal"
android:cursorVisible="false"
android:editable="false"
android:id="@+id/et"/>
<!-- 声明一个EditText控件 -->
<ImageView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_gravity="center_horizontal"
android:id="@+id/iv"/>
<!-- 声明一个ImageView控件 -->

<Button
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:layout_gravity="center_horizontal"
android:id="@+id/btn"
android:text="@string/btn"/>
<!-- 声明一个Button控件 -->
</LinearLayout>

转发:/article/10528786.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: