Android中实现view的更新有两组方法,一组是invalidate,另一组是postInvalidate,其中前者是在UI线程自身中使用,而后者在非UI线程中使用。
Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在线程中调用,因为他是违背了单线程模型:Android UI操作并不是线程安全的,并且这些操作必须在UI线程中调用。
An...
分类:
移动开发 时间:
2014-12-11 17:31:58
阅读次数:
200
public void onClick(View v) { new Thread(new Runnable() { public void run() { final Bitmap bitmap = loadImageFromNetwork("http://...
分类:
编程语言 时间:
2014-12-10 12:19:51
阅读次数:
189
经常运行eclipse时,烧到手机出现,“停止运行”,这时候得通过logcat查log了。一般这种情况属于FATAL EXCEPTION,所以检索FATAL 或者 EXCEPTION,然后往下看几行例子:11-26 16:18:17.949: E/AndroidRuntime(5363): FATA...
分类:
移动开发 时间:
2014-11-26 18:01:42
阅读次数:
326
介绍:
Android-Async-Http是一个Android的开源网络请求类库。官方项目地址:http://loopj.com/android-async-http/。网络请求无非就是从服务器上获取数据,往服务器上上传数据,这个网络请求库是基于Apache HttpClient库之上的一个异步网络请求处理库,网络处理均基于Android的非UI线程,不会阻...
分类:
移动开发 时间:
2014-11-20 12:08:11
阅读次数:
207
[java] view plaincopyprint?publicvoidshowToast(Stringmsg){Looper.prepare();Toast.makeText(getApplicationContext(),msg,Toast.LENGTH_SHORT).show();Loope...
分类:
移动开发 时间:
2014-11-03 12:48:51
阅读次数:
158
Android中实现view的更新有两组方法,一组是invalidate,另一组是postInvalidate,其中前者是在UI线程自身中使用,而后者在非UI线程中使用。Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在线程中调用,因为他是违背了单线程模型:...
分类:
移动开发 时间:
2014-10-20 13:09:37
阅读次数:
195
我们知道,Android系统为了提高程序的实时响应能力,不允许在UI线程中进行耗时的操作,否则会出现ANR异常,因此必须将耗时的任务放到非UI线程中执行。Android/Java提供了很多类来帮助大家完成异步操作,比如:Thread类,Timer类,AsyncTask类,HandlerThread类,以及Executor接..
分类:
移动开发 时间:
2014-10-15 04:28:00
阅读次数:
360
1、设置窗口格式为半透明getWindow().setFormat(PixelFormat.TRANSLUCENT);2、Android中在非UI线程里更新View的不同方法:* Activity.runOnUiThread( Runnable )* View.post( Runnable )* V...
分类:
移动开发 时间:
2014-09-27 20:00:30
阅读次数:
198
在非UI线程中修改了ListView绑定的数据对象(如List)时,如下异常:...
分类:
其他好文 时间:
2014-09-21 15:08:20
阅读次数:
212
当在非UI线程中更新UI(程序界面)时会出现如下图所示的异常:
Only the original thread that created a view hierarchy can touch its views.
那如何才能在非UI线程中更细UI呢?
方法有很多种,在这里主要介绍两种:
第一种:在需要更新UI的代码行后加Looper.prepare();与Looper.loop();两句话即可。如:...
分类:
移动开发 时间:
2014-08-27 20:34:08
阅读次数:
352