搞Android的人都知道。android是不同意你在子线程中更新UI操作的。这主要出于线程安全方面的考虑。通常的做法是在主线程中创建一个Handler对象,在子线程中创建一个Message对象。该Message对象中封装一些更新UI操作的数据,通过Handler的sendMessage方法发送出去 ...
分类:
移动开发 时间:
2017-08-01 15:38:46
阅读次数:
203
http://blog.csdn.net/u013724061/article/details/38642049 最终效果: 动态显示当前时间和电量 思路: 首先在Activity里用内部类定义两种广播,一种是系统广播(电池),另一种是自定义广播。 在OnResume中注册广播,OnPause中移除 ...
分类:
其他好文 时间:
2017-07-25 22:40:32
阅读次数:
206
在简易音乐播放器中。用了Handler。也没有过多地去研究学习,这里再学习下android下的异步消息处理机制。这里用了Handler主要是在线程中不能更新UI,而须要通过Handler才干够。关于异步消息处理有几个概念。 1、Message:消息,线程间通讯的数据单元。比如后台要下载歌曲然后下载完 ...
分类:
移动开发 时间:
2017-07-23 15:22:24
阅读次数:
203
Android中多线程编程:Handler类、Runnable类、Thread类之概念分析 1.Handler类: Handler是谷歌封装的一种机制:能够用来更新UI以及消息的发送和处理。Handler是执行在主线程(UI线程)。 (2).使用Handler机制的原因: 这是谷歌封装的一种更新UI ...
分类:
移动开发 时间:
2017-07-20 19:39:59
阅读次数:
245
在Android中我们能够通过Thread+Handler实现多线程通信。一种经典的使用场景是:在新线程中进行耗时操作。当任务完毕后通过Handler向主线程发送Message。这样主线程的Handler在收到该Message之后就能够进行更新UI的操作。上述场景中须要分别在Thread和Handl ...
分类:
移动开发 时间:
2017-07-18 20:59:21
阅读次数:
210
UI controllers (activities and fragments) 中代码越少越好,不应该自己去请求数据,而是用ViewModel来更新数据,并且监听LiveData来更新UI UI controllers 中的UI写成数据驱动的,也就是UI controller需要做的只有当数据变 ...
分类:
移动开发 时间:
2017-07-18 13:26:05
阅读次数:
198
老板给我的第一个硬件就是一个读卡器, 说让我做一下试试,于是从网上查了查就写了出来,相当的简单。 但是后来还有一个地磅的串口通讯,我整整搞了一天。 在窗体类的构造函数中写入 Form.CheckForIllegalCrossThreadCalls = false; 可以在线程外更新窗体,这样就可以一 ...
曾经写过几篇关于下载的文章。总的来说是下面几点: 1、维护一个下载进程的Hashmap,key:使用Md5进行处理后的文件下载地址,value为下载的Task。以防止下载反复。并将信息保存至数据库。 2、下载线程Task继承自Runnable,使用RandomAccessFile来保证能够断点下载。 ...
分类:
移动开发 时间:
2017-07-05 09:55:02
阅读次数:
174
1.runOnUiThread(Runnable) 在子线程中直接使用该方法,可以更新UI runOnUiThread(new Runnable(){//更新UI @Override public void run() { publish_time.setText("更新失败"); } }); 2. ...
分类:
移动开发 时间:
2017-07-04 11:08:50
阅读次数:
204
开发Android这么久了,总会听到有人说:主线程不能访问网络,子线程不能更新UI。Android的主线程的确不能长时间阻塞,但是子线程为什么不能更新UI呢?今天把这些东西整理,顺便在子线程更新UI。 首先写了一个handler在子线程更新主线程UI,在子线程做了一个耗时操作:从网络下载了一个图片并 ...
分类:
编程语言 时间:
2017-06-21 21:18:55
阅读次数:
298