网络请求图片
来源:互联网 发布:新疆卫生系统网络直报 编辑:程序博客网 时间:2024/06/06 03:54
package com.example.unti2_getpic_get_demo;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.ImageView;
public class MainActivity extends Activity {
private ImageView img;
private Handler myHandler=new Handler(){
public void handleMessage(android.os.Message msg) {
//显示
img.setImageBitmap((Bitmap)msg.obj);
};
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
img = (ImageView) findViewById(R.id.img);
}
public void getNetPic(View v){
// Caused by: android.os.NetworkOnMainThreadException
//sdd 3.0 在主线程中直接请求访问网络中的数据 3.0之后,访问网络时必须开启子线程
//
new Thread(){
public void run() {
requestNetPic();
};
}.start();
}
private void requestNetPic() {
String picPath="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1506490888125&di=85752f75bcb1c8d612c2acb63021c1c7&imgtype=0&src=http%3A%2F%2Fpic25.photophoto.cn%2F20121216%2F0010023972522363_b.jpg";
try {
//1.根据路径创建出一个url对象
URL url=new URL(picPath);
//2.打开连接HttpURLConnection extends URLConnection 遵循http协议
HttpURLConnection openConnection = (HttpURLConnection) url.openConnection();
//3.设置
openConnection.setRequestMethod("GET");//get 是默认的请求方式
openConnection.setConnectTimeout(3000);//设置连接服务器的超时时间
openConnection.setReadTimeout(3000);//设置读取内容的超时时间
//4.得到返回的状态码
int responseCode = openConnection.getResponseCode();
//进行判断
if(responseCode==200){//请求成功
//5.拿到服务器返回的数据 以字节流的返回
InputStream inputStream = openConnection.getInputStream();
Log.d("zzz", inputStream.toString());
//将流转换成bitmap对象
Bitmap bitmap=BitmapFactory.decodeStream(inputStream);
//发送数据
Message msg=Message.obtain();
msg.obj=bitmap;
myHandler.sendMessage(msg);
}
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.ImageView;
public class MainActivity extends Activity {
private ImageView img;
private Handler myHandler=new Handler(){
public void handleMessage(android.os.Message msg) {
//显示
img.setImageBitmap((Bitmap)msg.obj);
};
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
img = (ImageView) findViewById(R.id.img);
}
public void getNetPic(View v){
// Caused by: android.os.NetworkOnMainThreadException
//sdd 3.0 在主线程中直接请求访问网络中的数据 3.0之后,访问网络时必须开启子线程
//
new Thread(){
public void run() {
requestNetPic();
};
}.start();
}
private void requestNetPic() {
String picPath="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1506490888125&di=85752f75bcb1c8d612c2acb63021c1c7&imgtype=0&src=http%3A%2F%2Fpic25.photophoto.cn%2F20121216%2F0010023972522363_b.jpg";
try {
//1.根据路径创建出一个url对象
URL url=new URL(picPath);
//2.打开连接HttpURLConnection extends URLConnection 遵循http协议
HttpURLConnection openConnection = (HttpURLConnection) url.openConnection();
//3.设置
openConnection.setRequestMethod("GET");//get 是默认的请求方式
openConnection.setConnectTimeout(3000);//设置连接服务器的超时时间
openConnection.setReadTimeout(3000);//设置读取内容的超时时间
//4.得到返回的状态码
int responseCode = openConnection.getResponseCode();
//进行判断
if(responseCode==200){//请求成功
//5.拿到服务器返回的数据 以字节流的返回
InputStream inputStream = openConnection.getInputStream();
Log.d("zzz", inputStream.toString());
//将流转换成bitmap对象
Bitmap bitmap=BitmapFactory.decodeStream(inputStream);
//发送数据
Message msg=Message.obtain();
msg.obj=bitmap;
myHandler.sendMessage(msg);
}
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
阅读全文
0 0
- 网络请求图片 SDWebImage
- 网络请求生成图片
- 网络请求图片 SDWebImage
- 网络请求图片
- 请求网络下载图片
- volley请求网络图片
- 网络请求图片
- 网络请求图片
- 网络请求图片缓存
- 网络请求图片
- 网络请求图片ImageLoader
- 读书笔记:请求网络的图片
- http 网络请求 下载图片
- 网络异步请求图片加载
- HttpImage(网络请求图片)
- ImgeLoader网络请求图片数字。
- 图片框架异步请求网络图片
- 03网络请求_02_Volley_2_加载网络图片
- Unity AssetBundle爬坑手记
- 欢迎使用CSDN-markdown编辑器
- Json转Markdown表格代码实现
- Spring 源码解析之HandlerAdapter源码解析(二)
- hadoop 2.7.2 yarn中文文档—— Capacity Scheduler
- 网络请求图片
- 常见的负载均衡算法
- 第二阶段
- 二叉树遍历
- 欧拉角与万向节死锁
- 关于a标签包裹input后,输入input的值无法鼠标拖拽选中
- input输入框设置边框大小边框颜色
- 湖南大学计算机科学与技术大二实训综合作业
- stl中map的四种插入方法总结