android:URL网络下载图片问题,,源代码已经有权限了 电脑也有网络为啥就是在ImageView中显示不出来呢?
packagecom.example.urltext;importjava.io.InputStream;importjava.io.OutputStream;impor...
package com.example.urltext;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.MalformedURLException;
import java.net.URL;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.widget.ImageView;
public class MainActivity extends Activity {
// 声明此控件
private ImageView show;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 通过findview找到控件
show = (ImageView) findViewById(R.id.show);
try {
// 这是个图片的地址
URL url = new URL(
"http://d.hiphotos.baidu.com/image/pic/item/d8f9d72a6059252d0f185c8c369b033b5bb5b92f.jpg");
// 打开此URL对应的资源的输入流
InputStream is = url.openStream();
// 解析该图片
Bitmap bitmap = BitmapFactory.decodeStream(is);
// 在ImageView显示该图片
show.setImageBitmap(bitmap);
// 关闭输入流
is.close();
// 再次打开URL对应的资源输入流
is = url.openStream();
// 打开手机文件对应的输出流,设置输出的名字以及模式
OutputStream os = openFileOutput("beautful.jpg",
MODE_WORLD_READABLE);
// 创建一个byte数组用来、
byte[] buff = new byte[1024];
// 用于存放实际读取的字节数
int hasRead = 0;
// 循环取出
while ((hasRead = is.read(buff)) > 0) {
// 讲读出来的字节数写到os当中去
os.write(buff, 0, hasRead);
}
// 关闭
is.close();
os.close();
} catch (Exception e) {
e.printStackTrace();
}
}
} 展开
import java.io.InputStream;
import java.io.OutputStream;
import java.net.MalformedURLException;
import java.net.URL;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.widget.ImageView;
public class MainActivity extends Activity {
// 声明此控件
private ImageView show;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 通过findview找到控件
show = (ImageView) findViewById(R.id.show);
try {
// 这是个图片的地址
URL url = new URL(
"http://d.hiphotos.baidu.com/image/pic/item/d8f9d72a6059252d0f185c8c369b033b5bb5b92f.jpg");
// 打开此URL对应的资源的输入流
InputStream is = url.openStream();
// 解析该图片
Bitmap bitmap = BitmapFactory.decodeStream(is);
// 在ImageView显示该图片
show.setImageBitmap(bitmap);
// 关闭输入流
is.close();
// 再次打开URL对应的资源输入流
is = url.openStream();
// 打开手机文件对应的输出流,设置输出的名字以及模式
OutputStream os = openFileOutput("beautful.jpg",
MODE_WORLD_READABLE);
// 创建一个byte数组用来、
byte[] buff = new byte[1024];
// 用于存放实际读取的字节数
int hasRead = 0;
// 循环取出
while ((hasRead = is.read(buff)) > 0) {
// 讲读出来的字节数写到os当中去
os.write(buff, 0, hasRead);
}
// 关闭
is.close();
os.close();
} catch (Exception e) {
e.printStackTrace();
}
}
} 展开
展开全部
因为你获取图片的时候访问网络了
而android4.0之后 访问网络智能在非主线程中使用,,
难道你这么写没报错吗?
而android4.0之后 访问网络智能在非主线程中使用,,
难道你这么写没报错吗?
追问
要怎么样才能不在主线程运行啊??
追答
启动一个新线程试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
Storm代理
2023-07-25 广告
2023-07-25 广告
StormProxies是一家可靠的代理服务提供商,提供原生IP(住宅原生IP)和高匿名代理服务。以下是关于StormProxies的原生IP服务的一些信息:1. 住宅原生IP:StormProxies提供的住宅原生IP是指从真实的家庭或企...
点击进入详情页
本回答由Storm代理提供
展开全部
白狐你健康,看,看,看,级合格后方哈哈哈哈帮黄家驹
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询