*******************网络图片查看器*************

*********************网络图片查看器*************************

1.通过Android开发,开发网络图片查看器,

(1)开发的项目如图所示

 

(2)项目的结果图如图所示

2

(1)布局如下:

- <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/ivNetImage"
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:layout_gravity="center"
android:layout_weight="1" />
  <EditText android:id="@+id/etImageUrl"
 android:layout_width="match_parent"
android:layout_height="wrap_content"
 android:ems="10"
 android:text="
http://pic.nipic.com/2007-11-08/2007118192311804_2.jpg"
 android:hint="请输入图片的地址" />
  <Button android:id="@+id/btnView"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_gravity="center"
 android:onClick="showImage"
 android:text="浏览" />
  </LinearLayout>

.

 

(2)主要代码如下:通过定义相关属性,实现效果

package com.example.ui_duoxc;

import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

import com.example.ui_duoxc.R.menu;

import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.text.TextUtils;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;

public class MainActivity extends Activity {
 //protected static final URL URL(path) = null;
 
 private EditText etImageUrl;
 private ImageView ivNetImage;
 public static final int SHOWIMAGE=1;
 private Handler handler=new Handler(){
  public void handleMessage(Message msg){
   
  };
 };
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initViews();
    }
    private void initViews(){
     Object menu;
  etImageUrl=(EditText) findViewById(R.menu.main);
  ivNetImage=(ImageView) findViewById(R.menu.main);
    }


    @Override
    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;
    }
   
  
    public void showImage(View view){
     
     //Object etUrl;
  final String path=etImageUrl.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);
     HttpURLConnection httpURLConnection=(HttpURLConnection) url.openConnection();
     httpURLConnection.setRequestMethod("GET");
     httpURLConnection.setConnectTimeout(5000);
     int responsecode=httpURLConnection.getResponseCode();
     Handler handler=new Handler(){
      public void handleMessage(android.os.Message msg){
       switch (msg.what) {
       case SHOWIMAGE;
       Bitmap bitmap=(Bitmap) msg.obj;
       ivNetImage.setImageBitmap(bitmap);
        
        break;

       default:
        break;
       }
      }
     };
     if(responsecode==200){
      InputStream is=httpURLConnection.getInputStream();
      Bitmap bitmap=BitmapFactory.decodeStream(is);
      ivNetImage.setImageBitmap(bitmap);
      Message message=new Message();
     }
     else{
      Toast.makeText(NetImageBrowserActivity.this, "显示图片失败", Toast.LENGTH_SHORT).show();
     }
    }catch (MalformedURLException e) {
     // TODO: handle exception
     e.printStackTrace();
    } catch (Exception e1) {
     // TODO: handle exception
     e.printStackTrace();
    }   
   };
  
   }.start();
  }
  
    }
   
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值