基于Android的多功能电子书阅读器的设计与实现
余丽娜
(江西青年职业学院,江西南昌330000)
摘要:随着社会的发展和人民生活质量的提升,手机已逐步走入了寻常百姓家。由于快节奏的生活,利用碎片时间进行电子阅读的人越来越多。但世面上的电子书阅读器,不是阅读不够智能,就是操作过于复杂。因此,急需一款操作简单、功
能全面的电子书阅读器供人们使用。本文正是基于这样的背景,对一款电子书阅读器进行设计与实现"匕软件在Android 市场上线后,可以给电子书阅读爱好者提供更简单的操作体验和更智能化的阅读方式,相信会符合用户对阅读器的需求。关键词:电子书;阅读器;Android
中图分类号:TP391.1文献标识码:A文章编号:1673-1131(2019)08-0199-02
0引言
android软件基于Android的多功能电子书阅读器主要是以提供各类电子书为内容,实现多样化的阅读形式。基于用户对各类题材内容的阅读需求,整合具备内容出版或发行资质的机构提供的各类电子书。用户可以在APP
上选择感兴趣的内容进行在线阅读,也可请求下载之后离线缓冲阅读。此外,此APP还提供了交流平台,供用户对于电子书阅读前后的阅读感想进行交流和评论,增加了书友间的互动性。操作的简易性、阅读的智能性和平台的交流性都是本文的亮点。因此,在简化书本阅读和改善用户体验等方面,本文的设计是非常有意义的。1系统概述
系统需求概述是为了能从软件功能结构上把握整个软件的设计,使软件的设计过程上结构趋向于清晰,从而简化设计者的工作,节省不必要的人力、物力和时间,达到尽快将软件设计出来的目的。该软件是一款多功能的电子书阅读软件,用户可使用该软件进行首页浏览,搜书,看书等功能。同时,在注册拥有个人账号后,可对电子书进行评论,或与其他用户进行交流,设置个人资料。该软件是一款应用型的Android软件,主要是与用户操作进行交互,所以从软件构造上可分为六大模块,分别为:欢迎模块、主界面模块、书籍管理模块、阅读模块、设置模块以及评论模块。
欢迎模块,为了使用户进入软件时不显突兀,在使用软件时,提供一段欢迎界面。
主界面模块是软件开始运行时的主页面,由四个子模块组成,分别是首页、分类书、搜书和个人信息。
书籍管理模块由收藏管理、下载管理和历史记录管理三部分组成。看子模块的名字可知,它们分别对电子书的收藏和下载进行管理,而历史记录则保存阅读的历史,方便用户查看自己看过的书籍,方便书。
阅读模块为电子书阅读器的核心模块,该模块的功能设置,直接影响的是用户对该类软件的用户体验度。所以,考虑到用户体验问题,该模块为迎合用户阅读需求设置了一系列功能,包括夜间模式、阅读背景颜选择、亮度调节等等之类的。
设置模块分为个人设置和系统设置。系统设置是对于该款软件的总体设置,可进行登录、注册、清除缓存之类的操作。而个人设置针对的是登录用户,用户可对自己的信息进行查看和修改。
评论模块,是关于该电子书的评论区,可观看所有用户关于电子书的评论,同时用户可发表评论与读者们进行交流。
2系统核心功能设计与实现
2.1分类书
分类界面的实现为一个简单的GridView布局,将预先存放在工程的res-drarwable目录下的图片以网格的形式显示,每个item里除了图片外再在下面加上分类名。用户点击不同分类后,GridView组件注册的OnltemClickListener会将分类名传到webservice上,从数据库中获取所需数据,在另一个新的Activity中显示结果数据。
2.2搜书
根据搜索框中输入的关键字,将关键字传给webservice的搜书函数,再得到webservice返回的数据。在根据关键字搜索电子书时,客户端程序方面不做处理关键字的操作,而是在Sql server数据库中做处理。Sql server中定义了一个对比相似度的函数,和一个传入关键字搜索书的存储过程。在webservice 的搜书函数中的访问数据库的sql语句,就是调用该存储过程获得结果数据。而搜索框下面的每个标签是一个TextView,每次显示该页面前,会在本地SQLite数据库的搜索记录表中获取最后插入表的八个搜索的记录。快捷查询的功能,是在每个
标签上监听onClickListener事件,使之点击能填充搜索框。每次往搜索记录表中插入新的数据时,检测一遍是否插入的内容已经存在,存在时,删除原先的内容,再插入新的内容。
2.3添加收藏
在电子书简介页面,有收藏按钮。当从webserver上获取来的数据显示当前用户已经收藏该本电子书时,收藏按钮显
示为不可按状态。可按状态时,点击按钮,按钮上注册的On­ClickListener事件会将收藏信息发送给webservice进行数据库存档。操作成功,电子书收藏成功,按钮变为不可按,操作
失败,给出Toast提示信息,表示收藏失败。
2.4下载书籍
在电子书简介页面,有下载按钮。当程序运行检测到sdcard里存在该本书时,下载按钮就显示不可按状态。可按状态时,点击按钮,程序会启动一个Service服务,Service根据之前获取到的URL地址,向bomb服务器发送下载请求。下载失败,Toast出现提示。下载成功,改变下载按钮的状态。
2.5删除下载
已下载的书籍界面同收藏界面一样,都是以GridView网格形式显示,每本书显示封面和书名。不过,收藏界面在初始
化界面时,是通过获取SQL Server数据库中的收藏表中的数据,从而生成收藏界面。而下载界面,则是通过检验sdcard中是否存在已下载的书籍信息,将存在的书籍信息提取显示出来。
2.6阅读
刚开始进入阅读界面时,首先根据当前阅读电子书的信
息,去SQLite数据库的书签表中提取该本书的阅读记录,确定本次阅读的章节和起始位置。书签表中不存在该书书签数据时,从第一章的起始位置开始阅读。阅读界面整体布局时由一个
199
毫米波5G移动通信系统射频接收前端研究
袁涛
(广州润芯信息技术有限公司,广东广州510663)
摘要:5G移动通信技术商用元年的开启,将带来更好的用户体验,也必将带来通信行业的巨大变化。系统介绍了5G移动通信的关键技术;提出了一种毫米波射频接收前端结构方案,并给出了电路设计和天线设计和仿真。
关键词:毫米波;5G通信;射频前端;天线
中图分类号:TN929.5文献标识码:A文章编号:1673-1131(2019)08-0200-02
15G移动通信关键技术
1.1MIMO技术
多天线技术(MIMO)是由多个独立的天线单元组合而成,同时收、发无线通信信号,具有较高的稳定性能。
在无线通信环境中,受制于自然环境以及障碍物、大气气体电离等影响,无线电波信号会产生散射、反射、衍射等作用,容易造成信号的不同程度衰减。而在信号多径环境下,釆用多天线技术(MIMO)极大的提高了移动通信系统的信道容量。另外釆用多通道天线技术以及正交频分复用技术(MIMI-OFDM)技术的高度融合,又可以提升频率的应用效率和移动通信覆盖范围,也能满足5G通信对数据处理速率的要求。
对于多通道天线系统的部署,需要考虑多个因素的影响。多天线系统中,天线数量越多,其获得的带宽容量也就也大。在端,由于天线架设的比较高,因此散射比较少,则要求其各单元天线之间的间距要大。但是,随着人们的要求增高,在社区中人们对电磁信号发射设备有抵触情绪,多天线的部署在社区越来越困难。对于移动台来说,多天线的配置和移动设备的小型化、低功耗等要求有矛盾之处”另外,多天线系统的引入会使设备的成本和复杂性增加”从而在价格比较上处于劣势低位叫另外一个需要考虑的因素就是多通道天线系统的算法复杂度问题。多通道天线系统将信号拓展了空间和时间两个维度,其信道均衡、检测、估计、编译码等信号处理的复杂度将随着天线数量的增加而急剧增加。计算量和复杂度的增加将会是计算功能相对较弱的移动台倍感压力,它将会使设备对信号处理的时延增加、功耗提高并导致电池续航时间缩短。尽管对于空时编码系统的信道模型已经存在一些标准,且在理论上有许多新的突破,但是目前还没有被国际电信联盟认可信道模型标准。这使得多通道系统和传统的单通道天线系统兼容存在一些问题。而实现多通道天线有三种方式,即空间分集、极化分集和两种方式的组合模式。基于移动通信空间分布以及尺寸分析和设计需要,小型尺寸的天线研究越来越重要。另外,为
了提高系统的容量,不同制式的通信系统多频率段运行,能够很好的解决物理层无线通信功能任务。多天线技术是现代移动通信系统中的关键技术,智能天线通过波束合成技术,使无线信号传输具有了方向性,减少了相互之间的干扰,并可以降低发送信号功率。多通道天线是智能天线的扩展,它引入了空间维的结构。多天线技术是无线技术领域的一大突破,是5G通信系统中必须釆用的技术之一。
1.2毫米波技术
目前,移动通信频段资源中,较低频段极为有限,没有开发的空间,为满足5G通信需求,可以充分利用高频段可用频谱资源,对于30GHz-300GHz毫米波频段,可利用带宽资源丰
自定义的MewGroup,该WewGroup包含上一页、当前页和下一页三个页面,这三个页面由另外的自定义布局文件布局。每次显示时,都是当前页显示,另外的两页隐藏在屏幕的左右两边。刚进入阅读页面进行初始化时,获取当前章节的的文本内容存入一个StringBuilder变量中,取得变量的长度。三页的阅读文字就是根据页面显示大小,调用变量的subSequenceO方法截取StringBuilder变量中的子字符串。阅读Activity中还定义了三个全局int型变量currentTopEndlndex,currentShowEndIndex> currentBottomEndlndex用来记录每一页文字的结束序号。翻下一页时,丢弃原先的上一页,当前页变成新的上一页,原先的下一页变成当前页,再根据新的当前页是否是最后一页决定是否绘制新的下一页。currentTopEndlndex,currentShowEndlndex, currentBottomEndlndex三个变量的值在翻页时也随之变化。
判断是否是最后一页的方法是,根据新的currentShowEndlndex变量是否等于StringBuilder变量的长度。等于时,说明当前页就是目前章节的最后一页,该考虑读取下一章节了。不等于时,根据currentBottomEndlndex的值截取StringBuilder变量中相应的子字符串绘制新的下一页。翻上一页,丢弃原先的下一页,当前页变成新的下一页,原先的上一页变成当前页。
2.7清除缓存
清除缓存后面括号里的缓存总计,是将sdcard中存放缓存目录下的所有文件及文件夹所占内存相加,使用的是自定义的一个递归函数,传入文件夹的名称,返回所占内容总和,再根据缓存的数值大小转化成合适的单位进行显示。单击清除缓存,注册的OnltemClickListener事件会删除缓存文件夹在的所有目录及文件。清除程序写在主线程中,使用户在清除过程中始终停留在该界面。清除完毕,重画界面。
3结语
本阅读器首次载入程序和之后的每次执行,采用Request-Response方式载入数据,随着系统访问数据量逐渐增多,每次访问都能顺利完成,并不出现任何由代码问题引起的延迟。各个模块在多用户集中在线访问时响应速度较快,界面友好,系统运行完全正常。
参考文献:
[1]芮素文.基于Android平台软件开发方法的研究与应用
[J].信息通信,2015(03)
[2](英)梅尔.Android2高级编程(第2版)[M].北京:清华大
学出版社,2013:12-12
作者简介:余丽娜(1983-),女,江西丰城人,硕士,主要从事:计算机应用。
200

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。