【Android】child thread refresh UI
来源:互联网 发布:windows系统书籍 编辑:程序博客网 时间:2024/06/05 14:49
Message Queue Mechanism
public class MainActivity extends Activity { static ImageView iv; static MainActivity ma; static Handler handler = new Handler(){ //此方法在主线程中调用,可以用来刷新ui public void handleMessage(android.os.Message msg) { //处理消息时,需要知道到底是成功的消息,还是失败的消息 switch (msg.what) { case 1: //把位图对象显示至imageview iv.setImageBitmap((Bitmap)msg.obj); break; case 0: Toast.makeText(ma, "请求失败", 0).show(); break; } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); iv = (ImageView) findViewById(R.id.iv); ma = this; } public void click(View v){ Thread t = new Thread(){ @Override public void run() { //下载图片 //1.确定网址 String path = "http://192.168.13.13:8080/dd.jpg"; try { //2.把网址封装成一个url对象 URL url = new URL(path); //3.获取客户端和服务器的连接对象,此时还没有建立连接 HttpURLConnection conn = (HttpURLConnection) url.openConnection(); //4.对连接对象进行初始化 //设置请求方法,注意大写 conn.setRequestMethod("GET"); //设置连接超时 conn.setConnectTimeout(5000); //设置读取超时 conn.setReadTimeout(5000); //5.发送请求,与服务器建立连接 conn.connect(); //如果响应码为200,说明请求成功 if(conn.getResponseCode() == 200){ //获取服务器响应头中的流,流里的数据就是客户端请求的数据 InputStream is = conn.getInputStream(); //读取出流里的数据,并构造成位图对象 Bitmap bm = BitmapFactory.decodeStream(is);// ImageView iv = (ImageView) findViewById(R.id.iv);// //把位图对象显示至imageview// iv.setImageBitmap(bm); Message msg = new Message(); //消息对象可以携带数据 msg.obj = bm; msg.what = 1; //把消息发送至主线程的消息队列 handler.sendMessage(msg); } else{// Toast.makeText(MainActivity.this, "请求失败", 0).show(); Message msg = handler.obtainMessage(); msg.what = 0; handler.sendMessage(msg); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }; t.start(); }}
0 0
- 【Android】child thread refresh UI
- Android UI thread / main thread
- Android UI thread / main thread
- android UI thread
- Android UI Operation in Thread
- 深入理解android UI Thread
- Android Handler+Thread实现更新Ui
- 08 Android 使用Thread操作UI
- Android 异步更新UI----handler+thread
- Android 异步更新UI----handler+thread
- Android 异步更新UI----handler+thread
- android Thread+handler 实现UI更新
- Android 异步更新UI----handler+thread
- ui thread
- UI Thread
- Main Thread & UI Thread
- UI Thread & Worker Thread
- Android UI开发第二十一篇——下拉刷新列表实现(pull to refresh)
- ViewDragHelper应用,仿豆瓣音乐Cover界面
- permission denied for this window type
- C语言 数据类型(复习)
- 对Spring IOC的理解
- Ubuntu MySQL允许远程连接访问
- 【Android】child thread refresh UI
- MySQL存储大数据报错的解决方法
- 数据结构与算法(3 Reverse链表)
- java线程同步问题
- TCP连接的TIME-WAIT状态
- begin topcoder
- 支付宝集成问题
- Linux PCIe SSD NVME 性能调优篇
- 一些重要的算法