新浪微博Android客户端开发第三讲

上传人:飞*** 文档编号:57050220 上传时间:2018-10-18 格式:PPT 页数:9 大小:834.50KB
返回 下载 相关 举报
新浪微博Android客户端开发第三讲_第1页
第1页 / 共9页
新浪微博Android客户端开发第三讲_第2页
第2页 / 共9页
新浪微博Android客户端开发第三讲_第3页
第3页 / 共9页
新浪微博Android客户端开发第三讲_第4页
第4页 / 共9页
新浪微博Android客户端开发第三讲_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《新浪微博Android客户端开发第三讲》由会员分享,可在线阅读,更多相关《新浪微博Android客户端开发第三讲(9页珍藏版)》请在金锄头文库上搜索。

1、新浪微博Android 客户端开发视频 系统主框架搭建,论坛地址:http:/ QQ群:Touch Android(107086751),一、Android Handler 介绍二、Android Service 介绍三、系统框架搭建,Handler,Handler基本概念:Handler主要用于异步消息的处理:当发出一个消息之后,首先进入一个消息队列,发送消息的函数即刻返回,而另外一个部分逐个的在消息队列中将消息取出,然后对消息进行出来,就是发送消息和接收消息不是同步的处理。 这种机制通常用来处理相对耗时比较长的操作。Handler 常用方法: post(Runnable)postAtTim

2、e(Runnable,long)postDelayed(Runnable long)sendEmptyMessage(int)sendMessage(Message)sendMessageAtTime(Message,long)sendMessageDelayed(Message,long) 以上post类方法允许你排列一个Runnable对象到主线程队列中,sendMessage类方法, 允许你安排一个带数据的Message对象到队列中,等待更新.,Service概念及用途: Service 是 Android 系统中的一种组件,它和Activity 的级别差不多,但又Activity不同,

3、它是不能与用户交互的,但可以和其他组件进行交互。它不能自己运行,只能后台运行。 如果我们退出应用时,Service进程并没有结束,它仍然在后台运行,那我们什么时候会用到Service呢?比如我们播放音乐的时候,有可能想边听音乐边干些其他事情,当我们退出播放音乐的应用,如果不用Service,我们就听不到歌了,所以这时候就得用到Service了,又比如当我们一个应用的数据是通过网络获取的,不同时间(一段时间)的数据是不同的这时候我们可以用Service在后台定时更新,而不用每打开应用的时候在去获取。Service生命周期: Android Service的生命周期并不像Activity那么复杂,

4、它只继承了onCreate(),onStart(),onDestroy()三个方法,当我们第一次启动Service时,先后调用了onCreate(),onStart()这两个方法,当停止Service时,则执行onDestroy()方法,这里需要注意的是,如果Service已经启动了,当我们再次启动Service时,不会在执行onCreate()方法,而是直接执行onStart()方法,具体的可以看下面的实例。Service与Activity通信: Service后端的数据最终还是要呈现在前端Activity之上的,因为启动Service时,系统会重新开启一个新的进程,这就涉及到不同进程间通信

5、的问题了(AIDL)这一节我不作过多描述,当我们想获取启动的Service实例时,我们可以用到bindService和onBindService方法,它们分别执行了Service中IBinder()和onUnbind()方法。,Service 启动方式: 一、context.startService() 二、context.bindService();使用Service之前必须在androidMainfest.xml 中注册 调用流程:第一种: 启动:context.startService() - onCreate() - onStartCommand() 销毁:ontext.stopSer

6、vice() - onDestroy();如果Service还没运行,则Android会先调用onCreate()方法,然后再调用onStartCommand(); 如果Service已经运行了,则只调用onStartCommand(),所以一个Service的onStartCommand(),方法可能会调用多次。第二种: 启动:context.bindService() - onCreate() -onBind(); 销毁:onUnibind() - onDestroy() onBind() 将返回给客户端一个IBind接口实例,IBind允许客户端调用服务的方法,比如得到Service允许

7、状态或者其他操作这个时候调用者(Context,例如Activity)会和Service绑定在一起,Context退出了,Service就会调用onUnibind() - onDesytoy()相应退出,系统结构,UI层 微博中的各个窗体 logic层 程序的核心控制调度模块,获取UI传递的数据、要执行的任务,调用微博接口,获得网络数据,返回消息,刷新(切换)UI 微博接口层(新浪API已封装) 网络访问层(新浪API已封装) Dao层 数据库操作,Logic层,Task 程序中的任务 taskID taskParamsIWeiboActivity 所有的Activity都实现它 init() 初始化数据 refresh()刷新UI,Logic - MainService,完成程序调度 接收任务,完成业务逻辑,返回信息,更新UI 在后台运行(继承自Service类) 线程(实现Runnable接口) 不断侦听UI传过来任务消息,MainService 流程,MainService启动,run() 侦听任务,UI发出任务 newTask(Task t),doTask(Task t) 处理业务逻辑,发回更新消息给主线程,Handler处理消息队列,调用更新UI方法 refresh(mess),谢谢观赏,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号