网络图片查看器
来源:互联网 发布:mysql innerjoin 编辑:程序博客网 时间:2024/05/17 07:59
一、运行效果图
二、核心代码
图片地址:http://4493bz.1985t.com/uploads/allimg/150127/4-15012G52133.jpg
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(){@Overridepublic 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;}}
三、运行过程中出现的问题
忘了声明访问网络权限,对Handler的用法和功能不熟悉,对java中的异常处理理解不透彻。
0 0
- 网络图片查看器
- 网络图片查看器
- 网络图片查看器
- 网络图片查看器
- 网络图片查看器
- *******************网络图片查看器*************
- 网络图片查看器
- 网络图片查看器
- 网络图片查看器
- 网络图片查看器
- 网络图片查看器
- 网络图片查看器
- 网络图片查看器
- 网络图片查看器
- 网络图片查看器
- 网络图片查看器
- 网络图片查看器
- 网络图片查看器
- JavaScript使用select实现添加删除
- 34-3-1
- gradle基本概念
- 运维世界大会干货总结
- 简单介绍Java网络编程中的HTTP请求
- 网络图片查看器
- POJ 3100 Root of the Problem G++
- STM32中printf与scanf的重定向问题
- 网络图片查看器
- Arrays的asList详解
- 16位汇编第四讲----8086寻找方式
- POJ 3630 Phone List 已被翻译
- 动态内存分配
- Find the Duplicate Number