基于Android的微博系统设计与开发毕业论文
2020-02-16 19:19:44
摘 要
微博是由博客发展而来,是当下最为流行的社交网络服务平台之一。它是建立在众多用户上的实时分享平台,因其具有发布便捷、传播迅速、易于原创的特性而受到众多用户的青睐。
微博的前端平台众多。而智能手机作为身体的外延,是我们接触世界最方便的工具。本文设计并且实现了基于安卓系统的类新浪微博的轻微博应用。通过注册登录,可以在该系统上实现一些基本的微博应用功能,包括:发布微博、评论微博、收藏博主、修改个人信息、查看我发布的微博等。
该系统整体结构为客户端/服务器模式。采用MyEclipse SSH框架来实现后台的搭建,使用java语言编写后台API接口,数据库采用Mysql。前端采用Android Studio平台开发。前后台之间的数据交换采用HTTP协议,以JSON格式进行数据的序列化。而本文将通过六个章节来说明我在开发该轻微博应用中所用到的技术和历程。
关键词:SSH框架;Mysql数据库;Android Studio;Json;
Abstract
MicroBlog, developed from blog, is the most popular social network service platform at present. It is a real-time sharing platform built on a large number of users, and is favored by many users for its features of convenient release, rapid dissemination and easy creation.
MicroBlog has many front-end platforms. As the extension of the body, smartphone is the most convenient tool for us to contact the world. This paper designs and implements sina MicroBlog -like micro blog application based on android system. By registering and logging in, we can realize some basic microblog application functions on the system, including: Posting microblog, commenting microblog, collecting microblog, modifying personal information, viewing my microblog and so on.
The overall structure of the system is in client/server mode. The MyEclipse SSH framework is used to implement the background build. The background API interface is written in java language, and the database uses Mysql. The front end is developed using the Android Studio platform. Data exchange between the front and back ends uses the HTTP protocol to serialize data in JSON format. This article will use six chapters to illustrate the techniques and processes I used to develop this microblogging application.
Key Words:SSH framework;The Mysql database;Android Studio;Json;目录
第1章 绪论 1
1.1 课题的目的和背景 1
1.2 国内外研究现状分析 1
1.3 研究的意义 1
1.4 主要研究工作和设计思路 2
第2章 系统的关键技术 3
2.1 开发平台的介绍 3
2.2 MySQL数据库和SQLite数据库 4
2.3 SSH框架的认识 4
2.3.1对struts2的理解 4
2.3.2 对Hibernate的理解 4
2.3.3 对Spring的理解 5
2.4 JSON数据格式的特点 5
第3章 系统分析与设计 6
3.1 系统需求分析 6
3.1.1 用户需求分析 6
3.1.2 功能概要设计 6
3.1.3 数据库的设计 7
3.2 设计原则 9
3.2.1 安全性 9
3.2.2 可操作性 9
3.2.3 易维护性 9
3.2.4 可扩展性 10
3.3 系统架构 10
第4章 系统模块的实现 11
4.1 用户注册模块 11
4.2 微博浏览主界面 11
4.3 微博详情界面 12
4.4 发布微博功能与评论功能 13
4.5 个人信息界面: 13
4.6 修改密码功能 14
4.7 查看我的微博界面 15
4.8 查看我的收藏界面 15
4.9 查看我的关注界面 16
第5 章 系统性能测试 17
5.1注册模块测试用例 17
5.2登录账号测试用例 18
5.3浏览微博以查看微博详情测试用例 19
5.4发布微博功能与评论功能测试用例 19
5.5修改密码测试用例 20
5.6我的微博测试用例 21
5.7我的收藏以及我的关注测试用例 22
第6 章 总结与展望 23
6.1 总结 23
6.2 进一步的工作方向 24
参考文献 25
致 谢 26
第1章 绪论
1.1 课题的目的和背景
本课题主要目的是能够开发一款类似新浪微博的轻微博的安卓应用。在此应用上能够实时的发布自己的动态,包括文字,图片,短视频等。当然与博客不同,发布微博不需要跟博客文章一样具有非常强逻辑性与语言组织能力,但同时需要对字数进行限制,一般为200字左右。用户或者管理员在平台上发布微博后,其他的用户通过点击刷新按钮就可以查看到好友、附近的人、热度较高以及官方推荐的最新微博和一些重大消息。
1.2 国内外研究现状分析
随着互联网的的高速发展,在国外,以Facebook为领头羊的社交网络服务平台开始变得流行起来。而在国内,新浪微博等互联网媒体公司已经打破了许多障碍,根据其精确定位和成功的推广策略率先推出,并逐步融入大众生活,成为一个重要的平台,为许多人分享生活和彰显自我。随着微博热度的持续高涨,微博的用户涵盖了方方面面,从平民百姓到网络大咖,从记者媒体到政府机关,在信息的公布和获取更加快速和方便,而移动手机作为每个人身体的外延,安装微博的移动客户端就成为了一种必需品,微博移动客户端的开发也就顺理成章。而目前在移动平台上,安卓和IOS基本上占据了90%以上的份额。IOS的生态自成一体。安卓这边虽然占据了第一的宝座,但由于安卓设备的多种多样,使得所有基于安卓的应用程序都必须考虑各种设备的兼容性,安卓设备上的开发更加不易[1]。而且在市场利益的前提下,加入越来越多的广告也让客户端变得繁琐,引来很多用户的抱怨。因此,本此毕业设计目的在于开发出一款能够实现类似新浪微博的基本功能,同时又能够将客户端的操作进行简化,去掉烦人的广告,满足用户的基本需求。
1.3 研究的意义
微博作为一个分享生活、展现自我的社交平台,每当人们遇见有趣的或者美好的事情和东西使,就会马上发布到平台上与大家分享,讨论。这种即时发布的特性相比博客更易使人接受,因此,许多基于博客的大型网站都开始在微博这一分类上慢慢发展。微博因为它简明精确、容易发布的特性,相比博客更加贴近生活而受到网友的喜爱。
1、发布简单:在用户登录以后,可以通过编辑文本,添加图片、短视频等的方式发布微博。发布之后默认情况下所有的网友都能看到微博的内容,同时也能在对微博进行评论,发表自己的看法。
2、私信功能:在某一用户需要单独跟另一用户交流时,但是又不能让别的用户看到他们之间的交流,这时用户可以用私信功能把消息单独传递给某一用户。而用户在登录系统之后,会第一时间收到系统的消息,提示有他人私信。并且用户在查看私信以后可以回复,这样就实现了使两个用户单独交流的目的。
互联网推动了而我们社会的发展,使我们的生活方式更加有效率,但也使社会上的竞争关系更加残酷。在物质水平一步一步提高的同时,我们的精神生活也应该加快跟进的步伐。而微博作为兴起的社交网络服务的一种方式,一定会随着互联网发展而进入人们的生活,并且关系到生活的每一方面。
1.4 主要研究工作和设计思路
本系统的开发思路如下:系统分为前后端,其中安卓前端拟采用当下流行的集成开发工具Android Studio来进行编码,至于数据的存储工具决定使用Mysql数据库中较老的版本,如Mysql5.5,这样比较稳定。而后台服务器端拟使用MyEclipse平台以SSH框架搭建[2]。前后端之间的数据传输协议使用HTTP协议,至于传输数据的格式使用JSON来进行序列化。这样,安卓前端其实与后台服务器交换数据的方案与WEB端一样,可以确保一种后台服务对应多种前端。整个系统主要实现用户的各种操作功能包括:1.用户的注册。2.用户登录。3.微博浏览主界面。4.微博详情界面。5.评论功能。6.个人信息界面。7.我的收藏模块。8.我的关注模块。9修改密码模块。
本文的安排如下:第一章,首先对当下微博的发展现状进行研究,对比国内与国外相似的社交网络服务(如FaceBook和微博)分析发展的异同点。第二章,从整体框架上介绍了该系统所应用到的所有前后端的关键技术,分别了解分析了Android Studio 集成开发环境的组成以及SSH框架的使用,对MySQL的学习与应用 以及 Json技术的研究和应用 。第三章 ,对系统模块功能进行详细分析与设计,再依据功能的分析和系统设计的原则来将用户需求以及功能需求进行详细划分和设计,确保系统具有易维护性,安全新,可操作性,和扩展性等特性。第四章,简单的展示了系统相关功能模块的完成效果与操作方式 。第五章 ,对系统进行相关的检错测试,通过不同的调试测试方法来查找并且修改和完善在系统可能存在的问题。第六章,总结和展望,在完成该毕业设计课题过程中的感受和对此整个系统未来的完善方面的展望。
第2章 系统的关键技术
2.1 开发平台的介绍
在开发微博前端时,有两种主流的开发环境(Eclipse和Android Studio)进行选择,虽然Eclipse对电脑性能要求比较低,但是作为谷歌亲手推出的官方开发平台,Android Studio具有非常多卓越的优点,甚至可以说Android Studio就是专门为了开发基于安卓的Application而出现。它是基于Intelli JIDEA开发的,与Eclipse ADT相似。而随着版本的不断迭代更新,目前已经到了3.2.0版本,可以说使用Android Studio会让开发安卓的效率大大的提升。
我采用的版本就是最新版本即Android Studio 3.2.0。因为基于Intelli JIDEA开发,Android Studio提供了许多功能,而且又针对安卓的应用程序,对开发者增加了许多特有的功能。开发人员可以高效快速的,开发出用户体验好、质量高且与功能紧密相连的安卓应用。而且,与Eclipse相比,Android Studio开发的应用程序具有安全、快速、效率高和易于管理的特点。Android Studio解决了一些在开发Android应用程序的常见问题。其中解决的第一个问题就是各种各样屏幕大小与不同分辨率的适配[3]。大量的Android设备具有大量不同尺寸的屏幕和分辨率这一现象在安卓的开发中一直是一个令人头疼的问题。但是使用Android Studio的开发环境进行开发,开发人员可以轻松地帮助适配他们的应用程序在不同设备上显示的问题。第二个解决的问题便是解决全球化语言,通过发布不同的语言版本,使全球的开发者能更为轻松的上手这一开发环境。同时Android Studio也提供了Beta Testing和收入记录的功能,开发者进行开发时方便开发者进行测试和记录程序运行的情况。
与安装各种插件的Eclipse集成开发环境相比较而言,使用Android Studio开发安卓的应用程序具有许多显著的优点,我这里仅列举部分优点加以说明:
1.优秀的代码分析;优秀的代码补全;超强的重构功能。(这三种情况中包含了NPE常见代码问题分析、xml文件与JAVA文件的自动关联从而快速定位等功能[4]。
2.多屏幕设计时支持。
3.在基于Gradle生成的更加方便快捷的Build系统下,通过灵活的变量Build可以轻松实现多产品线、多package name打包、多渠道、等等的功能。
4.Layout编辑页面可即时预览。
5.debug时,可以浏览图片。
6.在编辑模式下,采用色彩,图片,自定义xml格式等资源时,在右边可以显示预览的显示界面;而使用文本时,会自动将资源ID覆盖,仅仅显示设置好的文字。
7.使用Gradle管理依赖项,方便第三方库的引用和升级。
2.2 MySQL数据库和SQLite数据库
因为对个人用户提供免费社区版,在某些方面MySQL可以说是当下最为流行的关系型数据库。而RDBMS是在网页端应用开发中最好的使用关系数据库管理系统的应用软件之一。由于MySQL的数据都是保存在单独的表中,并非把所有的数据都储存在同一个库中,这样在存储不同类型的数据时就提高了速率和灵活性。MySQL使用的访问数据库语言是标准的SQL语句。另外MySQL在非商用的情况下是不收费的。下载MySQL时是分为普通社区免费版和商业收费版两个版本,因为它具有体积小,速度快,使用的成本代价低,以及源代码开放等许多优点使它成为大多数系统存储数据的第一选择。当然与一些大型的数据库相比(例如Oracle,DB2,SQLServer等等),MySQL当然也有着特别显著的缺点,如功能少、规模小等。但对于中小型企业和个人用户而言,MySQL提供的功能已经满足能使用需求了[5]。但最关键的是,MySQL作为开源软件,它给用户提供了授权使用的政策,用户可以降低开发的成本。而另一方面它本身具有其自由的特性,出色的性能等等特点,使它可以与具有相同的开源PHP,Linux和Apache等组成了一个非常良好、低成本、用户体验好的开发环境。
SQLite通常是在嵌入式设备中使用的小型数据库。包含在一个相对较小的C库兼容ACCID关系型数据库管理系统。因为它以嵌入式设备为设计目标,而被广泛应用在嵌入式产品中。考虑到是嵌入式设备使用的主要数据库,内存小是一个卓越的优点,仅仅几百K就足够。同时也支持(如Windows / Linux/ Unix)等的主要操作系统,并且可以与如PHP,C#,PHP和C等编程语言结合使用[6]。相比于MySQL和PostgreSQL两个闻名世界的开源数据库系统,它的ODBC接口,就处理速度而言,是更快的。
2.3 SSH框架的认识
2.3.1对struts2的理解
Struts2提供丰富的拦截器实现。
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: