- 浏览: 1220787 次
- 性别:
- 来自: 荆州
文章分类
- 全部博客 (396)
- Android 基础 (72)
- Java 基础 (42)
- Android(动画效果) (26)
- Android(自定义组件) (13)
- Android(手机服务) (38)
- Android(网络相关) (27)
- Android(多媒体) (12)
- Android(小技巧) (30)
- Android(用户界面) (39)
- 基础概念 (24)
- Android组件学习 (21)
- Android数据库相关 (11)
- 生活杂谈 (10)
- 调试技巧部分 (8)
- Sql Server相关 (1)
- Android(xml相关) (2)
- Android 开发 (12)
- 韩语学习 (4)
- Mac添加环境变量的三种方法 (1)
- iPhone开发 (1)
- Android Studio (1)
最新评论
-
ppfbsar:
下载网络文件到SD卡上 -
851228082:
好文!彻底理解单类型导入与按需导入的区别了。还有一点可以通过 ...
谈java的导入(import) -
麦田的设计者:
老乡啊
sqlite 数据库保存图片 -
sf_dream:
我要是读写list、map之类的集合呢
ObjectOutputStream和ObjectInputStream类的学习 -
xfyunyun:
博主,请问webview加载html字符串时怎么进行缓存处理呢 ...
WebView使用总结2(加载HTML内容形式的String)
这个代码让我有点迷惑:
package com.example; import android.app.Activity; import android.app.ProgressDialog; import android.graphics.Color; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.LinearLayout; import android.widget.TextView; public class Looper_07 extends Activity implements OnClickListener { private final int WC = LinearLayout.LayoutParams.WRAP_CONTENT; private final int FP = LinearLayout.LayoutParams.FILL_PARENT; private ProgressDialog progressDialog = null; public TextView tv; private Button btn, btn2; Thread th1; public void onCreate(Bundle icicle) { super.onCreate(icicle); LinearLayout layout = new LinearLayout(this); layout.setOrientation(LinearLayout.VERTICAL); btn = new Button(this); btn.setId(101); btn.setBackgroundResource(R.drawable.icon); btn.setText("test looper"); btn.setOnClickListener(this); LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(100, 50); param.topMargin = 10; layout.addView(btn, param); btn2 = new Button(this); btn2.setId(102); btn2.setBackgroundResource(R.drawable.icon); btn2.setText("exit"); btn2.setOnClickListener(this); layout.addView(btn2, param); tv = new TextView(this); tv.setTextColor(Color.WHITE); tv.setText(""); LinearLayout.LayoutParams param2 = new LinearLayout.LayoutParams(FP, WC); param2.topMargin = 10; layout.addView(tv, param2); setContentView(layout); // ------------------------ } public void onClick(View v) { switch (v.getId()) { case 101: progressDialog = ProgressDialog.show(this, "please wait…","Loading",true); th1 = new myThread(); th1.start(); setTitle("mainThread...."); break; case 102: finish(); break; } } class myThread extends Thread { @Override public void run() { try{ sleep(3000); //故意延遲 } catch(Exception e) { e.printStackTrace(); } // 为什么这里可以控制Dialog的可见性???????????? //子线程来执行 progressDialog.dismiss(); } } } /* 上述程式又可寫為: public class ac01 extends Activity implements OnClickListener, Runnable{ //………………(省略) public void onClick(View v) { switch(v.getId()){ case 101: progressDialog = ProgressDialog.show(this, "please wait…","Loading",true); th1 = new Thread(this); th1.start(); setTitle("mainThread...."); break; case 102: finish(); break; } } public void run() { try{ Thread.sleep(6000); //故意延遲 } catch(Exception e) { e.printStackTrace(); } progressDialog.dismiss(); } } */
- Looper_7_子线程消失ProgressBar.rar (28.4 KB)
- 下载次数: 16
发表评论
-
输入法弹出后,不影响activity原有布局(android:windowSoftInputMode)
2012-07-08 21:03 4371在AndroidManifest.xml文件中的activit ... -
屏幕截图
2012-04-19 18:24 1312直接贴代码,不说话:) ScreenShot.java文件: ... -
Android Bitmap 圆角 倒影
2012-03-13 23:17 1543// 获得带倒影的图片方法 public Bitmap ... -
View进行透明度设置
2012-03-08 23:12 1818对特定View进行透明度设置的代码片段: public v ... -
动态设置GridView宽,高
2012-03-07 14:24 2354这里假设实例Id为mGrid: RelativeLayo ... -
ActivityGroup使用方法
2012-02-15 17:34 7162这个例子是在http://www.anddev.org上看到的 ... -
Android进度条总结
2011-04-08 10:27 16051.在标题栏显示进度条: requestWindowFea ... -
TextView实现多行本文滚动
2011-04-07 21:49 1730Android中我们为了实现文本的滚动可以在ScrollVie ... -
Android 给应用定制皮肤
2011-04-07 21:29 3184在实现程序功能的同时,如果能让程序界面更加美观,有锦上添花之妙 ... -
自定义无标题Dialog
2011-03-18 13:39 22741.主Activity: public class D ... -
手机分辨率和密度的理解
2011-01-24 10:22 2482QVGA,WQVGA屏density=120 HVGA屏den ... -
Android Bitmap 圆角
2011-01-20 10:16 1747第一种是生成圆角背景: Button mView = (B ... -
如何保证Activity实例个数唯一(Activity启动模式)
2011-01-14 11:35 10695ActA.java文件: public class Act ... -
Dialog自定义方法1
2011-01-13 14:51 1388public class SelfDialog { D ... -
UI方面的一些知识点总结
2010-09-17 16:52 14941.如何获取手机屏幕的分辨率: /* 取得屏幕解析像 ... -
Android中画图总结(2)
2010-09-17 15:41 18901.如何显示一张自定义位图: step 1:先定义一张位图 ... -
Android中画图总结(1)
2010-09-17 15:32 14961.如何获取 res 中的资源 ... -
TextView中style的应用
2010-09-10 14:09 1244<TextView android:layout_w ... -
显示带图片的Toast提示
2010-09-09 14:22 2038ImageView mView01 = new Image ... -
color.xml中各种颜色值整理
2010-09-05 22:07 2418<color name="solid_bl ...
相关推荐
总结一下,通过自定义AsynTask,我们可以将耗时的图片下载操作放在子线程进行,同时在主线程中更新ProgressDialog的进度,确保UI的流畅性。在下载完成后,通过onPostExecute()方法将图片显示在ImageView上。这个过程...
- volatile关键字:保证了多线程环境下的可见性和有序性,但不保证原子性,适用于简单共享变量的场景。 4. 其他跨线程通信方式: - Java中的ExecutorService和Future:创建线程池,提交任务,通过Future获取结果...
"QT子线程更新主线程"这个主题涉及到如何在后台线程(子线程)执行耗时操作,并将结果安全地传递到用户界面线程(主线程),以避免阻塞UI,保持其流畅性。 Qt库提供了QThread类来支持多线程编程。子线程通常用于...
在多线程编程中,尤其是使用VC++进行开发时,如何有效地从子线程更新主线程的数据是一个重要的问题。这涉及到线程间通信(Thread Communication)的概念,它确保了不同线程之间的协作和数据同步。在Windows环境中,...
Visual C++源代码 22 如何从子线程更新主线程数据Visual C++源代码 22 如何从子线程更新主线程数据Visual C++源代码 22 如何从子线程更新主线程数据Visual C++源代码 22 如何从子线程更新主线程数据Visual C++源代码...
c#子线程如何读取及设置主线程ui的值,自己录的一个小视频,方便理解,比较菜鸟的方法,请勿喷!
子线程与主线程之间的通信方式有很多种,如使用共享变量、wait/notify机制、Future和Callable接口等。而观察者模式(Observer Pattern)则是一种设计模式,它允许一个对象的状态变化自动通知其他依赖该对象的对象。...
子线程任务发生异常,主线程事务如何回滚? 本文将详细探讨当子线程任务发生异常时,如何让主线程捕获到该异常并进行事务的回滚。下面将从多线程编程的基础知识、线程池的使用、异常捕获三个方面进行阐述。 一、多...
本文将深入探讨如何在Android环境中实现两个子线程之间的通信。 首先,理解Android线程模型至关重要。主线程,也称为UI线程,负责处理用户界面的更新和事件响应。为了不阻塞主线程,我们通常会在子线程中执行耗时...
C#子线程刷新主线程示例源码 功能介绍: 使用线程操作 1、实时显示当前时间 2、输入加数和被加数,自动出现结果 技术特点: 使用了多线程实现了子线程刷新主线程 ,使用委托刷新主线程。 注意: 开发环境为...
由于UI界面通常运行在主线程中,为保证用户界面的响应性和避免线程冲突,我们需要遵循特定的规则来安全地更新控件。本文将详细介绍两种在子线程中更新UI控件的常用方法。 **1. 使用控件自身的Invoke/BeginInvoke...
本主题聚焦于如何利用“异步委托”在主线程中显示数据,同时在子线程中获取这些数据,以保证界面的响应性和程序的流畅性。 异步编程是解决UI线程阻塞问题的有效手段,它允许我们执行长时间运行的任务而不会冻结用户...
在多线程编程中,子线程与主线程的交互是一个常见的需求,特别是在GUI应用程序中。主线程通常负责用户界面的更新和事件处理,而子线程则用于执行耗时的任务,以避免阻塞UI。本示例将深入探讨如何在Java或C#等支持多...
C++ thread退出线程 多线程 子线程控制退出主线程 window VS2017 Debug Error! Abort() has been called. C++ thread退出线程 多线程 子线程控制退出主线程 window VS2017 Debug Error! Abort() has been called.
在Android应用开发中,UI线程(也称为主线程)负责处理用户交互和绘制界面,而子线程通常用于执行耗时操作,如网络请求、数据处理等。由于Android系统的安全机制,直接在子线程中修改UI是不允许的,因此我们需要通过...
然而,由于GUI(图形用户界面)组件的设计原则,子线程不能直接修改主UI(用户界面)元素,因为这可能导致界面的不稳定性。为了解决这个问题,Qt提供了一种安全的方式来实现子线程与主线程之间的通信,确保UI的正确...
Handler消息传递详解,子线程到子线程,主线程到子线程,子线程到主线程 三种消息,Looper,Handler工作机制详解 https://blog.csdn.net/shoneworn/article/details/80447651
在C#.NET编程中,多线程是提升应用程序性能和响应性的重要手段。然而,当涉及到用户界面(UI)更新时,线程间通信(特别是从子线程到主线程)变得至关重要,因为Windows Forms和WPF等UI框架通常不是线程安全的。本...
在编程领域,尤其是在GUI(图形用户界面)应用开发中,"子线程创建界面组件"是一个重要的主题。这个话题涉及到多线程技术以及如何在非主线程中安全地构建和更新用户界面。以下是对这个主题的详细解释: 1. **线程与...