android网络编程

来源:互联网 发布:广电局禁止网络机顶盒 编辑:程序博客网 时间:2024/06/12 00:40

网络编程涉及的内容有:文本,图片,音频,视频。

网络编程的步骤:

1.创建url对象,打开一个HTTP类型的链接;

2.设置连接的请求参数,请求方式,链接的超时时间;

3.判断响应码是否为200,然后接收服务器端返回的二进制输入流;

4.在清单文件中添加访问网络的权限


package cn.itcast.viewpic;


import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;


import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;


public class MainActivity extends Activity {


private EditText et_path;
private ImageView iv;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);


// 初始化控件
et_path = (EditText) findViewById(R.id.et_path);
iv = (ImageView) findViewById(R.id.iv);
}


public void viewPic(View view) {
// 根据图片的地址访问网络,获得图片的数据,显示在客户端上


// 得到用户输入的图片url
String path = et_path.getText().toString().trim();


if (TextUtils.isEmpty(path)) {
Toast.makeText(this, "请输入图片的网络地址", 0).show();
return;
} else {
try {
// 访问网络,获得图片的数据,显示在客户端上
// 1.创建url对象,打开一个HTTP类型的连接;
URL url = new URL(path);
HttpURLConnection conn =  (HttpURLConnection) url.openConnection();

// 2.设置连接的请求参数:请求方式GET,必须大写,连接的超时时间;
conn.setRequestMethod("GET");
conn.setConnectTimeout(3000);

// 3.判断响应码是否为200,然后接收服务器端返回的二进制输入流;
int code = conn.getResponseCode();
if(code == 200){
// 接收服务器端返回的二进制输入流
InputStream is = conn.getInputStream();

// 把is转换成图片对象,显示在imageView上
// decodeStream方法是把输入流转成一个图片对象.Bitmap位图:android中图片对象
Bitmap bm = BitmapFactory.decodeStream(is);
// 显示在imageView上
iv.setImageBitmap(bm);
}
} catch (Exception e) {
e.printStackTrace();
}
}


}


}