Android学习--使用url访问网络资源
实例:使用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();}}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。