Android入门之网络图片查看器
2016-05-12 00:17
555 查看
package com.xsx.image;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
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.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;
public class MainActivity extends Activity {
protected static final int CHANGE_UI = 1;
protected static final int ERROR = 2;
private EditText et_address;
private ImageView iv_show;
//1、在主线程建立消息处理器
private Handler handler = new Handler(){
public void
handleMessage(android.os.Message msg){
if(msg.what==CHANGE_UI){
Bitmap
bitmap = (Bitmap) msg.obj;
iv_show.setImageBitmap(bitmap);
}else
if(msg.what==ERROR){
Toast.makeText(MainActivity.this,
"显示图片失败", 0).show();
}
};
};
@Override
protected
void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et_address = (EditText) findViewById(R.id.et_address);
iv_show = (ImageView) findViewById(R.id.iv_image);
}
public void
click(View view){
final String path =
et_address.getText().toString().trim();
if(TextUtils.isEmpty(path)){
Toast.makeText(this,
"图片地址不能为空", 0).show();
}else{
new Thread(){
public void
run(){
//链接服务器get请求获取图片
try{
URL url = new
URL(path);
//根据url发送http请求
HttpURLConnection
conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");//设置请求方式
conn.setConnectTimeout(5000);
//
conn.setReadTimeout(10000);
//
conn.setRequestProperty(field,
newValue);
//得到服务器返回的响应码
int code =
conn.getResponseCode();
if(code==200){
InputStream
is = conn.getInputStream();
Bitmap
bitmap = BitmapFactory.decodeStream(is);
//
iv_show.setImageBitmap(bitmap);
Message
msg = new Message();
msg.what
= CHANGE_UI;
msg.obj
= bitmap;
handler.sendMessage(msg);
}else{
Message
msg = new Message();
msg.what
= ERROR;
handler.sendMessage(msg);
}
}catch (Exception e){
e.printStackTrace();
Message msg =
new Message();
msg.what
= ERROR;
handler.sendMessage(msg);
}
}
}.start();
}
}
}
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
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.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;
public class MainActivity extends Activity {
protected static final int CHANGE_UI = 1;
protected static final int ERROR = 2;
private EditText et_address;
private ImageView iv_show;
//1、在主线程建立消息处理器
private Handler handler = new Handler(){
public void
handleMessage(android.os.Message msg){
if(msg.what==CHANGE_UI){
Bitmap
bitmap = (Bitmap) msg.obj;
iv_show.setImageBitmap(bitmap);
}else
if(msg.what==ERROR){
Toast.makeText(MainActivity.this,
"显示图片失败", 0).show();
}
};
};
@Override
protected
void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et_address = (EditText) findViewById(R.id.et_address);
iv_show = (ImageView) findViewById(R.id.iv_image);
}
public void
click(View view){
final String path =
et_address.getText().toString().trim();
if(TextUtils.isEmpty(path)){
Toast.makeText(this,
"图片地址不能为空", 0).show();
}else{
new Thread(){
public void
run(){
//链接服务器get请求获取图片
try{
URL url = new
URL(path);
//根据url发送http请求
HttpURLConnection
conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");//设置请求方式
conn.setConnectTimeout(5000);
//
conn.setReadTimeout(10000);
//
conn.setRequestProperty(field,
newValue);
//得到服务器返回的响应码
int code =
conn.getResponseCode();
if(code==200){
InputStream
is = conn.getInputStream();
Bitmap
bitmap = BitmapFactory.decodeStream(is);
//
iv_show.setImageBitmap(bitmap);
Message
msg = new Message();
msg.what
= CHANGE_UI;
msg.obj
= bitmap;
handler.sendMessage(msg);
}else{
Message
msg = new Message();
msg.what
= ERROR;
handler.sendMessage(msg);
}
}catch (Exception e){
e.printStackTrace();
Message msg =
new Message();
msg.what
= ERROR;
handler.sendMessage(msg);
}
}
}.start();
}
}
}
相关文章推荐
- Wireshark抓包示范:TCP三次握手建立连接和四次握手断开连接
- C#网络示例
- Okhttp post请求
- Java---网络编程(4)-C/S-B/S
- Java---网络编程(4)-C/S-B/S
- lucene学习001
- 抓取HTTPS 协议的程序报错
- 11个可以帮你增长网络社交粉丝的技巧
- ACM网络流入门
- CentOS IP丢失,切换了网络连接导致的vmnet8未启用dhcp
- Servlet/JSP-03 HttpServlet
- Windows网络编程学习笔记(3) 编写一个TCP服务端
- Apache HttpServer启动出错处理
- 阿里云 centos7 tomcat8 https 配置不起作用
- 网络聊天室
- HTTP1.1协议-RFC2616-中文版
- iOS网络编程-URL网络数据的解析
- Android 一个判断网络连接状态的简单方法
- 使用Http协议请求网络
- requests模块--python发送http请求