您的位置:首页 > 理论基础 > 计算机网络

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

2015-06-22 14:10 721 查看
*********************网络图片查看器*************************

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();

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: