实例:使用url从服务器端下载图片

核心代码:

packagecom.example.xiaocool.urltest;importandroid.graphics.Bitmap;importandroid.graphics.BitmapFactory;importandroid.os.Handler;importandroid.os.Message;importandroid.support.v7.app.ActionBarActivity;importandroid.os.Bundle;importandroid.view.Menu;importandroid.view.MenuItem;importandroid.widget.ImageView;importjava.io.InputStream;importjava.io.OutputStream;importjava.net.URL;publicclassMainActivityextendsActionBarActivity{/***使用URL访问网络资源*@paramsavedInstanceState*/privateImageViewshow;//代表从网络上下载得到的图片privateBitmapbitmap;Handlerhandler=newHandler(){@OverridepublicvoidhandleMessage(Messagemsg){if(msg.what==0x123){show.setImageBitmap(bitmap);}}};@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);show=(ImageView)this.findViewById(R.id.show);//耗时的操作放在辅助线程里newThread(){@Overridepublicvoidrun(){try{//定义一个url对象URLurl=newURL("http://192.168.191.1:8080/Android_Client/userhead.jpg");//打开该url对应资源的输入流InputStreamis=url.openStream();//从InputStream中解析图片bitmap=BitmapFactory.decodeStream(is);//发送消息通知UI组件显示图片handler.sendEmptyMessage(0x123);is.close();//再次打开url对应资源的输入流is=url.openStream();//打开手机文件对应的输出流OutputStreamos=openFileOutput("yu.png",MODE_WORLD_READABLE);byte[]buff=newbyte[1024];inthasRead=0;//将url对应的资源下载到本地while((hasRead=is.read(buff))>0){os.write(buff,0,hasRead);}is.close();os.close();}catch(Exceptione){e.printStackTrace();}}}.start();}}


更多相关文章

  1. android中执行线程的部分代码
  2. Android文件图片上传的详细讲解(四)---服务端编码
  3. Android实现多线程断点下载的方法
  4. android处理大图片内存溢出的简单办法
  5. android:ImageView选择本地图片并显示
  6. android获取图片和视频的缩略图
  7. Android线程池(四)ThreadPoolExecutor类源码解析
  8. Android:TextView与EditText中插入表情图片

随机推荐

  1. 如何在Linux平台下安装JDK
  2. onStartCommand 的返回值
  3. Android中cursor.getInt()返回值的坑
  4. Android待机状态更新
  5. Android(安卓)通过系统使用NotificationL
  6. Android(安卓)opencore编译问题总结
  7. Android(安卓)自定义Toast显示图片
  8. android之应用程序LED
  9. Android(安卓)2.0新增类ExifInterface使
  10. 利用UltimateAndroid快速开发(一):配置篇