通过 httpurlconnection 访问网络设置imageview
来源:互联网 发布:卤素灯 led 对比 知乎 编辑:程序博客网 时间:2024/04/27 18:09
1 新建安卓工程
2 给工程添加访问呢网络权限 <uses-permission android:name="android.permission.INTERNET"/>
3 添加一个按钮, 一个imageview 即可
4 代码
package com.example.httpimageview1;
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.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
public class MainActivity extends Activity {
private Button btn1;
private ImageView img1;
private TextView text1;
//图片资源
private String url="http://www.baidu.com/img/baidu_sylogo1.gif";
private Handler handler1=new Handler(){
@Override
public void handleMessage(Message msg) {
Log.v("zms","我收到消息了,开始设置图片");
img1.setImageBitmap((Bitmap)msg.obj);
Log.v("zms","设置图片结束");
super.handleMessage(msg);
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
img1=(ImageView)findViewById(R.id.imageView1);
text1=(TextView)findViewById(R.id.textView1);
btn1=(Button)findViewById(R.id.button1);
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Log.v("zms","click");
myThread my=new myThread();
Log.v("zms","已经发给线程取读图片了,我继续干我的");
my.start();
Log.v("zms","我接新活了,网络号了吗?");
}
});
}
class myThread extends Thread
{
@Override
public void run() {
/* super.run();*/
URL myFileURL;
//Bitmap bitmap2=null;
Log.v("zms","我是子线程,我在访问网络");
Bitmap bitmap=getHttpBitmap(url);
Log.v("zms","我是子线程,访问网络结束,准备扔消息给handler");
Message age=handler1.obtainMessage();
age.obj=bitmap;
handler1.sendMessage(age);
}
}
@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 static Bitmap getHttpBitmap(String url) {
URL myFileURL;
Bitmap bitmap2=null;
try{
myFileURL=new URL(url);
HttpURLConnection conn=(HttpURLConnection)myFileURL.openConnection();
conn.setConnectTimeout(5000);
conn.setDoInput(true);
//不使用缓存
conn.setUseCaches(false);
InputStream is=conn.getInputStream();
bitmap2=BitmapFactory.decodeStream(is);
is.close();
} catch (Exception e)
{
e.printStackTrace();
}
return bitmap2;
}
}
- 通过 httpurlconnection 访问网络设置imageview
- 通过HttpURLConnection和HttpClient访问网络
- HttpURLConnection(访问网络)
- 使用HttpURLConnection访问网络
- HttpURLConnection访问网络
- 使用HttpURLConnection访问网络
- android HttpURLConnection网络访问
- 使用HttpURLConnection访问网络
- 用HttpURLConnection访问网络
- 网络访问之HttpURLConnection
- 使用HttpURLConnection访问网络
- 网络访问之HttpURLConnection
- 设置JBOSS通过IP网络访问
- 设置JBOSS通过IP网络访问
- 如何设置jboss通过IP网络访问
- ImageView设置网络图片
- 通过HttpURLConnection进行网络请求
- 【封装】异步HttpURLConnection网络访问
- Android-Socket传输 GPRS网络
- linux系统监控——nmon介绍与使用
- 小鑫的城堡(并查集)
- Activiti的配置文件
- Yii中CDbCriteria常用总结
- 通过 httpurlconnection 访问网络设置imageview
- Pebbles
- hdu 1394 Minimum Inversion Number
- NOI经验谈
- 我在装....ez_setup.py 的时候遇到的小问题
- 看懂PL/SQL执行计划的显示结果
- HDU-1869—六度分离 (Floyd)
- 创建Oracle索引的一些注意事项
- awk-好用的行级数据处理工具