package com.zook;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import android.app.Activity;
import android.app.ProgressDialog;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.ProgressBar;
public class main extends Activity implements OnClickListener{
private static final String params="http://upload.wikimedia.org/wikipedia/commons/thumb/e/ea/Hukou_Waterfall.jpg/800px-Hukou_Waterfall.jpg";
private Button btnFirst,btnSecond,btnThree;
private ProgressBar progress;
private FrameLayout frameLayout;
private Bitmap bitmap=null;
ProgressDialog dialog=null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btnFirst=(Button)this.findViewById(R.id.btnFirst);
btnSecond=(Button)this.findViewById(R.id.btnSecond);
btnThree=(Button)this.findViewById(R.id.btnThree);
progress=(ProgressBar)this.findViewById(R.id.progress);
progress.setVisibility(View.GONE);
frameLayout=(FrameLayout)this.findViewById(R.id.frameLayout);
btnFirst.setOnClickListener(this);
btnSecond.setOnClickListener(this);
btnThree.setOnClickListener(this);
}
//前台ui线程在显示ProgressDialog,
//后台线程在下载数据,数据下载完毕,关闭进度框
@Override
public void onClick(View view) {
switch(view.getId()){
case R.id.btnFirst:
System.out.println("open");
dialog = ProgressDialog.show(this, "",
"下载数据,请稍等 …", true, true);
//启动一个后台线程
handler.post(new Runnable(){
@Override
public void run() {
//这里下载数据
try{
URL url = new URL(params);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setDoInput(true);
conn.connect();
InputStream inputStream=conn.getInputStream();
bitmap = BitmapFactory.decodeStream(inputStream);
Message msg=new Message();
msg.what=1;
System.out.println("11111111111111");
handler.sendMessage(msg);
} catch (MalformedURLException e1) {
e1.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
break;
case R.id.btnSecond:
MyASyncTask yncTask=new MyASyncTask(this,frameLayout);
yncTask.execute(params);
break;
case R.id.btnThree:
System.out.println("start");
progress.setVisibility(View.VISIBLE);
final Handler newhandler=new Handler();
ExecutorService executorService=Executors.newFixedThreadPool(1);
// executorService.execute(command)
executorService.execute(new Runnable(){
@Override
public void run() {
try {
URL newurl = new URL(params);
HttpURLConnection conn = (HttpURLConnection)newurl.openConnection();
conn.setDoInput(true);
conn.connect();
InputStream inputStream=conn.getInputStream();
bitmap = BitmapFactory.decodeStream(inputStream);
newhandler.post(new Runnable(){
@Override
public void run() {
ImageView view=(ImageView)frameLayout.findViewById(R.id.image);
view.setImageBitmap(bitmap);
}
});
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
});
progress.setVisibility(View.GONE);
break;
}
}
/**这里重写handleMessage方法,接受到子线程数据后更新UI**/
private Handler handler=new Handler(){
@Override
public void handleMessage(Message msg){
switch(msg.what){
case 1:
//关闭
ImageView view=(ImageView)frameLayout.findViewById(R.id.image);
view.setImageBitmap(bitmap);
System.out.println("close");
dialog.dismiss();
break;
}
}
};
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
ZookImageTest.rar (28个子文件)
ZookImageTest
.project 849B
default.properties 362B
bin
com
zook
R$string.class 397B
R$layout.class 364B
MyASyncTask.class 2KB
R$drawable.class 370B
R.class 461B
main.class 3KB
main$3$1.class 987B
main$1.class 1KB
main$2.class 2KB
R$attr.class 310B
main$3.class 2KB
R$id.class 517B
ZookImageTest.apk 16KB
resources.ap_ 11KB
classes.dex 8KB
proguard.cfg 1KB
AndroidManifest.xml 733B
src
com
zook
main.java 5KB
MyASyncTask.java 2KB
res
values
strings.xml 168B
layout
main.xml 1KB
drawable-ldpi
icon.png 2KB
drawable-hdpi
icon.png 4KB
drawable-mdpi
icon.png 3KB
.classpath 280B
gen
com
zook
R.java 998B
assets
共 28 条
- 1
资源评论
- blog_zlgg2019-04-16111111没有存在本地吧
- fan-wm2014-06-11没有问题,解决啦版本不同获取网络图片的问题,谢谢
- sx80502014-12-24很不好,一点不是想要的,这样的例子传上去居然还要分
- luoyajing2012-11-28不能下載圖片
warzook
- 粉丝: 0
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功