Android新浪微博客户端(开题报告)

合集下载

新浪微博Android开发V

新浪微博Android开发V
• 完成窗体刷新
IWeiboActivity
MainService
完成程序调度
接收UI层数据(任务),完成业务逻辑,返回信息,更 新UI
在后台运行(继承自Service类) 线程(实现Runnable接口)
不断侦听UI传过来任务消息
MainService启动
UI发出任务 newTask(Task t)
refresh()回调刷新Login UI,登录成功or失败
登录成功进入Main窗体
MainService处理登录任务
run方法,侦听任务 doTask(t) 处理任务
Message mess = handler.obtainMessage(); mess.what = task.getTaskId(); swtich(task.getTaskId()){.....}//根据不同的任务,调用微博接
实训项目
新浪微博 Android开发
新浪微博功能
新浪微博功能
分层实现
UI层
微博中的各个窗体
logic层
程序的核心控制调度模块,获取UI传递的数据、要 执行的任务,调用微博接口,获得网络数据,返回 消息,刷新(切换)UI
微博接口层(新浪API已封装) 网络访问层(新浪API已封装)
View view = LayoutInflater.from(conts).inflate( yout.list_moreitems, null);
TextView tv =(TextView)view.findViewById(R.id.textView); tv.setText("刷新");
• 可切换的5个Activity • 所在Activity高亮显示

新浪微博安卓客户端课程设计报告

新浪微博安卓客户端课程设计报告

移动互联网开发课程设计报告学生:谌敦斌学号:031241318 专业:数字媒体技术班级:0312413 设计题目:安卓新浪微博客户端设计学年学期:2014 年秋季学期指导教师:华目录(示例)一、设计题目 (1)二、设计目的 (1)三、设计原理及方案 (1)1使用的软件工具和环境 (1)2需求分析与概要设计 (1)3数据库设计(若有) (1)4详细设计和关键问题 (1)四、实现效果 (1)五、设计体会 (1)参考文献 (3)一、设计题目简易新浪微博客户端系统二、设计目的通过设计开发新浪微博客户端综合训练安卓系统开发能力,进一步提升对安卓程序开发及运行的理解和认识,学会团队协作,开发出界面与功能都有特色的安卓应用软件。

掌握并熟悉OAuth认证协议的工作原理,学会通过http的get或者post 方式传参数获取相应的服务器应答信息,能够利用新浪微博官方提供的一系列接口完成简易微博客户端的开发。

三、设计原理及方案1使用的软件工具和环境Eclipse jdk7.0 Android SDK以及新浪官方提供的WeiboSDK、WeiboSDKDemo和相应API2需求分析与概要设计众所周知,官方新浪微博客户端的功能非常完善,我们这次课程设计主要是模仿官版的微博。

具体的功能需求如下:1.我们的安卓客户端是在线运行的,也就是必须在有网络连接的情况下才能工作,如果没有联网将提醒用户打开网络连接。

2.为了安全起见,安卓客户端不建议直接使用用户名和密码进行登录,而是通过比较流行的OAuth认证授权后才能登录使用,所以授权功能是必须的。

并且在测试阶段,授权的用户必须经过开发者将其微博昵称添加到测试信息才能正常登录。

3.对于第一次授权成功的用户,我们需要把它的部分身份信息例如ID 、昵称、头像url 和token 验证等保存到数据库,方便下一次直接登录。

因此要设计一个简易的数据库功能。

4.对于已经授权的用户,如果第二次登录,就不需要授权,而是直接进入登陆界面。

基于Android系统的新浪微博客户端的设计与实现

基于Android系统的新浪微博客户端的设计与实现

基于Android系统的新浪微博客户端的设计与实现作者:王明超来源:《电脑知识与技术》2012年第33期摘要:该系统基于Android移动开发平台,使用Java语言开发,使系统具有良好的平台移植性和可扩展性。

新浪微博Android SDK为第三方微博应用提供了文档易用的微博API调用服务,使第三方微博客户端无需了解复杂的验证和API调用过程,就可以实现分享文字或者多媒体信息到新浪微博。

本系统包括四个模块:应用程序登录模块,主界面显示模块,微博浏览模块,用户模块。

在登录模块,用户可以使用授权配置和用户注册并且登录系统。

关键词:新浪微博开放平台;授权配置;微博API调用服务中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2012)33-7933-03每一个时代都会催生新的理念,每一个理念又会引领新的潮流,每一个潮流又注定会冲破原有的桎梏,创新是时代的特征,更是IT业的标志。

摩尔定律的持续实现使整个IT业的发展和更新令人手忙脚乱,而作为终端设备中数量级最大的手机,近年更是近乎脱胎换骨,在颠覆传统手机概念的同时,不断挖掘着自身的市场价值,也成为众多厂商利益角逐的角斗场[1]。

IOS在乔布斯的精心策划下一路高歌猛进,Android则凭着开源的方式开山劈路,Symbian和Black berry的旧有模式被不断蚕食,Windows Phone则在滞后的泥潭中继续挣扎。

手机终端多样化应用的不断出现,使其在近乎实现PC端功能的同时,也影响着PC的发展。

互联网领域,以Facebook为代表的SNS的突起更是激起新一轮的网络风波,而在国内,冲破众堵的新浪在其准确的定位和成功的推广策略下推出的新浪微博更是占据了先导地位,并逐渐进入大众生活,成为许多人的生活必需品。

近年来,新浪微博的邀请重点由明星、名人转向媒体工作者甚至政府工作者,为时事的发布和民政工作提供了更为多样、便捷的方式[2]。

于是,新浪微博手机客户端便应运而生,而作为市场占有率第一的Android平台下的新浪微博客户端更是拥有广泛的需求。

基于Android手机微博客户端的设计

基于Android手机微博客户端的设计

基于Android手机微博客户端的设计作者:朱建明来源:《电脑知识与技术》2017年第36期摘要:设计基于android的手机微博客户端,通常一个博客系统包括Web服务器、Web端系统和手机客户端系统。

手机微博客户端使用Eclipse环境进行设计,使用MySQL数据库,服务器使用Tomcat7.0。

实现手机微博的基本功能,如注册新用户,发表微博,关注好友,收藏微博,查找用户等。

关键词:Android;模块;数据库;微博中图分类号:TP311.1 文献标识码:A 文章编号:1009-3044(2017)36-0067-031 背景1.1 Android简介Android是一个包含操作系统、中介架构层及应用程序所产生出来的软件堆栈架构。

由下而上,其核心为嵌入式Linux2.6作业系统,向上搭配Google为Android开发的类库及Android 运行时,再配合应用程序架构,来开发各种不同的应用程序。

目前,Android手机占全球手机市场份额的90%左右。

1.2 手机微博介绍手机微博是智能手机继即时通信之外是又一个吸引人的应用。

手机随时随地的拍摄功能和随时随地的联网功能,是用手机的微博较之计算机更有优势。

运行在手机上的微博是客户端的应用程序,中国几个著名的互联网综合服务提供商如腾讯、新浪、网易等公司都向用户提供这一应用的下载。

移动互联网技术发展迅猛,风靡全球的博客也从计算机移动便携设备发展,趋于微型化和简易化。

1.3 设计目标实现手机微博的基本功能,如注册新用户,发表微博,关注好友,收藏微博,查找用户等。

在手机微博客户端程序开发完成后,经过打包签名,可运行在Andriod2.1及其以上版本。

1.4 开发环境和目标平台1)开发环境² Java开发工具,JDK1.7。

² Web应用服务器,Tomcat7.0。

²数据库,服务器端数据库MySQL Sever5.1和客户端数据库MySQL WorkBench6.0。

新浪微博for Android界面技术方案设计

新浪微博for Android界面技术方案设计

新浪微博Android界面技术方案设计新浪微博Android界面设计方案,需要进行以下的分析和总结。

1、明确建立网站的目标和用户需求;2、确定总体设计方案主题;3、功能、框架确定及可用性分析(需要与软件开发人员共同探讨)4、原型设计,即初步板式确定及色彩使用分析;5、界面设计,即在相关软件上实现界面;6、修改并交予重构。

一、产品定位与市场分析阶段1、目的:了解新浪微博移动客户端(基于Android系统)针对的市场、客户群体、运行方式、盈利方式等,以确定相应的产品开发方向。

2、产品定位:新浪微博是一款为大众提供娱乐休闲生活服务的信息分享和交流平台。

娱乐——涵盖最全面的娱乐明星与资讯;生活——反映网民现实生活的点点滴滴;快乐——分享发现人们身边的趣闻轶事3、市场分析:截至2010年10月底,新浪微博用户数已达5000万,目前是中国用户数最多的微博产品,公众名人用户众多是新浪微博的一大特色,目前基本已经覆盖大部分知名文体明星、企业高管、媒体人士。

根据2010年官方公布数据显示,新浪微博每天发博数超过2500万条,其中有38%来自于移动终端。

每天发布微博数量超过两千五百万条,微博总数累计超过20亿条。

是目前国内最有影响力、最受瞩目的微博运营商。

移动客户端发展前景巨大移动客户端的优点在于其实时性,实地性,故可以将新浪微博移动客户端定位为新闻发布平台,信息交互平台,娱乐休闲平台,生活展示平台,快乐分析平台。

故在设计界面时,Android是目前主流的智能手机操作系统,那么智能手机在各个方面的应用当然也要体现出其系统优势出来,即给用户更好的交互体验及功能享受。

界面的展现会主要以微博为主,实现查看、发表、评论、分享等功能,结合Android良好的触控体验,二、用户需求分析1、目的:收集相关资料分析目标用户的使用特征、情感、习惯、心理、需求等,提出用户研究报告和可用性设计建议。

这部分工作有团队配合完成。

时间与项目需求允许的情况下,更可以制定实景用户分析。

【推荐】微博开题报告word版本 (6页)

【推荐】微博开题报告word版本 (6页)

本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==微博开题报告篇一:微博营销的开题报告微博营销开题报告一选题的背景和意义微博,即微博客(MicroBlog)的简称,是一个基于用户关系的信息分享、传播以及获取平台,用户可以通过WEB、WAP以及各种客户端组件个人社区,以140字左右的文字更新信息,并实现即时分享。

微博是继视频网站、社交网站之后新兴的开放互联网社交服务。

1选题的背景微博是一种新兴的传播媒介,他是随着互联网通讯技术的发展而发展的。

微博营销是相继微博媒介发展后的产物。

微博营销与传统的营销相比有相似之处,但也有许多不一样的地方。

我们主要是找出微博营销中的口碑营销,他与传统营销的差异,并在这基础上将微博口碑营销做全方面的研究。

随着一些商家借助微博实行营销成功以后,越来越多的人将眼光关注到了微博这个具有潜力的媒介,企图通过微博增长企业的业绩。

因此,从目前来看对微博口碑营销的一些问题的探讨是极其迫切和重要的。

我们应该在了解成功案例的同时,将他们的经营以理论的方式汇集成有价值的文献,供其他企业借鉴。

2理论意义微博营销伴随着微博媒介的发展而发展。

但是,对于微博营销的研究尤其是具体某一方面的研究内容较少。

本文希望通过对微博营销中的其中一种营销方式—口碑营销结合案例作详细的了解和分析。

提出微博口碑营销的多种有意义的方式,为企业运用微博作口碑营销的研究提供些理论上的依据。

3 实践意义本文希望通过对微博营销中的经典案例进行分析,提出一些微博口碑营销的实际有效的方式。

将微博口碑营销更好的运用到其他企业的网络营销之中,为企业的发展提供一个有效的渠道。

并通过这些渠道,提升企业的知名度。

或者,在与消费者的互动和有效沟通中,了解企业在消费者心目中的形象,且能快速直接的得到消费者对企业的意见和建议,有利于企业更好的发展。

二研究的基本内容本文主要研究的问题是从案例分析微博口碑营销到探讨出微博口碑营销的理论策略,主要是将微博口碑营销做一个详细的阐述。

android微博课程设计

android微博课程设计

android微博课程设计一、课程目标知识目标:1. 理解Android平台微博应用的基本功能与界面设计原理;2. 掌握微博应用中数据传递、处理和展示的技术要点;3. 学习运用Android开发工具进行微博应用的基本功能开发。

技能目标:1. 能够运用所学知识独立设计并实现微博应用的界面布局;2. 能够编写代码实现微博应用的登录、发微博、查看微博等功能;3. 能够对微博应用进行调试和优化,解决常见问题。

情感态度价值观目标:1. 培养学生对移动应用开发的兴趣,激发创新意识和探索精神;2. 培养学生团队协作意识,学会与他人共同解决问题;3. 引导学生关注网络社交现象,培养积极健康的网络素养。

课程性质:本课程为实践性较强的课程,以项目为导向,结合课本知识,使学生能够掌握Android平台微博应用的开发技能。

学生特点:学生具备一定的编程基础,对Android开发有一定了解,对微博应用有较高的兴趣。

教学要求:教师需采用案例教学、任务驱动等方法,引导学生主动探索,注重实践操作,提高学生的动手能力。

同时,关注学生的个体差异,给予个性化指导,确保课程目标的实现。

在教学过程中,将目标分解为具体的学习成果,便于后续教学设计和评估。

二、教学内容1. 微博应用概述:介绍微博应用的基本功能、界面设计及用户交互方式,关联课本第一章内容,帮助学生建立整体认识。

- 界面设计原理与布局:分析微博应用界面布局,学习Android常用布局方法,如LinearLayout、RelativeLayout等,结合课本第二章内容。

- 用户登录功能实现:讲解微博应用登录功能的技术要点,学习使用SharedPreferences、Intent等,关联课本第三章内容。

2. 微博功能实现:- 发送微博:学习使用EditText、Button等控件,结合课本第四章内容,实现发送微博功能。

- 查看微博:学习使用ListView、BaseAdapter等,展示微博列表,关联课本第五章内容。

基于Android系统的新浪微博客户端的设计与实现

基于Android系统的新浪微博客户端的设计与实现

独创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。

除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。

对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。

本人完全意识到本声明的法律后果由本人承担。

论文题目:作者签名:日期:年月日论文版权使用授权书本人完全了解吉首大学有关保留、使用学位论文的规定,即:学校有权保留送交论文的复印件和磁盘,允许论文被查阅和借阅,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。

同意吉首大学可以用不同方式在不同媒体上发表、传播学位论文的全部或部分内容。

(保密的学位论文在解密后应遵守此协议)论文题目:学生签名:日期:年月日导师签名:日期:年月日基于Android系统的新浪微博客户端的设计与实现摘要本系统基于Android移动开发平台,使用Java语言开发,使系统具有良好的平台移植性和可扩展性。

新浪微博Android SDK为第三方微博应用提供了文档易用的微博API调用服务,使第三方微博客户端无需了解复杂的验证和API调用过程,就可以实现分享文字或者多媒体信息到新浪微博。

本系统包括四个模块:应用程序登录模块,主界面显示模块,微博浏览模块,用户模块。

在登录模块,用户可以使用授权配置和用户注册并且登录系统。

主界面显示模块中,用户可以发表新的微博和通过昵称搜索好友。

微博浏览模块,进入浏览微博的详细页面,用户可以评论微博和转发微博。

用户模块,可查看该用户的详细信息包括该用户的关注列表,话题列表,粉丝列表,和该用户所发表过的全部微博。

关键词:新浪微博开放平台;授权配置;微博API调用服务.Sina Micro-Blog Client Design and Implementation Based onAndroid SystemAbstractThis system based on Android mobile development platform, use Java language development and the system which has a good platform portability and expansibility. The Sina micro-blog Android SDK third-party micro-blog application provides document easy to use micro-blog API call service, so that the third-party micro-blog client without understanding the complex validation and API calls procedure, may realize to share text or multimedia message to Sina micro-blog.This system includes four modules: application login module, the interface display module, the blog browsing module, the user module. In login module, the user can use authorized configuration and user registered and logged in system. In interface display module, users can post new micro blog and through the nickname to search good friends. In blog browsing module, users can comment on the blog and forwarding the blog into the detailed page. In user module, can view the detailed information including the users' attention list, topics list, fan list, and all the blogs he has posted .Keywords:Sina Micro-Blog Open Platform; Authorized Configuration; Micro-Blog API Calls Service.目录第一章绪论 (1)1.1课题背景 (1)1.2微博简介 (1)1.3 Android简介 (2)1.4研究目标 (2)1.5研究内容、意义 (3)第二章系统分析 (4)2.1系统可行性分析 (4)2.2系统需求分析 (4)2.3系统规划概述 (5)2.4基于Android新浪微博客户端的建设原则 (6)2.5系统开发环境及相关技术 (6)第三章系统概要设计 (7)3.1系统设计目标 (7)3.2系统模块设计 (7)3.2.1系统功能模块划分 (7)3.2.2系统总体结构设计 (7)3.2.3系统模块用例图分析 (9)第四章数据库设计与实现 (18)4.1数据库概念结构设计 (18)4.1.1实体图 (18)4.1.2系统实体联系 (20)4.2系统数据库物理建模 (20)第五章系统详细功能实现 (23)5.1登录模块实现 (23)5.1.1用户授权配置模块 (23)5.1.2用户登录模块 (24)5.2主界面显示模块实现 (25)5.2.1显示最新微博列表 (25)5.2.3发表微博功能 (27)5.3微博信息浏览模块实现 (27)5.4获取用户信息模块实现 (29)5.4.1查看关注功能 (30)5.4.2查看用户所有微博信息功能 (30)第六章系统的测试与维护 (32)6.1单元测试 (32)6.2集成测试 (33)总结 (34)参考文献 (36)致谢 (37)第一章绪论1.1课题背景每一个时代都会催生新的理念,每一个理念又会引领新的潮流,每一个潮流又注定会冲破原有的桎梏,创新是时代的特征,更是IT业的标志。

sina微博实训文档

sina微博实训文档

JavaEE课程设计报告书班级:软件092学号:200900834229姓名:李星运目录1.概述........................................................................................................ - 1 -2.名词解释 ................................................................................................. - 1 -2.1.OAuth:......................................................................................... - 1 -2.2.OAuth认证参数:........................................................................... - 1 -3.功能概述 ................................................................................................. - 2 -3.1.微博的认证和登录........................................................................... - 2 -3.2.微博的查看和刷新........................................................................... - 3 -3.3.发送微博信息 ................................................................................. - 5 -4.设计目的 ............................................................................................... - 11 -5.总体设计:............................................................................................ - 11 -6.详细设计:............................................................................................ - 12 -6.1.OAuth认证................................................................................... - 12 -6.2.获取RequestToken和AccessToken ................................................ - 15 -6.3.查看微博...................................................................................... - 16 -6.4.解析Json格式数据 ....................................................................... - 18 -6.5.发送微博...................................................................................... - 22 -6.6.转发和评论微博 ............................................................................ - 25 -7.结束语................................................................................................... - 27 -1.概述微博作为最新互联网社交网络的代表之一,在随着移动客户端的兴起已成为一种生活,快捷及时的交流和共享方式打破了原来的社交模式。

Android授权登录新浪微博获取用户个人信息汇总

Android授权登录新浪微博获取用户个人信息汇总

Android授权登录新浪微博获取用户个人信息一、准备工作我们都知道,无论是分享到新浪微博,还是获取新浪微博的用户信息,都离不开一样东西,那就是新浪微博的APPID,APPID通过绑定我们应用程序的包名和签名进行识别,可以说它是我们跟新浪微博官方所提供接口进行交互的一个重要令牌,这一点跟QQ、微信接口等访问原理基本是一样的。

那么问题来了,APPID到底怎么得到?答案就是你要到新浪微博开放平台/注册一个帐号,填写并创建你的应用。

如下图所示:点击创建应用后会出现如下图所示页面,在这个页面中你必须要填写你的Android包名和Android签名,包名就是你应用程序AndroidManifest.xml文件中的package中的字符串,比如你新建了一个名称为“test”的项目,那么你的包名应该是com.example.test了。

至于Android 签名,你可以在该开放平台下载签名工具apk装到手机,然后打开该apk填写程序包名获取签名,也可以直接在开发工具eclispe中点击Window->Preferences->Android->Build查看,如下图所示,至于其它必要的填写信息,你自己去完善就可以了将所有信息填写完善后我们点击提交审核,注意,只有审核通过的应用才能调用他们提供的API。

二、工程准备新建一个工程,包名要跟你上面填写的包名一致。

新建完成后下载新浪微博SDK,下载完成后解压,将libs目录下的文件全部拷贝到你的工程libs目录下,将weiboSDKCore_3.1.2.jar 包也拷贝到libs目录下,找到AccessTokenKeeper.Java、UsersAPI.java、AbsOpenAPI.java文件并拷贝到你的包中,我把我的工程目录图贴出来,后面我会把整个示例源码放上来。

注意上面common中的SinaUserInfo.java是我自己建的,只是用来方便存和取用户信息而已。

新浪微博android客户端

新浪微博android客户端

新浪微博android客户端概述微博Android平台SDK为第三方微博应用提供了文档易用的微博API调用服务,使第三方客户端无需了解复杂的验证,API调用过程。

并可以实现分享到微博的功能,可以分享文字,或者多媒体信息到内置的分享页面,并发送到微博。

此SDK封装了 HTTP请求以及Json信息的解析,我们只要实现页面相关功能的开发就行了,这样对于我们Android开发人员来说,减轻了不少压力呀!名词解释Consumer_key 分配给每个第三方应用的app key。

用于鉴权身份,显示来源等功能。

Consumer_secret 生成请求request Token的secret,与consumer key一起分配。

Oauth_token 服务器根据app key和时间,callback_url等哈希出的token值,用于获取oauth verifier。

Oauth_token_secret 与oauth token一起使用,用于获取oauth verifier。

Oauth_verifier 通过oauth页面返回的verifier,用于最终获取access token。

Access_token 表示用户身份的token,用于微博API的调用。

整体架构及分层∙UI层∙微博中的各个窗体∙logic层∙程序的核心控制调度模块,获取UI传递的数据、要执行的任务,调用微博接口,获得网络数据,返回消息,刷新(切换)UI ∙微博接口层(新浪API已封装)∙网络访问层(新浪API已封装)1.OAuth(1)和初始页面介绍1.首先说明一下新浪微博提供了OAuth和Base OAuth两种认证方式(如果不知道什么是OAuth和BaseOAuth请自己google一下恶补),本项目是采用OAuth认证方式,采用这种方式就需要有用户的新浪UserID、Access Token、AccessSecret这3样东西才能自由便利的调用新浪的开放接口,本项目是这样做的当用户第一次使用软件时进行授权认证获取这3样东西的时候存储到SharedPreferences中以便用户下次使用时不需要重新进行繁琐的授权认证操作直接从SharedPreferences中读取出来即可,由于这样的需求载入页面的功能设定是这样:当用户打开软件显示载入页面时开始检查SharedPreferences中是否已经保存有用户的新浪微博的UserID号、Access Token、AccessSecret的记录,如果一条记录都没有那就说明用户是第一次使用本软件那么跳到认证授权页面进行授权认证操作(认证授权功能在接下来的两篇中进行实现讲解)获取这3个值保存到SharedPreferences中,如果已经包括了记录,那么读取这些记录的UserID号、Access Token、AccessSecret值然后根据这3个值调用新浪的api接口获取这些记录对应的用户昵称信息等!下图是OAuth认证的原理图1.开场动画及登陆好了既然了解的认证机制,那么我们就来实现这个功能,首先我们先为我们的项目设计开场动画,然后跳转转到登陆页面!(由于我没时间去做那么多精美的图片,所以教程中的图片大部分还是来自于原版的新浪微博,有兴趣的同学可以自己设计一些自己比较喜欢的图片,所以这里图片的资源引用我就不做详细的介绍了!)在UI层创建Logo.java 和Login.javalogo Activity的介绍Logo的布局文件就是两个ImageView,并对这两个ImageView设置动画效果上面的是一个帧动画,下面是一个渐变Alpha动画并对这个动画进行监听,当动画结束的时候我们启动Login Activity最后记得在mainfest中注册声明Login activity当做完这些,我们的基本页面就算完成了!2.了解程序的运行流程上图说明了程序的整体运行框架,接着我们来详细看一下Logic层的一些核心类的介绍,为我们的登录验证做好前置工作2.Logic核心层的的介绍:1. IWeiboActivity接口的介绍∙IWeiboActivity接口∙所有窗口实现∙init()方法∙完成初始化∙refresh(Objet ...args)方法∙完成窗体刷新∙3.Task类的介绍定义程序中的任务如:登录,发表新微博,获取用户微博,获取用户详细信息等各种任务int taskId//当前任务的IDMap params //当前任务的参数4.MainService的介绍(核心控制类)1. 首先说一下MainService的主要功能完成程序调度接收UI层数据(任务),完成业务逻辑,返回信息,更新UI在后台运行(继承自Service类)线程(实现Runnable接口)不断侦听UI传过来任务消息2. MainService流程图预览3. MainService的核心方法个变量List<Activity> allActivity保存当前所有Activity,方便切换List<Task> allTask把当前任务加到集合中然后开启线程在Task中遍历任务去执行任务public void run() {while (isrun) {Task lastTask = null;synchronized (allTask) {//这里有可能同时有多个任务并发所以要加锁同步if (allTask.size() > 0) {lastTask = allTask.get(0);Log.i("yanzheng", "任务ID" + lastTask.getTaskID());doTask(lastTask);}}// 每隔一秒钟检查是否有任务try {Thread.sleep(1000);} catch (Exception e) {}}当接线程发现任务会调用doTask(Task task)方法去执行任务Message mess = hand.obtainMessage();mess.what = task.getTaskID();//将当前任务的ID 放到Message中mess.obj = Object object;//讲当前任务执行的结果放到message中hand.sendMessage(mess);//发送当前消息allTask.remove(task);//当前任务执行完毕把任务从任务集合中removepublic void handleMessage(Message msg) 可以接收一个Message对象(也就是我们doTask中传递的Message)switch (msg.what) {case Task.TASK_GET_USER_HOMETIMEINLINE://任务ID//因为当前HomeActivity实现了IWeiboActivity这个接口,我们得到当前activity的实例,并调用它实现的刷新方法,同时讲参数传递过去,这里就实现了Service中刷新数据的方法了!IWeiboActivity ia = (IWeiboActivity) MainService.getActivityByName("HomeActivity");ia.refresh(HomeActivity.REFRESH_WEIBO, msg.obj);break;说到这里相信大家对MainService有了一个整体的了解,接下来我们通过登陆来验证我们Service’的功能!4. OAuth(2)登陆请求认证篇1.调用web进行登录验证上次我们的UI篇说到了登陆页面,接下来我们要做的就是实现登陆功能首先当我们进入Login activity时我们没有进行授权,就要给用户提示一个信息,让用户进入到授权页面!那么我们首先来做这个提示功能,并实现点击确定按钮,跳转到认证页面!首先我们来了解一下OAuthActivity 这个Activity我们需要特殊处理首先介绍一下他的注册当我们点击Dialog中的确定按钮先打开那个callbackurl 那个URL回调的页面就是我们的OAuthActivity .我们在这个页面就可以处理我们返回的数据,Uriuri=this.getIntent().getData();得到AccessToken的key和Secret,可以使用这两个参数进行授权登录了!这里我们需要保存我们的登陆信息以及AccessToken的key和Secret,下次在进入页面我们就不需要,从新授权,直接拿这个信息就可以进行登陆认证!那么OK 我们在这个页面进行保存信息!首先我们需要写一个方法来保存首选项SharedPreferences,将用户信息保存起来!那么接下来我们在Util下写这个方法!2.保存授权信息一个是保存当前用户信息,一个是读取用户保存的信息!在OAuthActivity中当我们点击登陆按钮,需要执行认证请求,然后将返回的数据保存在首选项中,在跳转到登陆页面! 此时我们的登陆页面依然有那个提示框,所以我们要判断当前首选项中是否有保存的用户信息,如果没有则提示那个登陆框,如果有得话,就把用户的昵称显示在EdieText中! 所以我们需要在初始化的时候判断当前的首选项是否保存了用户的信息如果提示认证的Dialog没有显示我们则可以点击登陆按钮在Service进行登陆请求此时我们需要做的就是当点击登陆按钮向Service发送一个任务,此时记住我们要在Manifest中注册MainService和在Login Activity启动MainService3.MainService任务执行流程前面我们说了MainService的工作原理,接下来我们来详细说下,当任务发送到Service接到任务会怎么处理!下图是我画的一个启动任务到完成任务的流程图通过上面的大致流程,相信大家!对Service的工作流程有了一个更深刻的认识接下来我们来讲解一下认证登陆的原理!用户安装完应用程序,第一次登录,会提示用户认证,用户认证调取的是新浪的页面,调用此页面需要第三方应用的appkey和用户在认证页面输入自己的账号密码提交到新浪,新浪会返回给第三方应用一个加密的密匙,第三方应用通过这个密匙(也就是用户的凭据),去向新浪服务器端请求用户的信息,完成登录!具体参考下图:5.主页面的实现当我们完成登录的验证,就会自动跳转的主页面,在实现主页面功能的开始我们先看一下程序完成后的效果图,下图就是我们完成后的新浪微博客户端的主页面!怎么样?看着心动吧!那么下面我们就来动手实现这样一个漂亮的页面首先我们来说明下,整个页面的组成部分!首先是外框架采用TabActivity,下面五个按钮是TabActivity布局文件的一组RadioGroup当我们点击任何一个页面的时候就会将该一个与之对应的Activity在当前页显示!1.TabActibity的实现首先我们要实现的就是布局文件,我们来创建一个maintabs.xml文件,里面是父容器是</TabHost>,在Tab Host中我们必须要写它的TabWidget属性,这里我们设置它不可见!下面就是我们的要实现的按钮组RadioGroup!如下图所示的效果!要实现下图效果我们就要需创建我们用来切换的5个ActivityHomeActivity//主页MSGActivity//信息UserInfoActivity//用户信息SearchUser//收索MoreSetting//更多这里我们的按钮都是使用的是同一个style效果,具体的参数属性设置参考style文件完成布局文件,接下来我们来实现TabActivity内代码的编写,来实现我们的需求!首先我们的activity需要继承自TabActivitytab1=this.getTabHost();//获取TabHostTabSpec ts1=tab1//tab子标签跳转到HomeActivity.newTabSpec(TAB_HOME)//设定标签.setIndicator(TAB_HOME);//指定一个标签作为选项卡指示符//指定一个加载activity的Intent对象作为选项卡内容ts1.setContent(new Intent(MainActivity.this, HomeActivity.class));tab1.addTab(ts1);//添加第一个子页TabSpec ts2=tab1.newTabSpec(TAB_MSG).setIndicator(TAB_MSG);//tab子标签跳转到MsgActivityts2.setContent(new Intent(MainActivity.this, MSGActivity.class));tab1.addTab(ts2);//添加第二个子页…….剩下的依次添加就行了下面的就是我们的点击切换页面功能的实现做完上面这一步,我们来先一下效果图!这样我们的主页面就搭建完成了!接下来我们就进入了微博的核心代码编写!2 .HomeActivity的实现1.主页面的基本内容展示.首先我们来简单的实现一下主页面的信息,简单的效果如下图所示那么我们现在首先要实现的就是布局文件,home.xml布局文件分为3个部分,标题头和进度条,以及ListView,前面我我们讲述了Service的工作原理,这里我们的HomeActivity只要实现IWeiboActivity这个接口.然后在in it()方法中去实例化任务,并把任务添加到MainService中,MainService的线程会去调用doTask()方法在dotask时候调用WeiBo这个类// 获取当前登录用户及其所关注用户的最新20条微博消息List<Status> allweibo = weibo.getFriendsTimeline();mess.obj=allweibo; //将获取信息放入到Message中发送然后在handmessage中将message传来的数据放入refresh(Object... param)方法中这里由于我们已经获取当前Activity的上下文,所以可以通过handle来更新当前Activity的页面信息,这里的param参数里就是我们放入的List<Status>allweibo,这里我们把它强制转换成List<Status> 传入adapter中! 讲LlistView setadapter 我们的主页面信息也就完成了!我这里解释一下 Status这个对象就是微博内容.里面封装了微博的各种信息这里我们可以根据传递的List<Status> 中微博内容的各种信息显示到ListView中!这里我们来实现另外一个功能就是我们现在主页面一次只加载5条微博信息,当我们的ListView 拖动到底部的时候会显示一项更多选项,当我们点击更多的时候,会去在向服务器请求,在加载5条微博显示!现在我们要做的就是写用来显示微博信息的Listview中的item布局,具体的实现代码参考item.xml;这里我就不在解释item.xml中的布局是如何实现的,首先我们来看一下当我们点击更多选项时,程序大致的运行流程现在我们就要了解另外一个概念分页,其实在SDK已经有一个方法就是专门为我们请求微博信息做分页的方法Paging(int page, int count) ,这里我们只要传递,当前的请求的页说和每页的条数!系统就会返回我们需要的微博条目!这里我们需要从新写上面init()方法中的任务参数!同时在Service请求微博的时候我们可以吧paging这个参数传递进去接下来我们来详细说一下我们的weiboAdapter这里我就主要解释一下 addmore()和getView 方法//请求更多的数据public void addmoreDate(List<Status> addmore){this.status.addAll(addmore);//吧新传得数据加到现在的list中this.notifyDataSetChanged();}上面的方法主要功能就是给当前的adapter添加新的数据,然后提醒当前的适配器数据发生改变了,此处使用this.notifyDataSetChanged();就是吧当前添加的新数据,追加显示到ListView中! 下面我们来说一下@Overridepublic View getView(int position, View conterView, ViewGroup parent) { ViewHolder vHolder;if (conterView==null) {//加载一个新的View当 Root为null时可以拿到所有XML的资源文件conterView=LayoutInflater.from(mContext).inflate(yout.itemview, null);vHolder=new ViewHolder();itemName=(TextView)conterView.findViewById(ItemName);…conterView.setTag(vHolder);}else {//如果缓存中没有就重新创建vHolder=(ViewHolder) conterView.getTag();}上面就是一个很普通的复用conterView,如果这一块看不懂得话还是好好看看Listview吧下面来看一下我们完成后的效果图实现完上面的效果!我们会发现尽管我们在Service中去下载微博信息来更新UI 界面显示,但是主页面依然会很卡.而且现实的时间要很久,因为每调用一次getView()就去下载那些微博内容图片,下载是一个耗时的操作,所以这里我们就需要做异步加载图片!至于关于什么是异步我相信大家都能理解,因为我们前面的项目中已经学习了异步加载,这里我就直接上代码,不做过多的解释,如果还有看不懂或者弄不明白的可以在来单独给我说!做到这里,细心的同学可能会发现一个BUG,就是我们如果按标准的convertview复用,就会出现一个问题,就是当我们采用上面那种标准的复用写法,加载的微博信息会出现错位,也就是说当我们的item不一样高度,页面显示的item数量不统一时,LlistView就会出现错位!当我们异步加载的时候不管怎么打标签就会发现图片依然会错位!这里我们需要另外一种写法,虽然效率上可能没用convertview复用高!但是它不会出现错位的现场!View statusView=null;if ((conterView!=null)&&(conterView.findViewById(R.id.contentPic)!=null)) { statusView=conterView;}else {//如果缓存中没有就重新创建//加载一个新的View当 Root为null时可以拿到所有XML的资源文件statusView=LayoutInflater.from(mContext).inflate(yout.itemview, null);}ViewHolder vHolder=null;vHolder=new ViewHolder();Content=(TextView)statusView.findViewById(ItemContent);vHolder.ivitemPorprait=(ImageView)statusView.findViewById(R.id.ivItemPortrait);………..vHolder.contentPic=(ImageView)statusView.findViewById(R.id.contentPic);通过这种方式去实例化我们item中的每一个子控件!至于每个item要显示什么数据,就是根据 Status mstatus=status.get(position);来判断,这里我们通过if (mstatus.getRetweeted_status()!=null) {….}判断当前微博是否是又转发!其中, mstatus.getRetweeted_status()获得的同样是status对象,我们同样可以判断是否有内容图片之类的,具体的判断参考WeiboAdapter其中需要我们注意的是我们的Item 中的布局可以简单的看成3不封,左边是头像,右边是上下两部分,上面是微博内容,下面是又转发内容,如果没有使用又转发,我们可以显示所有微博内容,包括内容图片,还有就是我们的新浪V认证,是系统认真的用户我们就给一个V字标示!到这里我们的主页面就算基本完成接下来我们来实现基本菜单的功能2.菜单功能的实现实现效果如下图所示:具体怎么实现 ,这里我就不说了很简单,不明白得可以参考代码这里菜单功能的实现,由于时间的原因,我们就只只实现退出功能,其余的我们可以根据API进行扩展实现,这个退出功能的代码我们只在Service中实现,下面我们来写这个代码public static void exitAPP(Context context) {Intent it = new Intent("weibo4android.logic.util.MainService");context.stopService(it);//停止服务//杀死进程我感觉这种方式最直接了当android.os.Process.killProcess(android.os.Process.myPid());for (Activity activity : allActivity) {//遍历所有activity 一个一个删除activity.finish();}}接下来我们来实现一个小功能就是当我们点击back键的时候,程序就退出去了,这样给用户的体验很不好,这里我们就需要拦截Back键执行的动作,去弹出一个确认退出提示框,当用户点击确认的时候,才会退出应用程序!这里我们需要重写父类的onKeyDown(int keyCode, KeyEvent event){….}方法这里if (keyCode == KeyEvent.KEYCODE_BACK) {btexit();//当我们按下返回键的时候要执行的方法return true;}这样我们就完成了Back键的拦截在btexit()方法中我们弹出一个dialog 让用户选择是否退出!实现玩这个功能,我们就来实现标题头按键及功能的实现!3.实现布局标题头我们要实现的效果如下图所示,当我们点击写微博按钮和刷新按钮执行相应的功能因为我们这个标题都可能多出会用到所以,这里我们两边的ImageView默认是没有内容的当我们需要在一个Activity显示什么按钮是可以找到那个imageview的ID,我们这当前的Aictiity去给那个imageview指定按钮图片!接下来我们从Service取得当前用户,并将它的用户名称名显示在title中间那么我们现在来实现标题头的两个按按钮的功能,首先我们说一下刷新主页面微博信息的功能如何实现当我们点击刷新按钮时,头部的进度条会显示,,同时刷新按钮不会显示!刷新的功能是就是从新请求第一页的信息来显示,从新加载listView(这里可能需要优化)写完点击事件,我们接下来要写的就是发表微博,这里我们首先要创建一个新的activity3.发表一条新微博当我们在HomeActivity点击写微博按钮,就会跳转到发送微博的Activity,这里我们新建一个WriteWeibo,写微博页面的布局很简单,现在我们先看一下布局的实现这个布局的底部功能,没有实现,大家有兴趣的尅自己实现,这里我们就只实现一个主要功能,就是当我们点击发送按钮,发送当前文本框中内容!在WriteWeibo,里有一个方法,这里我们来解释一下这里我们只是简答的只能发布文字微博,如果我们发布成功,就结束当前页面微博类有发送带图片和当前位置的方法,有兴趣的同学也可以自己看一下6.微博信息页面1.显示当前点击的微博信息当我们点击主页面的微博信息时,可以跳转到微博信息页面,这里我们新建一个叫WeiboInfo得Activity!当我们在主页面点击某一个Item的时候就会跳转到这个页面,那么我们来看一下,点击那一快代码当我们到另外一个线程的时候,新启动一个线程,来接收这些数据,并用handle来更新这些数据到页面显示!这里先贴出显示效果给大家看一下页面布局没什么特别的,就是底部是通过一个线性布局,加5个TextView来实现的,别的基本上没什么技术含量!它也可以设置自己的点击事件,这里我们实现了评论转发收藏这三个功能!别的就没什么难度了,大家可根据自己的需要来实现!这里我们来介绍另外一个工具类WeiboUtil,这个类里面写的是一些我们对微博操作的方法,比发表,转发,评论微博…至于如何实现这些方法,我是通过官方SDKWeiBo类里的实现方法,直接调用的,如果哪位同学先练习http请求那一块可以自己写方法来实现,很简单只要把官方要的参数传递过去就行请求URL https:///2/statuses/repost.json返回的是Gson数据,解析就行了至于WeiboUtil里面的方法,我相信大家一看都明白了2.评论页面当我们点击微博新页面的评论按钮,就到了评论页面!页面布局很简单,这里给大家看一下效果图页面布局没什么好说的这里我们就说一下代码部分!在创建的时候获取上一个页面传递的微博的ID,在我们点击提交评论的时候将文本框中的评论内容提交!并判断是否讲内容发布成微博下面的按钮功能由于时间的原因我一直没弄,如果按照官方的做法,我现在还实现不了大家如果有能力的话可以自己实现,其中@ 和话题很简单就是在当前文本框中插入一个“@”符号和# 内容 #符号至于表情实现是能实现但是优化的有问题大家可以从官方去下载那些表情用网格视图来显示那些表情坐标就是插入你当前的位置,这里要调用GPS 我还没研究3.转发页面首先看一下效果图吧,拿图说话这个布局我就不用解释了 ,底部的那个是单独的一个布局,这里用include吧那个布局包含到我们需要的页面下面就是一个线性布局,包含5个ImageButton转发页面其实很简单,我们在weiboInfo那个activity点击转发将我们需要的信息传递到转发页面只要我们点击发送就实现了转发功能,具体实现参考代码7. UserInfoActivity页面1.页面布局主页面的布局实现稍微有点复杂 ,也有可能是我实现的方法不合理,但是效果达到了!此布局主要分为五大块第一 <!-- 头布局 --> 显示标题头信息第二 <!-- 用户头像及用户名布局 --> 显示用户头像那一块第三 <!-- 用户地址和登录布局 --> 此处采用了 2个层叠和2个相对布局完成第四 <!--微博话题粉丝条数布局 --> 此处采用了大的线性和相对层叠布局嵌套完成第五 <!--底部收藏和黑名单 --> 此处布局与第三布局向类似整体部分采用一个大的ScrollView 这样方便我们浏览更多的东西具体的可以参考代码布局userinfo.xml下面我们来看一下代码实现的效果图2.代码实现代码部分就相对简单一点,还记得我们在登录认证的时候,获取当前的User对象,也就是我们自己,在Service中我们设置当前user为当前登录的User对象这里我们可以直接取哪里的数据将当前User的各种需要显示的属性显示到这个页面具体的代码参考UserInfoActivity这里我们可以点击关注,微博,粉丝,话题,按钮来到想对应的Activity这里由于时间原因,实现的过程先放到后面,到时候我会把我以前写的代码贴出来供大家参考,其实自己实现的话也很简单 ,大家没事可以多看看WeiBo这个类好多我们需要的功能人家都给封装了这里我们只要会调用就OK了这里我们来实现更多项的布局8.MoreSetting页面的实现这个页面除了布局基本上没什么好说的这里我们就先上布局效果给大家看看这是在xml中实现的布局效果,这个布局跟新浪的菜单项布局不一样,我感觉那个看着不舒服所以就做了一个这样的!里面大部分内容采用表格布局,没有使用什么自定义控件,所以大家看起了没什么困难就是实现嵌套的比较繁琐,如果前面几个加这个UI都能OK的话,我相信android这一块你的布局就没什么大的问题了呵呵通过OutLine我们可以很清晰的看出此页面的流程结构对于各种布局的嵌套使用,掌握好规律实现起来还是挺简单的至于菜单项的功能,我们这里先不做过多具体的实现,这里我先将,实现的框架搭建好,方便大家以后自己实现好了更多菜单项页面我们已经基本完成下面我们来看一下收索页面的实现9. SearchUser页面的实现还是老规矩,直接上效果图,然后我们在来看实现过程那么首先我们来看一下这个页面的布局,分为三个部分,头部是一块收索那是一块,下面那一大块是一个Listview!稍微有点难度的是中间那一块那么我们就首先来讲解中间那一快得问题,上面是一个相对布局,里面一个AutoCompleteTextView,这个AutoCompleteTextView采用了一个自定义的背景布局,还有一个button就是那个收索按钮底部是一组RadioGroup,里面是两个RadioButton,采用了自定义的style<style name="search_radiobutton_user"><item name="android:textColor">#ff7f7f7f</item><item name="android:ellipsize">marquee</item><item name="android:background">@drawable/search_radio_user</item><item name="android:paddingLeft">55.0dip </item><item name="android:layout_width">fill_parent</item><item name="android:layout_height">fill_parent</item><item name="android:button">@null</item><item name="android:singleLine">true</item><item name="android:drawablePadding">6.0dip</item><item name="android:layout_weight">1.0</item></style这样我们就完成了收索页面的布局实现,接着我们来做一下代码功能的实现当我们在搜索框输入搜索字段点击收索会调用下面的方法给Service发一个任务在Service中接收到任务会根据我们传入的搜索字段去搜索相应的微博,根据我们的分页显示来返回数据,实现原理跟HomeActivty一样,这里我就不在详细接收,他也有点击事件,当我们点击某一条搜索的微博信息,也会跳转到We iboInfo这个页面来显示某一条微博详细信息收索微博的方法一样我写在了WeiboUtil类里面,这里我解释一下doweisetTok(context, weibo);这个方法,这里因为有些操作需要登陆验证,这里我们需要从新setToken,所以我就把这个方法写到这个工具类里面了!后记:这里我在扩展两个功能就是检查网络和自动选择自动登录自动登录就是吧checkbox的选择结果存到首选项,在根据这个值来判断,是否选择了自动登录功能!网络检查就是WeiboUtil中的一个检查当前网络连接是否正常的方法!10.项目总结与扩展转眼我们这个项目的基本介绍已经接近尾声了,现在我们来总结一下整个项目的核心内容整个项目的框架结构,本项目采用了一种很优秀的设计实现,就是通过Service加载数据在前台更新页面的设计模式,通过Task任务类来区分各种任务,及任务传递的参数信息,我们可以在Service中去做一些耗时的操作,讲获得的数据message发送到handle中,在doTask方法我中我们可以将message 中消息的信息通过refresh(Object... param)方法将参数在当前页面加载,由于此方法是在Service中加载所以不会照成UI阻塞.我们应该让我们的Acitivity尽可能的简洁,最好只负责数据信息的现实,至于逻辑和加载内容,我们最好放在后台或者线程中去处理!下面我们来说一下这个项目的扩展实现,其实比起官方的客户端应用我们做的还是相当的简陋,这里我说一下我们有能力可以实现的一些功能(1):菜单功能的完善(2):主页面上下文菜单的实现(3):私信接口的调用与数据的获取显示(4):搜索页面的标签选项(5):数据库的创建,保存当前用户的信息,方便切换账号使用(6):更多页面的部分功能(7):@人名与话题文本高亮显示(8):表情的解析与显示还有一些细节性的功能我们可以根据自己的需求进行实现,我相信如果大家把文档的内容实现,在把这些扩展的功能实现一部分!找份合适的android开发工作还是不是问题的!呵呵….。

本科毕业设计---新浪微博android客户端的实现

本科毕业设计---新浪微博android客户端的实现

编号:〔 〕字 号本科生毕业设计〔论文〕题目:姓名: 学号: 班级:二〇一二年六月微博客户端的设计开发计08-3班中国矿业大学本科生毕业设计姓名:学号:学院:计算机科学与技术专业:计算机科学与技术设计题目:微博客户端的设计开发专题:指导教师:徐慧职称:讲师2021 年6月徐州中国矿业大学毕业设计任务书学院计算机科学与技术专业年级计08级学生姓名任务下达日期:2021年1月10日毕业设计日期:2021 年1月4日至2021年6月10日毕业设计题目:微博客户端的设计开发毕业设计专题题目:毕业设计主要内容和要求:毕业设计的软件内容及要求:1.用户界面美观实用,便于各功能页面导航。

2.系统各功能模块要明确划分。

论文的内容及要求:1.论文对系统设计的思想进行详细描述,介绍整个软件开发过程。

2.进行系统需求分析,概要设计,详细设计,性能测试。

3.说明开发过程中遇到的问题极其解决方法。

4.最后写出软件开发的体会及收获。

5.严格按照软件工程要求的格式编写文档。

院长签字:指导教师签字:指导教师评语〔①根底理论及根本技能的掌握;②独立解决实际问题的能力;③研究内容的理论依据和技术方法;④取得的主要成果及创新点;⑤工作态度及工作量;⑥总体评价及建议成绩;⑦存在问题;⑧是否同意辩论等〕:成绩:指导教师签字:年月日指导教师评语〔①根底理论及根本技能的掌握;②独立解决实际问题的能力;③研究内容的理论依据和技术方法;④取得的主要成果及创新点;⑤工作态度及工作量;⑥总体评价及建议成绩;⑦存在问题;⑧是否同意辩论等〕:成绩:指导教师签字:年月日中国矿业大学毕业设计辩论及综合成绩摘要微博即MicroBlog,网上昵称围脖,是一种非正式的迷你型博客,是一个基于用户关系的信息分享、传播及获取平台。

用户可以通过WEB、WAP以及各种客户端组件个人社区,以140字左右的文字更新信息,并实现即时分享。

它是一种互动及传播性极快的工具,传播速度甚至比媒体还快。

基于Android的新闻APP开题报告

基于Android的新闻APP开题报告

一、课题的目的和意义目前市场研究机构Worldpanel发布了全球主要的国家智能手机操作系统在去年Q4内的分布报告,报告指出了谷歌的Android继续保持着增长的势态,但是增幅已经明显放缓了。

而在另一个方面,苹果iOS操作系统在全球只能手机市场上均有下滑,个别国家的降幅甚至高达10.3%。

最新统计数据中显示,Android操作系统将继续领跑全球市场,包括美国、澳大利亚、中国、意大利、英国、德国、西班牙等所占的市场比例都已经超出50%并且还将继续呈现上涨的趋势。

而在苹果iOS操作系统方面,最大的市场份额所占比的国家依旧是美国,数值为43.9%;紧随美国的则是澳大利亚,数值为35.2%;而在中国方面,市场份额也从21.2%下降至IJ了19%在意大,iOS所占的市场份额更是从23.1%孟降至12.8%。

从上面的数据可以看出,Android手机软件的开发具有巨大的发展前景,在Android 系统上开发出一款手机新闻客户端软件所支持的用户量也是相比较于其他系统多出很多的。

所以Android平台新闻客户端软件的开发可以进一步扩大时事新闻的覆盖面,让广大公众能够随时随地方便且快捷地获取最新的新闻资讯信息,了解新闻时事,本软件的广泛使用,尤其是在传授知识、普及教育方面起着非常重要的作用。

二、课题研究的主要内容本软件包含新闻资讯的展示、图片的显示、根据所选择的分类实现不同新闻的阅读、新闻的收藏、分享到微信等第三方软件以及夜间模式、无图阅读等。

根据课题所需的模块,论文的提纲如下:第一部分:主要阐明课题内容,涉及到课题研究的目的和意义、发展前景c第二部分:针对该软件所使用的技术的介绍。

第三部分:针对该软件开发的可行性、需求分析以及详细设计等介绍。

第四部分:针对该软件功能概况的介绍,包括功能的设计、界面框架的设计、数据库存储的设计等。

第五部分:主要介绍软件各项功能的具体实现。

第六部分:主要是参考文献和致谢。

三、文献检索以及参考文献目录1. «Android应用开发实战》第一版李宁机械工业出版社2. «Android 技术内幕:系统卷》杨丰盛机械工业出版社3. «Android 开发精要》范怀宇机械工业出版社4. «Android 开发权威指南》李宁人民邮电出版社5. «AndroidDeveloper 文档》6. «GoogleAndroidSDK 开发范例大全》民邮电出版社7. 基于Android 的手机应用开发研究付宇期据库名称:中国期刊全文数据库8. 基于Android 平台的移动应用开发研究数据库名称:中国期刊全文数据库9. Android 安全综述张玉清王凯杨欢大学国家计算机网络入侵防范中心10.基于安卓手机的高效数据库访问机制彭凤凌度先国王洪辉钟佳讯蒲建华成都理工大学地质灾害防治与地质环境保护国家重点实验室;西南科技大学核废物与环境安全国防重点学科实验室2013年12期数据库名称:中国期刊全文数据库检索策略:Android 数据库13 .基于Android 系统的移动学习平台的设计与实现熊水柔北京邮电大学余志龙等著,王世江改编人 河南经贸职业学院2014年09数 检索策略:Android 开发 白文江太原大学计算机工程系 检索策略:Android 开发 方待君王志强曹琛中国科学院 2014年07期数据库名称:中国期刊全文数据库检索策略:Android 安全11 .基于GoogleAndroid 智能手机平台的研究与应用2010-4论文库名称:中国博硕士论文库12 .基于Android 开发的数据存储期刊 据库名称:中国博硕士论文库 党李成安徽大学 数据 检索策略:Android 应用 伊京花;王华军数字通信2012-12-25数 检索策略:Android 开发数据库名称:中国博硕士论文库检索策略:Android14 .应用开发中的UI设计赵晓影劳动保障世界(理论版)2013-12-20期干U数据库名称:中国期刊全文数据库检索策略:Android15 .基于Android系统的移动学习平台的设计与实现熊水柔北京邮电大学数据库名称:中国期刊全文数据库检索策略:Android系统16.四、课题研究的基础、现状与趋势现在是一个资讯爆炸的年代,人们对于都希望能够随时随地获取各种有用的信息。

新浪微博android客户端需求分析

新浪微博android客户端需求分析

新浪微博android客户端需求分析系统需求分析
此次程序设计任务是Android平台下的新浪微博客户端设计,程序将在Android模拟器中进行调试。

此次程序设计用户界面要求较为友好,由于针对的用户为Android智能手机用户,因此程序的操作全部可以通过输入笔完成操作。

新浪微博客户端数据库设计要求合理,其中包括用户账号,用户密码,用户获取的授权码钥匙和用户获取的授权码密码等信息。

在设计完成后,要求程序能够实现新浪微博的登录功能,同时,程序还必须能够实现对对新浪微博首页信息的获取,用户资料,好友资料,发表微博,用户的关注,用户的粉丝,转发微博,评论微博,收藏微博,我发表的微博等。

最后,新浪微博获取信息要具有较高的执行效率。

此程序设计要求需要在Eclipse环境下开发。

系统的结构设计
此应用程序遵循MVC设计模式,即:模型(Model),视图(View)和控制(Controller)。

MVC模式的目的就是实现Web系统的智能分工。

Model层实现系统中的业务逻辑,通常可以使用JavaBean或EJB来实现,View层用于与用户交互,通常用JSP实现,Controller层是Model和View之间沟通的桥梁,它可以分配用户的请求并选择适当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。

用例图
发表微博
转发微博
评论微博
收藏微博
登录
好友资料用户首页我的粉丝我的微博我的关注我的资料。

基于Android的社交应用软件开发开题报告

基于Android的社交应用软件开发开题报告

西南科技大学毕业设计(论文)开题报告然后用户可将该陌生人加入自己的通讯录,同时系统发送一条推送消息给该陌生人,提示谁将其设为联系人,并同时将该用户自动加入到其通讯录中。

<4>通讯录。

通讯录以列表的方式显示用户的联系人。

用户可以在此删除联系人。

用户可以点击某个联系人进入聊天环节。

<5>与陌生人聊天,图片分享。

在聊天环节,用户可以使用“按住说话”功能发送语音,或者使用发送图片功能实现图片分享。

<6>服务器。

服务器主要负责消息的推送和一些后台的数据计算。

如在后台计算陌生人之间的距离,然后返回给用户,最后用户将这些人的数据进行展示。

2.3 主要设计思想及工作流程2.3.1总体设计思路该应用的系统功能设计框图如下:图1 系统功能框图本设计将主体功能分为四个模块,分别为:注册登录模块,即时通讯模块,联系人模块,解密模块。

注册登录模块完成对用户的注册,以及用户登录应用的功能。

即时通讯模块完成好友之间的文本聊天,语音聊天和图片分享。

联系人模块完成联系人的展示,以及主动删除联系人功能。

解密模块完成用户的定位信息分享和解密游戏以及好友的添加功能。

2.3.2 工作流程1.登录注册模块用户在首次进入到本应用的时候需要在注册页面进行信息的注册。

在注册页面输入相关信息如年龄,性别,头像等,然后通过http传送到服务器做好注册。

待下次进入应用的时候只需要在登录页面输入相应的账号和密码,通过服务器验证后即可体验本应用的功能了。

图2.登录注册模块2.消息模块消息模块主要用于显示当前或者以前获得的消息或者发出的消息记录。

登录成功后若有推送消息的到来,会自动展示到此处。

此处也会记录其他消息,比如与某个好友曾经聊过天的消息。

进入到此界面会加载本地数据库,以此获得曾经的消息,若在使用过程中将该界面的消息移除掉,该消息记录不会存入数据库。

图3.消息界面模块3.摇一摇查找陌生人模块通过高德地图的定位,用户通过“摇一摇”功能,触发发送位置信息事件将自己的位置信息发送到服务器端,服务器接收到信息并将每个用户的位置信息储存在数据库中,通过计算,查找该用户周围一公里范围内并且时间相近的用户信息反馈给该用户,用户在接收到服务器返回的陌生人的数据后,将其展示在终端的地图上。

新浪微博系统需求分析

新浪微博系统需求分析

新浪微博桌面客户端需求分析版本历史目录0. 文档介绍 (4)0.1背景 (4)0.2文档目的 (5)0.3文档范围 (5)0.4读者对象 (5)0.5参考文档 (6)0.6术语与缩写解释 (7)1. 产品介绍 (9)2. 产品面向的用户群体 (9)3. 产品应当遵循的标准或规范 (9)4. 产品范围 (9)5. 产品中的角色 (10)6. 产品的功能性需求 (10)6.0功能性需求分类 (10)7. 产品的非功能性需求 (18)7.1用户界面需求 (18)7.2软硬件环境需求 (19)7.3产品质量需求 (19)7.N 其它需求 (20)附录A:需求建模与分析报告 (21)A.1需求标题1 (21)0. 文档介绍0.1 背景21世纪以来,全球进入一个新经济时代——互联网时代,互联网络和信息通信的迅猛发展创造了一个无疆界的数字世界,交易几乎可以瞬时在世界各地完成,服务产品也不例外。

网络营销工具服务产品更有其独特的优势利用信息技术带来的便捷。

近几年来,互联网发展的十分的快速,许多新型的网络媒体以及网络营销工具都应运而生。

新浪作为一家服务于中国及全球华人社群的领先在线媒体及增值资讯服务提供商,拥有多家地区性网站,以服务大中华地区与海外华人为己任,通过旗下五大业务主线为用户提供网络服务的网站。

此外,新浪是中国的四大门户网站之一,和搜狐、网易、腾讯并称为“中国四大门户”。

目前,新浪网已经成为下辖北京新浪、香港新浪、台北新浪、北美新浪等覆盖全球华人社区中文网站的全球最大中文门户。

在这种竞争时代,针对现在互联网上如雨后春笋般不断冒出各类型的网络营销工具,新浪模仿国外知名的Twitter,并结合当前中国特有的现象,打造出适合国人的一个交流平台。

新浪微博于2009年8月正式进入中文上网主流人群视野。

根据相关公开数据,截至2010年1月,微博在全球已经拥有7500万注册用户。

在2009年8月新浪网推出“新浪微博”内测版,成为门户网站中第一家提供微博服务的网站,微博正式进入中文上网主流人群视野。

微博系统的设计与实现开题报告

微博系统的设计与实现开题报告

微博系统的设计与实现开题报告毕业论文 (设计) 开题报告姓名: xxx 学号: xxxxxxxxx 专业: 信息管理与信息系统所在院系: 计算机与信息工程学院毕业设计(论文)题目: 微博系统的设计与实现一、研究的背景和意义;1、研究的背景二十一世纪是科技发达的世纪,科学技术的进步推动着新潮流的前进。

如今我们生活在的是一个信息的时代,生活中的琐事都充溢这信息的元素。

就在这样信息泛滥的时代,一些体现信息及时、准确的网络平台也就成了我们交流的工具。

其中博客的崛起无疑是最大的进步~当然就如春晚所言:我们现在是在一个“围脖”的年代,这里的“围脖”其实就是博客,就是微博。

如果我们能够有一个好的博客系统,我们能够运用自如的博客系统,我们的信息及时性、准确性将体现的更加明显。

博客的发展不仅仅代表这一中网络交流平台的发展,也代表这我们信息时代的进步。

当我们的博客发展到可以像汽车那样人人皆知的时候,我们完全可以足不出户便知天下大事。

当你有新奇的发现你可以发表到你的博客系统中、当别人有什么奇闻异事你也可以通过博客得知他们的现状、你可以通过博客广交天下知己、你也可以通过博客发表你自己的作品、你还可以通过博客和你的朋友们畅谈心扉……2、研究的意义所以说博客的崛起,也是我们科学技术的崛起。

博客系统的完善,也是我们生活的完善。

博客的多姿多彩、千变万化,更是我们走向世界融入世界大家庭的表现。

网络博客则是一个很重要的方向。

基于 Web 技术的网络考试系统可以借助于遍布全球的 Internet 进行,因此交流既可以是本地进行,也可以是异地进行,大大拓展了沟通与交流的灵活性。

博客在现如今这个飞速发展的网络时代已经成为人们不可或缺的一部分。

二、文献综述;据不完全统计,到今天,全世界博客总量已超过一亿.其中中国的博客达到1600万。

博客数量大约6个月翻一番,2006年4月份每天新增博客7万5千人。

每天发贴120万篇,平均一小时5万贴。

博客的影响力,早已超出了他作为个人,甚至作为自己所在行业的原有范围。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

xxxxxx
毕业设计(论文)开题报告
系专业
课题名称: Android新浪微博客户端的设计与实现
学生姓名:
学号:
指导教师:
报告日期:
如果你周边有同学苦逼于毕设的话,果断推荐这个公众号给他吧!
分享朋友圈,截图发给这个公众号(ifreeTeam),可以在我的万套毕业设计源码中选择你合适的一套哦。

嘻嘻!
说明:
1.本报告必须由承担毕业设计(论文)课题任务的学生在接到“毕业设计(论文)任务书”、正式开始做毕业设
计(论文)的第2周或第3周末之前独立撰写完成,并交指导教师审阅。

2.每个毕业设计(论文)课题撰写本报告一份,作为指导教师、毕业设计(论文)指导小组审查学生能否承担该
毕业设计(论文)课题任务的依据,并接受学校的抽查。

相关文档
最新文档