android java开发 第四天 之(后台服务处理完业务数据后,传送给ui Activity并刷新界面)
2012-09-17 09:15
645 查看
1、之前我们实现了activity 和services的绑定,我们就可以在activity里通过service的对象来执行service中的各种函数。
2、当然也可以将activity.this传给services中保存起来。待service中处理完业务数据如(网络读写后)将数据发送给activity。
3、重点:在service中保存了activity.this,当然可以调用activity里的各函数,但是ui相关的函数是不可以调用的,android不允许在其他线程中(也包括其他activity)中直接执行其他activity的ui更新操作。否则会出现运行时异常:E/AndroidRuntime(14701):
android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
所以:我们只能在界面Activity里定义Handler对象,实现消息的接受接口,并绑定服务后,把Handler对象set给services保存起来。待service中业务数据处理完毕,并把数据传递给activity后,service执行Handler的对象,handlerObj.sendMessage(msg) 发送消息给Activity。Activity收到消息后,调用更新ui的方法即可。
2、当然也可以将activity.this传给services中保存起来。待service中处理完业务数据如(网络读写后)将数据发送给activity。
3、重点:在service中保存了activity.this,当然可以调用activity里的各函数,但是ui相关的函数是不可以调用的,android不允许在其他线程中(也包括其他activity)中直接执行其他activity的ui更新操作。否则会出现运行时异常:E/AndroidRuntime(14701):
android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
所以:我们只能在界面Activity里定义Handler对象,实现消息的接受接口,并绑定服务后,把Handler对象set给services保存起来。待service中业务数据处理完毕,并把数据传递给activity后,service执行Handler的对象,handlerObj.sendMessage(msg) 发送消息给Activity。Activity收到消息后,调用更新ui的方法即可。
相关文章推荐
- Android官方开发文档Training系列课程中文版:后台加载数据之处理CursorLoader的查询结果
- Android官方开发文档Training系列课程中文版:后台服务之响应IntentService的处理结果
- Android(java)学习笔记220:开发一个多界面的应用程序之界面间数据传递
- Android(java)学习笔记222:开发一个多界面的应用程序之不同界面间互相传递数据(短信助手案例的优化:请求码和结果码)
- Javaweb开发,实现'购物车'的遍历与操作(页面数据刷新、后台操作反馈)
- Android(java)学习笔记221:开发一个多界面的应用程序之不同界面间互相传递数据(短信助手案例)
- android 后台服务多任务下载界面刷新机制
- 后台调度解析xml处理数据二次开发
- Android Binder 修炼之道(四)Binder 系统C++ 发送数据过程以及Server注册服务处理数据的过程
- 快速开发android应用3-基于okhttp解析服务数据
- [javase][json]fastJson在java后台转换json格式数据探究--处理数组/List/Map
- Android开发本地及网络Mp3音乐播放器(十)最近播放界面与数据保存更新
- 【移动开发】Android中异步加载数据(二)AsyncTask异步更新界面
- 【Android游戏开发十九】(必看篇)SurfaceView运行机制详解—剖析Back与Home按键及切入后台等异常处理!
- Android开发--身高体重指数(BIM)计算--添加对话框(Dialog)(Toast界面组件、错误处理try-catch)
- Android游戏开发19:SurfaceView运行机制剖析--处理切换到后台再重新进入程序时的异常
- Android(java)学习笔记219:开发一个多界面的应用程序之两种意图
- Android开发之 Service后台服务进程的守护
- 【Android游戏开发之五】游戏注册界面Demo-实现两个Activity之间的切换与数据交互!
- Android开发——纯JAVA代码方式界面设计