利用HTTP从网络下载图片并显示
利用Http从指定地址下载图片并显示出来
/***简单的封装一个http下载类**/publicclassHttpUtils{//指定一张图片privateStringURL_PATH="http://img.wangxiao.cn/files/RemoteFiles/20140420/095185001.jpg";publicHttpUtils(){}//返回一个byte类型的数组publicbyte[]getData(){HttpClienthttpClient=newDefaultHttpClient();HttpGethttpGet=newHttpGet(URL_PATH);HttpResponsehttpResponse=null;try{httpResponse=httpClient.execute(httpGet);if(httpResponse.getStatusLine().getStatusCode()==200){byte[]data=EntityUtils.toByteArray(httpResponse.getEntity());returndata;}}catch(Exceptione){e.printStackTrace();}returnnull;}}
//用于调用的avtivitypublicclassMainActivityextendsActivity{privateButtonbtnDown;privateImageViewimg;privateProgressDialogdialog;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);btnDown=(Button)findViewById(R.id.button1);img=(ImageView)findViewById(R.id.p_w_picpathView1);dialog=newProgressDialog(this);dialog.setTitle("提示信息");dialog.setMessage("正在下载中,请稍后...");dialog.setCancelable(false);btnDown.setOnClickListener(newView.OnClickListener(){@OverridepublicvoidonClick(Viewv){newThread(mRunnable).start();dialog.show();}});}privateRunnablemRunnable=newRunnable(){@Overridepublicvoidrun(){//TODOAuto-generatedmethodstubbyte[]data=newHttpUtils().getData();Messagemsg=Message.obtain();msg.obj=data;msg.what=0x001;handler.sendMessage(msg);}};privateHandlerhandler=newHandler(){//在Handler中获取消息,重写handleMessage()方法@OverridepublicvoidhandleMessage(Messagemsg){//判断消息码是否为0x001if(msg.what==0x001){byte[]data=(byte[])msg.obj;Bitmapbmp=BitmapFactory.decodeByteArray(data,0,data.length);img.setImageBitmap(bmp);dialog.dismiss();}}};}
//布局.xml很简单只有两个控件<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context=".MainActivity"><Buttonandroid:id="@+id/button1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentBottom="true"android:layout_centerHorizontal="true"android:layout_marginBottom="54dp"android:text="下载"/><ImageViewandroid:id="@+id/p_w_picpathView1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentTop="true"android:layout_centerHorizontal="true"android:layout_marginTop="79dp"android:src="@drawable/ic_launcher"/></RelativeLayout>
//最后manifest中别忘了网络权限<uses-permissionandroid:name="android.permission.INTERNET"/>
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。