Android中实现view的更新有两组方法,一组是invalidate。还有一组是postInvalidate。当中前者是在UI线 程自身中使用,而后者在非UI线程中使用。 Android提供了Invalidate方法实现界面刷新。可是Invalidate不能直接在线程中调用。由于他是违背了单 线 ...
分类:
移动开发 时间:
2017-07-29 10:08:06
阅读次数:
190
问题描述: 客户端的Windows程序使用WebMethod从服务器上取得一个系统信息列表。信息列表中有多条Message。当系统消息的时间合要求,使用一个自定义的MessageForm Show出这个系统Message。MessageForm是一个含有WebBrowser的WinForm。 Sho ...
分类:
编程语言 时间:
2017-07-24 17:28:06
阅读次数:
153
要理解UI线程,先要了解一下“消息循环”这个概念。链接是百度百科上的条目,简单地说,操作系统把用户界面上的每个操作都转化成为对应的消息,加入消息队列。然后把消息转发给对应的应用程序(一般来说,就是活动窗口),应用程序根据自己的逻辑处理这些消息。 如果应用程序处理某个消息事件的时候,用了很长的时间,这 ...
分类:
编程语言 时间:
2017-07-07 13:23:04
阅读次数:
223
Android 中的View更新方法 postInvalidate 在非UI线程中通知重绘。 View 确定自身已经不适合现有区域时,调用requestLayout(),通知父View重新测量和绘制此View的位置。 当View的LayoutParams发生改变时,也应该调用这个方法。 reques ...
分类:
移动开发 时间:
2017-05-25 19:43:40
阅读次数:
350
要了解android单元测试,首先必须了解junit 什么是 JUnit ? JUnit是采用测试驱动开发的方式,也就是说在开发前先写好测试代码,主要用来说明被测试的代码会被如何使用,错误处理等;然后开始写代码,并在测试代码中逐步测试这些代码,直到最后在测试代码中完全通过。 现简要说JUnit的4大 ...
分类:
移动开发 时间:
2017-05-17 17:15:58
阅读次数:
285
从非UI线程调用UI控件赋值、或进行其他更新UI的操作的话,会出现异常: System.InvalidOperationException:“线程间操作无效: 从不是创建控件“xxx”的线程访问它。” 解决办法: 原来的 xxx.Text="Test"; 换成 xxx.BeginInvoke(new ...
分类:
编程语言 时间:
2017-04-26 10:10:19
阅读次数:
225
先说关于导入包的问题 不确定在哪个版本之后谷歌取消了org.apache.http.legacy的几个包 要先下载 放入lib目录下 并且在build.gradle中加入依赖关系 然后rebuild project 再说关于 onsuccess方法的问题 由于Asynchttp是异步的 所以在主线程 ...
分类:
Web程序 时间:
2017-04-03 22:41:37
阅读次数:
211
1、对Socket的操作放在非UI线程内进行 在Android应用中,为了保证APP的用户体验,必须对用户的操作尽可能快的做出响应,因此在以前的Android版本中,不建议将耗时的操作放在UI线程中。到Android3.0之后的版本,则是更进一步做了限制,在非UI线程中禁止操作UI,在UI线程中禁止 ...
分类:
移动开发 时间:
2017-02-14 21:38:25
阅读次数:
201
Android中实现view的更新有两组方法,一组是invalidate,另一组是postInvalidate,其中前者是在UI线程自身中使用,而后者在非UI线程中使用。 Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在线程中调用,因为他是违背了单线程模型 ...
分类:
移动开发 时间:
2016-09-12 20:29:31
阅读次数:
139
handler是安卓中用于消息传递的机制,通常用于ui线程的更新。我们知道,子线程即非UI线程是不能更新ui的,因此这个得让handler大显神威。 例如下面就是一个简单的子线程的更新的ui的事例,记住:下面的事例是错误的 xml代码: java代码: 当我们运行起这段代码后,会发现程序会闪退,错误 ...
分类:
移动开发 时间:
2016-09-01 18:33:55
阅读次数:
206