基于Android的定制资讯软件设计与实现

 2022-01-17 11:01

论文总字数:19470字

目 录

1 绪论 1

1.1 课题背景和意义 1

1.2 主要内容 1

1.3 论文的组织结构 1

1.4 本章小结 2

2 技术支持 2

2.1 Android 2

2.1.1 Android的软件栈 3

2.1.2 Android的基本架构 3

2.2 Bmob云 4

2.3 OKHttp 4

2.4 SQLite和Litpal 4

2.5 Glide图片框架 4

2.6 本章小结 5

3 系统概述 5

3.1 需求分析 5

3.1.1 功能需求 5

3.1.2 非功能需求 6

3.2 系统架构 6

3.3 系统功能 7

3.4 系统流程图 8

3.5 类图 9

3.6 本章小结 9

4 系统设计 9

4.1 功能模块设计 9

4.1.1 视图部分 10

4.1.2 逻辑部分 11

4.1.3 工具部分 11

4.2 功能模块说明 11

4.2.1 登录模块 11

4.2.2 新闻列表模块 12

4.2.3 新闻内容模块 13

4.2.4 兴趣标签模块 13

4.2.5 个人信息模块 13

4.2.6 数据筛选模块 14

4.3 序列图 14

4.3.1 注册序列图 14

4.3.2 登录序列图 15

4.3.3 新闻列表序列图 15

4.3.4 兴趣标签序列图 16

4.4 状态图 16

4.4.1 展示新闻列表状态图 16

4.4.2 展示兴趣标签状态图 17

4.5 数据库设计 17

4.6 系统结构 18

4.7 本章小结 18

5 系统实现 19

5.1 Android客户端的实现 19

5.1.1 注册和登录 19

5.1.2 首页 20

5.1.3 发现页面 20

5.1.4 新闻页面 21

5.1.5 查看兴趣标签 22

5.1.6 查看个人信息 23

5.2 后端的实现 24

5.2.1 连接Bmob云数据库 24

5.2.2 连接SQLite数据库 25

5.2.3 连接聚合数据API接口 25

5.2.4 数据库实现 25

5.3 本章小结 27

6 结束语 27

参考文献: 27

致 谢 29

基于Android的定制资讯软件设计与实现

李坤鹏

, China

Abstract: This paper describes the design and implementation of a new type of information APP based on Android platform for mobile Internet. The system is developed using the Java language and Android Studio. This APP is divided into two main modules, the front end and the back end. The front end is APP, which is mainly UI and function interface. The back end realizes data interaction with the front end and storage. The back end is divided into Bmob cloud server part and API interface part. The server part stores user information and related settings; API part obtains information through interface. The data obtained from the information class API interface of the aggregated data platform is used as the front end data. The data of the Android client is stored in the SQLite database. This paper elaborates the whole application development process, introduces its main function, and puts forward the next work plan.

Key words: Android;Bmob;API;Customized Information;SQLite

1 绪论

1.1 课题背景和意义

移动设备上浏览新闻是当今一种特殊阅读新闻的方式,是在数字时代应运而生的产物。它的出现不仅丰富了新闻内容以及传播方式,而且为新闻理论研究提出了新的要求。

时下,随着互联网飞速发展,数字新闻再不是什么新鲜事物,相对于传统的报纸新闻及电视新闻,数字新闻有着时效性高,传播速度快,获取成本低等优点[4]。然而,在网络和数字驱动下的新闻同样有很多弊端,例如不实消息,媒体平台多而导致新闻量大、冗余等等。同时,每个人的兴趣点不同,所关注的新闻资讯也不同,而现今大多数字新闻平台只是简单的将“头条”推送给用户,却没关心这些“头条”是否是用户需要的头条。随着生活节奏的不断加快,数字新闻的迅猛发展,为用户提供新的数字新闻阅读方案,根据其兴趣推送定制资讯成为一种趋势。所以,研发一套新闻质量高、根据用户兴趣定制新闻、操作简单、功能全面的定制资讯APP,符合市场需求,具有实用价值和市场价值。

近年来,Android平台的发展势头非常迅猛。特别是Android智能手机的市场渗透率逐年上升。根据最新的研究报告,Android手机的市场份额在智能手机系统中排名第一[8]。而Android系统的移动终端产品价格范围很广,可以满足不同人群的消费需求[5]。因此,开发一套基于该平台的定制信息应用不仅能够满足移动应用市场的需求,而且还能降低成本。用户不需要购买额外的移动终端设备。只要有一个智能手机,就可以安装和运行这个APP。本文这是在这样的背景下,设计了一个基于Android平台的定制资讯APP的方案,并实现该系统。

1.2 主要内容

本应用使用Java语言以及Android平台开发技术,设计并实现一个基于Android平台的定制资讯APP。本应用与服务器进行数据交互,对用户账户信息进行有效管理。通过访问聚合数据API接口完成新闻的获取,并通过与SQLite数据库交互进行新闻数据存储的相关操作[7][15]。在对用户推送新闻资讯时,根据算法推送出更多用户感兴趣的内容,减少其它内容,做到“定制”的需求。另外本应用提供了兴趣编辑功能,用户可以使用此功能进行对兴趣标签的管理,以完成变更喜好的需求。

除了针对用户兴趣推送新闻资讯外,本应用还提供了“发现”功能,用户可以在这里阅读到其它类型新闻。通过分析,根据用户的浏览某类型新闻的次数,在之后的推送中系统也会适量增加该类型新闻出现的频率,做到真正得到智能定制。

1.3 论文的组织结构

第一部分:绪论。主要描述移动互联网时代数字新闻的背景及其利弊,从中分析出定制类资讯的必要性。同时说明本文的主要内容,要解决的问题及完成的工作。

第二部分:技术支持。主要描述本应用的技术支持,介绍开发过程中使用到的技术并阐述其在应用开发过程中的功能。

第三部分:系统概述。这部分进行详细的需求分析,阐述系统具体架构,简要介绍系统功能。从功能性需求分析和非功能性需求分析入手,通过用例图对本应用进行全面的需求分析。

第四部分:系统设计。通过对Android客户端设计、服务端设计、数据库设计和系统结构设计进行详细全面的说明。

第五部分:系统实现。该部分对本应用各个关键功能及页面做出展示,并描述实现原理并给出部分关键代码。

第六部分:结束语。对本文进行了总结,并对系统的进一步完善提出建议。

1.4 本章小结

本章主要阐述课题的背景,指出课题意义,最后简单介绍全文的结构和安排。

2 技术支持

2.1 Android

Android的非官方中文名字是Android,这是一个基于Linux内核的开源移动操作系统[6]。由谷歌创建的开放手机联盟(OHA,开放手机联盟)继续引领和发展,主要是触摸智能手机、平板电脑等移动设备和其它便携设备[13]

Android最初是由Andy Rubin开发的。该系统的目的是为数码相机创造一个先进的操作系统。然而,它后来发现市场需求不够大,智能手机市场增长迅速,因此Android成为智能手机的操作系统[11]。2005年7月11日,它被美国科技公司谷歌收购。2007年11月,古格和84家硬件制造商、软件开发商和电信运营商建立了一个开放的手机联盟,共同开发和改进Android。后来,谷歌发布了Android,它有一个Apache免费开放源码许可[2]。源代码和开源加速了Android的普及,使得制造商可以推出运行Android的智能手机。Android已经逐渐扩展到平板电脑等领域[3]。到2010年底,根据官方发布的官方发布,Android操作系统已经运行了两年多,诺基亚的塞班系统拥有超过10年的市场份额,成为世界上最大的智能手机操作系统。在2014年谷歌I/O开发者大会上,谷歌宣布在过去的30天里有10亿台活跃的Android设备,而2013年6月的这一数字为5.38亿[12]。在2017年3月,Android的全球网络流量和设备超过了微软的Windows,成为世界上最大的操作系统。由于它的开源,世界各地的许多开源社区都在维护和调整它[1]。Android的版本在中国也很常见。

2.1.1 Android的软件栈

图2.1 Android的软件栈

2.1.2 Android的基本架构

图2.2 Android的基本架构

2.2 Bmob云

Bmob云是一款全方位的,一体化的后端服务平台。它为移动平台或者Web平台提供了一个快速,高效的后端服务产品。实现无需再造应用后端服务,轻松拥有后端开发中需要的各种后端能力。通过Bmob云作为后端进行开发时,只需要在其官网上注册一个账号,之后可以申请任意多个数据库,并且每个数据库都对应了自己独有的密钥。在官网上下载Bmob云的SDK,将其导入到自己的开发工具中去,就可以在开发时使用相关功能。利用其进行后端接入时,不在需要繁琐的数据库语言的编写,通过将表的对象化,可以通过对对象的操作轻松的实现对云端数据库的管理[9]

对用个人Android开发者来说,开发一个带有完整后端的应用工作量是非常大的,需要去学习一门后端的开发语言,还要对服务器进行维护。所以在本应用开发时,应着力于Android客户端的开发和优化,这里选用Bmob云作为本应用的后台支持是非常有效的。

2.3 OKHttp

OKHttp是Square公司推出的Android网络框架。是一个轻量级的网络框架,可以用于替代Android中的HttpURLConnection工具。OKHttp不仅在接口封装上面做的简单易用,就连底层实现上也是自成一派,比起原生的HTTPURLConnection,可以说是有过之而无不及,现在已经成了广大Android开发者的首选网络信息库[10]。它拥有的封装好的各种接口及方法,并将网络请求是所用到的多线程封装在内,在我们使用其进行网络请求时就不必在进行繁琐的操作,只需几行代码便可以完成网络操作。

2.4 SQLite和Litpal

SQLite是一款Linux平台上的轻量级数据库,能够在Android平台上完美使用。它遵循标准数据库语言。在Android开发时,通过对SQLiteOpenHelper的继承并对其内方法进行重写,就可以轻易的实现对数据库的创建以及对其中的表进行操作和升级等等[14]

剩余内容已隐藏,请支付后下载全文,论文总字数:19470字

相关图片展示:

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;