网络图片查看

来源:互联网 发布:php数组删除重复值 编辑:程序博客网 时间:2024/06/04 17:53

效果图:

 

MainActivity代码:

public class MainActivity extends Activity {private EditText etUrl;private ImageView ivNetImage;private  final int SHOWIMAGE=0;private Handler handler=new Handler(){public void handleMessage(Message msg){//对接收到的新消息进行处理switch(msg.what){case SHOWIMAGE:Bitmap bitmap=(Bitmap)msg.obj;ivNetImage.setImageBitmap(bitmap);break;default:break;}};};//private void @Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initView();}@SuppressLint("CutPasteId")private void initView() {//组件查找方法etUrl=(EditText)findViewById(R.id.etImageUrl);ivNetImage=(ImageView)findViewById(R.id.ivImage);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}public void  showImage(View view) {final String path=etUrl.getText().toString();if(TextUtils.isEmpty(path)){Toast.makeText(this, "图片路径不能够为空", Toast.LENGTH_SHORT).show();}else{new Thread(){public void run(){//连接服务器,请求获取图片try{URL url=new URL(path);//网络的链接//发送HTTP请求HttpURLConnection httpURLConnection=(HttpURLConnection) url.openConnection();    httpURLConnection.setConnectTimeout(5000);    int responsecode=httpURLConnection.getResponseCode();    if(responsecode==200){    InputStream is=httpURLConnection.getInputStream();    Bitmap bmap=BitmapFactory.decodeStream(is);    //告诉主线程,帮我更新界面,内容是Bitmap    Message msg=new Message();    msg.what=SHOWIMAGE;    msg.obj=bmap;    handler.sendMessage(msg);           }    else{    Toast.makeText(MainActivity.this, "图片加载失败", Toast.LENGTH_SHORT).show();    }}catch (MalformedURLException e) {e.printStackTrace();// TODO: handle exception}catch(IOException e){e.printStackTrace();}};}.start();  }}}

 

activity_main.xml代码:

<LinearLayout xmlns: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:orientation="vertical"    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" >    <ImageView        android:id="@+id/ivImage"        android:layout_width="match_parent"        android:layout_height="match_parent"        android:layout_gravity="center"        android:layout_weight="1"         />    <EditText        android:id="@+id/etImageUrl"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="http://pic69.nipic.com/file/20150613/10274128_185407149715_2.jpg"        android:ems="10"        android:hint="请输入图片的地址"         >        <requestFocus />    </EditText>    <Button        android:id="@+id/btnView"        android:layout_width="278dp"        android:layout_height="wrap_content"        android:background="@drawable/back_button"        android:onClick="showImage"        android:text="浏览" /></LinearLayout>


 

0 0