欢迎来到天天文库
浏览记录
ID:33352369
大小:1.07 MB
页数:34页
时间:2018-05-25
《实训项目新浪微博android开发课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实训项目新浪微博Android开发新浪微博功能新浪微博功能分层实现UI层微博中的各个窗体logic层程序的核心控制调度模块,获取UI传递的数据、要执行的任务,调用微博接口,获得网络数据,返回消息,刷新(切换)UI微博接口层(新浪API已封装)网络访问层(新浪API已封装)logic层主要类Task定义程序中的任务如:登录,发表新微博,获取用户微博,获取用户详细信息inttaskIdMapparamsIWeiboActivity接口所有窗口实现init()方法完成初始化refresh(Objet...args)方法完成窗体
2、刷新IWeiboActivityMainService完成程序调度接收UI层数据(任务),完成业务逻辑,返回信息,更新UI在后台运行(继承自Service类)线程(实现Runnable接口)不断侦听UI传过来任务消息MainService工作流程MainService启动run()侦听任务UI发出任务newTask(Taskt)doTask(Taskt)处理业务逻辑,发回更新消息给主线程Handler处理消息队列,调用更新UI方法refresh(mess)MainService成员ListallAct
3、ivity保存当前所有Activity,方便切换ListallTask把当前任务加到集合中MainService中的方法publicstaticvoidnewTask(Taskt)publicvoiddoTask(Taskt)publicvoidrun()publicActivitygetActivityByName(Stringname)HanderhandleMessage(Messagemsg)MainService中方法执行顺序MainService启动:清单文件中注册startService()启动
4、线程,侦听任务。newThread()在Oncreate()时UI发出任务newTask(Taskt)把当前Activity加入到allActivity中doTask(Taskt)处理业务逻辑,执行完,移出任务,发回更新消息给主线程Handler处理消息队列,得到要处理的Activity,调用更新UI方法refresh(mess)程序架构登录实现搭建框架logic层创建IWeiboActivity创建Task创建MainServiceUI层创建Logo类--启动闪屏创建Login类--登录窗体创建Main类--程序主窗体
5、(后续需继承自TabActivity)启动全屏//取消标题this.requestWindowFeature(Window.FEATURE_NO_TITLE);this.setContentView(R.layout.logo);//取消状态栏this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);动画加载-由浅入深ImageViewiv=(ImageV
6、iew)findViewById(R.id.logo);AlphaAnimationaa=newAlphaAnimation(0.1f,1.0f);aa.setDuration(3000);iv.startAnimation(aa);//动画加载完,启动Login窗体aa.setAnimationListener(newAnimationListener(){//.........};登录UI登录流程Login消息传递onCreate()获取Login窗体用户名、密码创建一个任务Tasktask=newTask(Task
7、.TASK_LOGIN,map);MainService加入任务MainService.newTask(task);refresh()回调刷新LoginUI,登录成功or失败登录成功进入Main窗体MainService处理登录任务run方法,侦听任务doTask(t)处理任务Messagemess=handler.obtainMessage();mess.what=task.getTaskId();swtich(task.getTaskId()){.....}//根据不同的任务,调用微博接口handler.sendMe
8、ssage(mess);//发送消息,至队列处理UIallTask.remove(task);//执行任务结束,移出任务HandlerhandleMessage()方法更新UI根据不同的Activity,调用refresh()方法登录扩展功能记住用户名、密码,自动登录SharedPreferences判断网络是否正常
此文档下载收益归作者所有