网络图片查看器

1.运行效果图


2.核心代码

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/image"    
        android:layout_width="match_parent"    
        android:layout_height="wrap_content"    
        android:layout_gravity="center"    
        android:layout_weight="1"   
        />    
  
    <EditText  
        android:id="@+id/editText1"  
        android:layout_width="match_parent"  
        android:layout_height="wrap_content"  
        android:hint="请输入图片的路径:"   
        android:text="http://4493bz.1985t.com/uploads/allimg/150127/4-15012G52133.jpg"  
        >  
        <requestFocus />  
    </EditText>  
  
    <Button    
        android:id="@+id/button1"    
        android:layout_width="wrap_content"    
        android:layout_height="wrap_content"    
        android:layout_gravity="center"    
        android:onClick="viewImage"    
        android:text="浏览" />    
          
      
</LinearLayout>  

MainActivity.Java
package com.example.imagebrowser;  
  
import java.io.IOException;  
import java.io.InputStream;  
import java.net.HttpURLConnection;  
import java.net.MalformedURLException;  
import java.net.URL;  
  
import android.R.string;  
import android.app.Activity;  
import android.graphics.Bitmap;  
import android.graphics.BitmapFactory;  
import android.os.Bundle;  
import android.os.Handler;  
import android.os.Message;  
import android.text.TextUtils;  
import android.view.Menu;  
import android.view.View;  
import android.view.View.OnClickListener;  
import android.widget.Button;  
import android.widget.EditText;  
import android.widget.ImageView;  
import android.widget.Toast;  
  
public class MainActivity extends Activity  
{  
    public static final int SHOW_IMAGE=1;   
    private ImageView image;  
    private EditText editText1;  
    private Button button1;  
    private Handler handler=new Handler(){  
        public void handleMessage(android.os.Message msg){  
            switch(msg.what){  
            case SHOW_IMAGE:  
                Bitmap bitmap=(Bitmap) msg.obj;  
                image.setImageBitmap(bitmap);  
                break;  
                default:  
                    break;  
                      
            }  
        }  
    };  
    protected void onCreate(Bundle savedInstanceState)  
    {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_main);  
        image=(ImageView) findViewById(R.id.image);  
        editText1=(EditText) findViewById(R.id.editText1);  
        button1=(Button) findViewById(R.id.button1);  
        button1.setOnClickListener(new OnClickListener()  
        {  
              
            @Override  
            public void onClick(View v)  
            {  
                if(v.getId()==R.id.button1){  
                    showimage(v);  
                }  
                  
            }  
        });  
    }  
      
    public void showimage(View view){  
        final String path=editText1.getText().toString();  
        if(TextUtils.isEmpty(path)){    
            Toast.makeText(this, "图片路径不能为空", Toast.LENGTH_LONG).show();    
        }else{    
            new Thread(){    
                public void run() {    
                    try {    
                        URL url=new URL(path);    
                        HttpURLConnection httpURLConnection=(HttpURLConnection) url.openConnection();  
                        httpURLConnection.setRequestMethod("GET");    
                        httpURLConnection.setConnectTimeout(5000);    
                        int responseCode=httpURLConnection.getResponseCode();    
                        if(responseCode==200){   
                            InputStream inputStream=httpURLConnection.getInputStream();    
                            Bitmap bitmap=BitmapFactory.decodeStream(inputStream);    
                            Message message=new Message();    
                            message.what=SHOW_IMAGE;    
                            message.obj=bitmap;   
                            handler.sendMessage(message);    
  
                        }else{  
                            Toast.makeText(MainActivity.this, "显示图片失败", Toast.LENGTH_SHORT).show();  
                        }  
                    }catch (MalformedURLException e) {    
                        e.printStackTrace();    
                    } catch (IOException e) {    
                        e.printStackTrace();    
                    }    
                };  
  
  
        }.start();  
        }  
  
    }  
    public 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;  
    }  
}  

3.实验总结

今天实现的是android下的一款简单的网络图片查看器。在使用时,首先要声明访问网络权限。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值