收藏 分销(赏)

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

上传人:xrp****65 文档编号:8945105 上传时间:2025-03-08 格式:DOCX 页数:21 大小:913.52KB
下载 相关 举报
新浪微博安卓客户端课程设计报告.docx_第1页
第1页 / 共21页
新浪微博安卓客户端课程设计报告.docx_第2页
第2页 / 共21页
点击查看更多>>
资源描述
移动互联网开发 课程设计报告 学生姓名: 谌敦斌 学 号: 专 业: 数字媒体技术 班 级: 设计题目: 安卓新浪微博客户端设计 学年学期: 年 秋 季学期 指导教师: 张华 目 录 (示例) 一、 设计题目 二、 设计目的 三、 设计原理及方案 使用的软件工具和环境 需求分析与概要设计 数据库设计(若有) 详细设计和关键问题 四、 实现效果 五、 设计体会 参 考 文 献 一、 设计题目 简易新浪微博客户端系统 二、 设计目的 通过设计开发新浪微博客户端综合训练安卓系统开发能力,进一步提升对安卓程序开发及运行的理解和认识,学会团队协作,开发出界面与功能都有特色的安卓应用软件。掌握并熟悉认证协议的工作原理,学会通过的或者方式传参数获取相应的服务器应答信息,能够利用新浪微博官方提供的一系列接口完成简易微博客户端的开发。 三、 设计原理及方案 1 使用的软件工具和环境 以及新浪官方提供的、和相应 2 需求分析与概要设计 众所周知,官方新浪微博客户端的功能非常完善,我们这次课程设计主要是模仿官版的微博。具体的功能需求如下: 1. 我们的安卓客户端是在线运行的,也就是必须在有网络连接的情况下才能工作,如果没有联网将提醒用户打开网络连接。 2. 为了安全起见,安卓客户端不建议直接使用用户名和密码进行登录,而是通过比较流行的认证授权后才能登录使用,所以授权功能是必须的。并且在测试阶段,授权的用户必须经过开发者将其微博昵称添加到测试信息才能正常登录。 3. 对于第一次授权成功的用户,我们需要把它的部分身份信息例如、昵称、头像和验证等保存到数据库,方便下一次直接登录。因此要设计一个简易的数据库功能。 4. 对于已经授权的用户,如果第二次登录,就不需要授权,而是直接进入登陆界面。因此还需要一个微博一键登录功能。 5. 登陆的用户能获取到新浪微博首页的信息、用户资料、好友资料,能够发表微博、转发微博、点赞微博、评论微博、收藏微博,获取关注信息,粉丝信息,查看自己发的微博等等。 6. 同样为了安全起见,还需一个注销登录功能。一旦用户点击注销之后,下一次登录必须先经过授权才能正常登录。 系统的总体架构设计如图所示 网络连接 一键登录 授权 我 发现 更多 消息 首页 浏览身份信息,查看自己的微博、关注以及粉丝列表 发表微博(文字,图片),点评、签到、拍摄 浏览微博、转发、评论、点赞等 找人、找热门微博,新浪新闻等 我的、评论、赞列表,写私信等 图 系统总体架构设计 如图所示,我们的微博客户端首先进入界面,在加载中首先判断网络是否连接,如果网络是可用的,将进入下一步,否则将提醒用户打开网络连接。 网络连接成功后系统还将判断用户是否已经授权,如果已经授权则可以直接通过登录进入主界面。 否则将进入授权页面,进入授权页面的用户需要输入新浪微博用户名和密码并且允许授权后方能进入主页面。 进入主页面后用户可以查看当前用户及其所关注用户的最新微博,可以转发、评论和点赞。 在“消息”页面,用户可以查看用户的微博、评论和赞等,还可以发送私信。 在“更多”页面,用户可以发送微博,包括纯文字微博,带图片的微博、拍照微博等,还可以点评和签到。 在“发现”页面,用户可以搜索热门微博和找人等等。 在“我”页面,用户可以查看自己的身份信息,以及自己发的微博、用户的关注和粉丝等等。 3 数据库设计 在此次微博客户端开发过程中,我们用到了一点点数据库,就是将授权成功后的用户部分身份信息保存到数据库,方便用户下次一键登录而不用授权。由于只用到了一个用户信息表,它的图如图所示 字符串型 用户 用户头像 用户信息 认证 用户昵称 图数据库图 对应的数据表如表: 表用户信息表结构 字段名 数据类型 宽度 是否可空 说明 用户 字符串型的 用户昵称 授权认证请求码 用户头像网络地址 4 在详细设计和关键问题 详细设计: .用户登录和授权模块 功能描述:对于第一次使用该应用的用户,在程序启动之后进入配置页面,输入用户名和密码进行授权认证。对于用户在自己的手机上使用过或者已经通过了授权认证则可以不用输入用户名和密码就可以选择用户进行登录。 参与者:未通过授权认证或者未登录。 前置条件:未通过授权认证或者未登录的用户。 后置条件:通过授权配置或者直接登录系 用户登录和授权模块流程图如图所示: 判断是否存在已授权用户 授权配置 开始 启动应用 登录 登录到应用首页 结束 是 否 图 用户登录和授权流程图 .系统首页信息显示模块 功能描述:显示被用户添加关注的好友的最新微博信息。 参与者:合法登录用户。 前置条件:已登录用户。 后置条件:在首页显示所有被用户添加关注的最新微博信息列表。 该模块用例如下图所示: 用户 查看微博列表 搜索用户 发表新微博 图 系统首页信息显示用例图 系统首页显示模块流程图如图所示: 加载数据 开始 进入首页 发表新微博 结束 显示最新微博的列表 搜索其他用户 图显示主界面流程图 .发表微博模块 功能描述:该模块主要实现了用户发表微博的功能。 参与者:合法登录用户。 前置条件:已登录用户。 后置条件:新微博信息是否发表成功。 .通过关键字搜索相关用户模块 功能描述:该模块主要实现了通过关键字搜索相关用户的功能。 参与者:合法登录用户。 前置条件:已登录用户。 后置条件:搜索成功返回结果。 搜索功能流程图如下图所示: 开始 输入关键词 显示与关键字相关的微博用户列表 点击某一用户进入该用户详细信息页面 添加关注或者返回 结束 图搜索功能流程图 .查看微博内容模块: 功能描述:该模块实现了用户可以通过点击某一条微博信息查看该微博的所有内容,并进行评论和转发操作。 参与者:合法登录用户。 前置条件:已登录用户。 后置条件:可以转发和参与评论。 查看微博内容模块用例如下图所示: 查看微博 详细信息 转发 评论 用户 图 查看微博用例图 评论微博功能流程图如下图所示: 点击评论按钮进入评论页面 开始 结束 输入评论内容 点击发送 判断 评论失败 图 评论功能流程图 转发功能流程图如下图所示: 点击评论按钮进入转发页面 开始 结束 输入转发内容 点击发送 判断 转发失败 图转发功能流程图 .查看用户信息模块 功能描述:查看好友的详细信息。 参与者:合法登录用户。 前置条件:已登录用户。 后置条件:查看好友详细信息(包括所有微博,话题,关注,粉丝)关注和取消关注操作。 查看用户信息模块用例如下图所示: 添加对好友粉丝的关注 对好友进行关注和取消关注 添加对好友所关注用户的关注 查看好友的详细信息 查看好友的关注列表 用户 查看好友所有微博信息 查看好友的所有话题 查看好友的粉丝列表 图 查看用户信息用例图 查看关注和添加关注功能具体流程图如下图所示: 点击进入关注列表 开始 结束 查看用户信息 添加关注 图查看关注和添加关注流程图 查看用户所有微博列表功能流程如下图所示: 结束 点击微博按钮 开始 用户所有微博列表界面 查看某一条微博详细信息同时进行评论和转发操作 图 查看用户所有微博列表流程图 遇到的关键问题: 1. 认证,如何获取授权? 这也是我们这个微博客户端开发过程中的一个难点,就是怎么样与新浪微博的官方服务器交流并得到相应的响应信息。刚开始想了很久,也跟着一个视频教程一步一步做,可后来发现,新浪微博的一些东西包括接口等是随着时间不断在更新的,我们要做这个客户端,必须去了解官网上相应的文档,根据具体的接口具体设计。首先我们需要到新浪微博官网去注册我们要开发的,填写相关的信息。注册网址是,当然新浪微博提供给开发者一个非常好的平台,像网站接入、站内应用、无线游戏等等,由于我们开发的是安卓客户端,因此选择微连接里面的移动应用。在填写基本信息时有个包名和签名比较重要,包名必须与源程序的包名一致,并且签名必须是在安装了微博签名器的安卓平台上输入包名后得到的签名,包名与签名错误将会导致应用不可以用。另外,在高级信息里的回调页地址也比较重要,它是一个地址,形式可以任意,但必须与源代码里面的回调地址一样。注册了后,会生成一个 ,这个 非常重要,我们请求授权时所需要的参数就包含它。 通过阅读微博开发的文档,我们发现,不管是读接口还是写接口,我们都需要传相应的参数给服务器。然后服务器会返回一些信息给我们,可能是字符串,也可能是文本,有时候我们还需要对它进行解析。 请求授权的话,我们是要通过接口的函数获取授权,需要的参数是、和。是权限参数,通过它才可以使用平台的许多核心微博功能。这个函数将会返回授权后的授权后的 ,这个 可以说是我们实现后面功能的一把金钥匙,有它我们才能读接口和写接口。关键代码如图 (, , , ); ( ()); 图授权关键代码 .获取并显示用户的信息,包括昵称、头像、性别、所在地、个人描述、微博数、关注数、粉丝数等等。 这是我们导航栏“我”中的内容,其实这么多信息呢,都是通过我们向中的函数传递请求参数,服务器返回给我们的文本,然后我们通过解析,获得相应的属性值。通过最初的授权我们获得了 ,通过它我们可以生成接口对象,然后我们才能调用对应的函数,函数包括两个参数,第一个是值,可以通过 得到,另一个是异步回调监听,我们接收服务器返回的信息就是在回调函数里面进行的。 请求用户信息的关键代码如图 图请求用户信息 我们需要声明一个回调监听变量,也就是图中的,它是的实例,定义时会重载一个函数,在这个函数里面。我们可以将获取的窜解析成相应的对象,然后将这些对象的相应属性通过类的和方法赋值给静态变量,方便我们在其他类运用这些数据。关键代码如图 图接收并保存用户信息 .加载用户头像 这是一个难点,我们获取到的用户头像其实是一个字符串地址,即,我们要通过这个来加载这个网络图片。其实就是利用和<>,根据获得一个输入流,然后从这个输入流中创建。当然我们也可以通过来得到相应的位图。关键代码如图 图根据加载网络图片 .获取微博列表 其实这个跟我们获取用户信息一样,都是传几个参数过去,然后获得响应的串,再解析缓存数据。只是用到的接口和函数不一样了,我们这里介绍获取首页登录用户及其关注用户的最新微博。根据官网,我们可以知道这里要用的是里面的函数。这个函数需要个参数,听起来比较多,实际上很多用默认的就可以了。关键代码如图 图获取首页微博列表关键代码 一般我们只需要注意的第三个参数,表示一次请求获取多少条微博,一般就足够了,太大了一是加载很慢,二是可能会造成卡死。同样是异步回调,同样需要解析,同样是用通过和方法保存和传递参数,但要注意,这时是涉及到多条微博的数据信息,要用数组来保存。然后我们在的适配器中将相应的数据传给对应的控件,这样就能显示我们的微博列表了。 其他的像显示我的好友列表、关注列表、粉丝列表等与此类似,只是接口和函数以及相应参数有些差别罢了,这里就不再一一赘述。 .发微博 前面的显示微博列表及用户信息都是通过读接口实现的,而发一条微博则是通过写接口实现的。当然我们这里用到的还是接口,发微博的函数是。这个函数需要四个参数,第一个就是我们的文本内容,第二个和第三个是字符串的经纬度不需要管,都用默认的就可以了,第四个参数仍然是我们的异步回调。在异步回调函数里我们要做的就是给出一个响应,看微博是否发成功了,还有就是跳转到首页的微博列表,这时我们就会看到我们发布的微博。关键代码如图 图发微博关键代码 微博中其他功能实现与此都相类似,只是接口和函数可能不相同,都是接口函数传参数请求,然后在异步回调函数里接收解析数据或者做其他操作,这里不再一一赘述。另外,新浪微博官方提供的接口函数成千上万,由于时间原因,很多功能我们都还没有实现,在本次课程设计结束之后,我们将继续我们的微博开发。 四、 实现效果 图 界面 图片的由小变大,亮度由暗变亮,给人一种豁然开朗的感觉。 图一键登录界面 只有已经授权的用户才能进入到此页面,通过登录可以进入到微博主界面 图授权界面 用户第一次使用必须经过授权,而且在测试阶段并不是随便一个新浪微博账号都可以被授权,而是其昵称被开发者添加到测试信息里的用户才能被授权,用户输入正确的用户名、密码和验证码后将直接进入到微博主界面。 图 微博主界面的大分界面 大分界面包括首页、消息、更多、发现和我。“首页”主要是显示用户及其关注用户的微博列表。“消息”里面可以发私信,查看我的、评论、赞等列表。“更多”,可以发文字微博、图片微博,签到等等。发现里面可以找人和搜索热门微博。“我”里面主要是登录用户的身份信息,可以查看自己发的微博,可以查看关注列表和粉丝,如图 图查看“我”的资料信息和发的微博 图 我的微博 用户可以在消息里查看我的微博,与首页微博的形式差不多。 图发微博 在“更多”里面我们可以发送微博,微博写好后点击确认后,如果发送成功会有相应提示,并跳转到首页查看。 图 注销登录 在主界面如果用户点击菜单按钮,将会出现注销菜单,如果点击用户在这个客户端的所有信息将会被清空,用户如需再次登录必须重新授权。 五、 设计体会 对于此次安卓课程设计,可以说是一次非常锻炼人的开发实战。接触安卓开发没多久的我们在一个比较综合的项目面前还是有些胆怯和紧张。但逐渐的只要你敢于去尝试,去探索,每天都有每天的收获,也许一个问题你一天解决不了,多花一点时间或许就会解决了。由于时间仓促,新浪微博的接口功能众多,我们并没有达到预期的结果,还有很多功能需要我们后续继续去开发。我认为我在这个过程中最大的收获就是一定要用心思考,不管是界面还是功能,一定要去想它究竟是怎么样实现的,另外就是注意代码的模块化、结构化,多实现代码复用,千万不能写成“一口井”和“大锅饭”,还要就是要养成写注释的好习惯,如果代码多了,函数多了,变量多了,就搞不清具体相应的意义了。给函数及其参数写注释,给变量写注释能更好的帮助进行团队开发和后续开发。我相信每一个优秀的程序员都有这样的一个好习惯吧。 通过本系统的开发,使我对书本上的知识点和理论有了更深一层的了解,也使我学会了如何利用所学的知识,把理论结合于实践中,进一步掌握了管理信息系统开发的规律,从而对本专业有了更深刻的认识。此后,我会加倍努力的去研究,在熟练的基础上掌握更多的新型技术,来提高自己的开发水平。 六、 后记 我们这次新浪微博客户端的开发由马露负责界面,董建负责算法,谌敦斌负责具体功能代码实现。虽然实现了部分新浪微博功能,由于时间仓促,加之我们能力有限,还有很多微博功能还没有来得及实现。我们将在本次课程设计之后继续我们的微博开发,尽量开发出一个比较完善的微博客户端。在写作课程设计报告时,我们小组每个同学除了关键问题和设计体会不一样外,其它部分都是一致的,因为这本身就是一个整体,不可胡乱分割的,还请老师见谅。 参 考 文 献 []杨丰盛应用开发揭秘[].北京:机械工业出版社~. []王世江,佘志龙,陈昱勋,郑明杰 开发范例大全(第三版)[].北京:人民邮电出版社~. []李刚.疯狂讲义[].北京:电子工业出版社~. []伯内特基础教程(第二版)[].北京:人民邮电出版社~. []杨丰盛技术内幕:系统卷(第一版)[].北京:机械工业出版社~. []韩超,梁泉系统级深入开发:移植与调试[].北京:电子工业出版社, ~. []埃克尔编程思想(第四版)[].北京:机械工业出版社~. []布洛克 中文版(第二版)[].北京:机械工业出版社~. []昊斯特曼核心技术(卷):基础知识(原书第八版)[].北京:机械工业出版社~. [] 李刚.疯狂讲义[].北京:电子工业出版社~.
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服