文档章节

android学习笔记(十)

Kaming
 Kaming
发布于 2014/09/27 17:46
字数 274
阅读 15
收藏 0

HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 

执行此方法用来开辟一个URL请求,该请求在Android4.0版本以后需要放到子线程中实现,主线程已不支持httprequest请求(android2.3仍然支持此项)

因为在子线程中不可以对view操作,因为view是在主线程创建的,需要在子线程中以消息的形式通知主线程

package com.example.imageviewdemo;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
public class MainActivity extends Activity {
 private Handler mHandler;
 private Button btn;
 private ImageView imv;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btn=(Button) findViewById(R.id.btn_download);
        imv=(ImageView) findViewById(R.id.imv_download);
        btn.setOnClickListener(new View.OnClickListener() {
 @Override
 public void onClick(View v) {
 // TODO Auto-generated method stub
 updateUI();
 mHandler=new Handler(){
 public void handleMessage(android.os.Message msg){
 if(msg.what==1){ 
 imv.setImageBitmap((Bitmap)msg.obj);
 }
 }
 }; 
 }
 });
    }
    private void updateUI(){
     new Thread(){
     public void run(){
     try {
 URL url=new URL("http://img0.bdstatic.com/img/image/shouye/mxzyq-11795342220.jpg");
 HttpURLConnection conn=(HttpURLConnection) url.openConnection();
 conn.setConnectTimeout(5000);
 conn.setRequestMethod("GET"); 
 int code=conn.getResponseCode();
 if(code==200){
 InputStream is=conn.getInputStream();
 Bitmap bitmap=BitmapFactory.decodeStream(is);
 Message msg=new Message();
 msg.what=1;
 msg.obj=bitmap;
 mHandler.sendMessage(msg);
 }
 } catch (MalformedURLException e) {
 // TODO Auto-generated catch block
 e.printStackTrace();
 } catch (IOException e) {
 // TODO Auto-generated catch block
 e.printStackTrace();
 }
     }
     }.start();
    }
}


© 著作权归作者所有

共有 人打赏支持
Kaming
粉丝 1
博文 18
码字总数 10836
作品 0
深圳
一份关于 Java、Kotlin 与 Android 的学习笔记

JavaKotlinAndroidLearn 这是一份关于 Java 、Kotlin 、Android 的学习笔记,既包含对基础知识点的介绍,也包含对一些重要知识点的源码解析,笔记的大纲如下所示: Java 重拾Java(0)-基础知...

叶应是叶
08/08
0
0
Android 进阶学习笔记整理

一.android系统架构图及各层介绍 1. 应用层:应用是用java语言编写的运行在虚拟机上的程序,比如通讯录,日历,电话,短信,浏览器等。 2. 应用框架层:这一层是编写Google发布的核心应用时所...

FunCode
07/22
0
0
第一天学习Android的一些笔记

昨天学习了怎样装Android配置环境,下载SDK用了好久的时间,再加上一开始不会,弄了好长时间,今天第一天学习,跟着视频教程学的。下边是我的一些笔记,仅做留念与学习笔记 。 快捷键: 智能...

子弹兄
2014/01/16
0
0
Android--面试中遇到的问题总结(三)

《Android 开发工程师面试指南 LearningNotes 》,作者是陶程,由梁观全贡献部分。大家可以去知乎关注这两位用心的少年。这份指南包含了大部分Android开发的基础、进阶知识,不仅可以帮助准备...

sealin
2017/02/22
0
0
android白盒测试所需其他安卓开发内容链接整理

Android Intent实现Activity之间跳转并传值:http://www.linuxidc.com/Linux/2011-04/34228.htm android Intent机制详解:http://www.oschina.net/question/56506567909 Android开发中Inten......

智能小松鼠
2014/12/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSX | SafariBookmarksSyncAgent意外退出解决方法

1. 启动系统, 按住⌘-R不松手2. 在实用工具(Utilities)下打开终端,输入csrutil disable, 然后回车; 你就看到提示系统完整性保护(SIP: System Integrity Protection)已禁用3. 输入reboot回车...

云迹
今天
4
0
面向对象类之间的关系

面向对象类之间的关系:is-a、has-a、use-a is-a关系也叫继承或泛化,比如大雁和鸟类之间的关系就是继承。 has-a关系称为关联关系,例如企鹅在气候寒冷的地方生活,“企鹅”和“气候”就是关...

gackey
今天
4
0
读书(附电子书)|小狗钱钱之白色的拉布拉多

关注公众号,在公众号中回复“小狗钱钱”可免费获得电子书。 一、背景 之前写了一篇文章 《小狗钱钱》 理财小白应该读的一本书,那时候我才看那本书,现在看了一大半了,发现这本书确实不错,...

tiankonguse
今天
4
0
Permissions 0777 for ‘***’ are too open

异常显示: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ......

李玉长
今天
5
0
区块链10年了,还未落地,它失败了吗?

导读 几乎每个人,甚至是对通证持怀疑态度的人,都对区块链的技术有积极的看法,因为它有可能改变世界。然而,区块链技术问世已经10年了,我们仍然没有真正的用上区块链技术。 几乎每个人,甚...

问题终结者
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部