基于Android系统的电子书阅读器的设计与实现
基于Android系统的电子书阅读器的设计与实现
4.3.2 建表语句1)创建:1、创建书的表:create table IF NOT EXISTS book(bid integer primary key autoincrement,bpath varchar(255) not null);2、创建书签的表:create table IF NOT EXISTS bookmark(bmid integer primary key autoincrement, bpath varchar(50) not null,bmname varchar(50) not null,bmoffset integer not null,bmsavetime varchar(20) not null);3、创建用户管理的表:create table IF NOT EXISTS user(userid integer primary key autoincrement, username varchar(20) not null,password varchar(20) not null, telephone varchar(20) not null);4、创建最近阅读的表create table IF NOT EXISTS nearlyread(bookid integer primary key autoincrement, bookname varchar(50) not null,bookreadtime varchar(20) not null);5、创建下载管理的表create table IF NOT EXISTS down(downid integer primary key autoincrement, downuser varchar(20) not null,downbook varchar(20) not null, downtime varchar(20) not null);2)SQlite3数据库使用方法:选择:select from bookmark where bmid=1;插入:insert (bookmark,null,values);删除:delete from bookmark where bmid=3 ;查找:query(table, columns, selection, selectionArgs, groupBy, having, orderBy)4.3.3 数据表分析本数据库用的是一个轻量级嵌入型数据库sqlite3 ,即创建了一个数据库reader.db,在数据库中创建了几数据表。
基于Android的电子图书APP的设计
基于Android的电子图书APP的设计随着移动互联网的快速发展和智能手机的普及,电子图书已经成为人们阅读的主流方式之一,而基于Android平台的电子图书APP因其开放性和灵活性受到了广泛关注。
本文将从设计的角度对基于Android的电子图书APP进行探讨,了解其设计原则、功能模块、用户体验等方面的内容。
一、设计原则在设计基于Android的电子图书APP时,需遵循一些设计原则,以确保APP的用户体验和功能性能。
需要考虑到APP的可访问性,即要确保APP的内容对所有用户来说都易于获取、理解和使用,包括老年人和残障人士。
要考虑到APP的稳定性和流畅性,尽量避免程序崩溃、卡顿等问题,提高用户的使用体验。
还要考虑到APP的安全性,确保用户的个人信息和支付信息得到保护。
在设计时,还需考虑到UI/UX设计原则,即界面简洁清晰、操作直观便捷,给用户良好的视觉和使用体验。
二、功能模块1.图书分类模块该模块用于对电子图书进行分类管理,用户可以通过浏览不同的分类找到自己感兴趣的图书。
同时该模块还可根据用户的浏览历史和偏好推荐相关图书,提供个性化的推荐服务。
2.图书阅读模块该模块是APP的核心功能模块,用户可以在这里阅读电子图书,包括翻页、书签、搜索、目录等基本功能,同时还可以支持夜间模式、字体大小调整等阅读设置,提供更好的阅读体验。
3.个人中心模块该模块用于用户管理个人信息、订阅图书、购买图书、评论点赞等个性化功能,用户可以在这里管理自己的图书收藏和阅读历史,同时还可以参与图书社区互动。
4.在线阅读模块该模块让用户可以在线阅读图书,而不需要下载到本地,减少用户的存储空间占用,同时可以实时更新最新图书版本,保证用户的阅读体验。
5.社交分享模块该模块将用户与社交平台进行连接,用户可以将自己所阅读的图书内容分享到社交平台,与好友互动,创建自己的读书心得分享,扩大图书的影响力。
6.推送消息模块该模块主要用于向用户推送最新的图书推荐、促销活动、阅读打卡等信息,提高用户的参与度和留存率。
基于Android的电子图书APP的设计
基于Android的电子图书APP的设计1. 引言1.1 介绍基于Android的电子图书APP的设计在用户界面设计方面,考虑到用户在阅读过程中的舒适度和操作便捷性,设计简洁明了的界面布局和交互方式将是关键。
功能设计方面,除了基本的阅读功能外,还可以考虑加入目录快速导航、书签标记、阅读进度同步等功能,提升用户体验。
数据存储设计和云端同步设计则可以确保用户阅读数据的安全性和便捷性。
安全性设计是保障用户个人隐私和阅读数据安全的重要环节。
通过对以上方面的设计深入研究和分析,基于Android的电子图书APP能够更好地满足用户的阅读需求,提升用户体验。
在未来的发展中,可以进一步优化功能、加强数据安全保护等方面,提高APP的竞争力和市场份额。
希望通过本文展开的讨论,可以为基于Android 的电子图书APP的设计提供一定的参考和借鉴,并为其未来发展提出一些建议。
2. 正文2.1 用户界面设计用户界面设计是电子图书APP中至关重要的部分,一个优秀的用户界面设计可以提升用户体验,增加用户的使用频率。
在设计用户界面时,需要考虑到用户的习惯和需求,使得用户可以轻松地找到他们需要的内容。
用户界面应该简洁明了,避免过多的复杂操作和信息,让用户一目了然。
在布局上,可以采用清晰的分类和标签,使得用户可以快速找到自己需要的电子图书。
界面的设计也应该符合Android系统的设计规范,保持统一性和一致性。
采用Material Design的设计语言,可以让用户更易于理解和操作。
用户界面的交互设计也十分重要。
需要考虑到用户的操作习惯,设计简单直观的交互方式,如滑动、点击等,方便用户使用。
一个成功的用户界面设计应该是简洁、清晰、符合Android系统的设计规范,并且考虑到用户的操作习惯和需求。
通过良好的用户界面设计,可以提升电子图书APP的使用体验,吸引更多的用户使用。
2.2 功能设计功能设计是电子图书APP设计中至关重要的一部分,它直接关系到用户能否顺利地使用和享受到APP提供的服务。
基于Android的电子图书APP的设计
基于Android的电子图书APP的设计随着移动互联网和智能手机的普及,电子图书已经成为人们阅读的重要方式之一。
基于Android的电子图书APP因其开放性和灵活性,受到了越来越多的用户欢迎。
本文将就基于Android的电子图书APP的设计进行探讨,包括用户体验、功能设计、界面设计等方面。
一、用户体验设计1. 用户注册和登录用户注册应该简单明了,可以通过手机号、邮箱或第三方账号注册。
注册成功后,用户可以选择兴趣标签,系统会根据用户的选择推荐相应的图书。
登录的方式可以通过账号密码登录或者使用指纹、面部识别等生物识别技术,以提升用户的使用体验。
2. 阅读界面设计在阅读图书时,用户可以自由选择字体大小、颜色、背景等参数,以满足不同用户的阅读习惯。
可以支持夜间模式,减少对眼睛的刺激。
为了提升用户的阅读体验,可以添加翻页动画、书签功能等,增加趣味性和交互性。
3. 个性推荐根据用户的兴趣标签和阅读历史,系统能够智能推荐相关的图书和文章,提供个性化的阅读推荐。
二、功能设计1. 图书分类和检索在图书APP中,可以设置多种分类方式,如文学、历史、科技等,用户可以根据自己的兴趣选择感兴趣的分类。
还可以提供关键词检索功能,方便用户快速找到自己感兴趣的图书。
2. 收藏和下载用户在阅读过程中,可以收藏自己喜欢的图书,方便日后再次阅读。
也可以支持离线下载功能,用户可以在没有网络的环境下继续阅读已下载的图书。
3. 用户交互图书APP中可以支持用户评论、点赞、分享等社交功能,增加用户之间的互动,提升用户粘性。
也可以添加用户书评、打分等功能,增加用户对图书的参与感。
4. 书籍管理用户在阅读过程中,可以添加书签、笔记、标注等功能,方便用户标记重要内容,并且支持用户导出这些信息,方便用户管理。
三、界面设计1. 界面简洁清晰在设计图书APP的界面时,应尽量保持简洁清晰,避免过多的装饰和图标,以提升用户的使用体验。
主界面可以包括图书推荐、分类浏览、个人中心等功能,方便用户快速找到需要的内容。
基于Android的电子图书APP的设计
基于Android的电子图书APP的设计随着移动互联网的快速发展,电子图书成为了读者们获取知识和娱乐的重要载体。
为了满足读者不断增长的阅读需求,越来越多的图书出版商和内容提供商开始向电子图书领域转型。
在这样的背景下,基于Android的电子图书APP应运而生,它为读者提供了更便捷、个性化的阅读体验。
本文将介绍一种基于Android的电子图书APP的设计理念和关键功能。
一、设计理念1. 用户体验至上在设计基于Android的电子图书APP时,用户体验是第一要务。
一方面,APP的界面设计要简洁、清晰,让用户能够快速找到自己需要的图书和功能;阅读体验要流畅、舒适,不影响用户的视觉和心理感受。
2. 多维度的个性化推荐通过用户行为分析和个性化推荐算法,为用户提供与其兴趣相关的图书推荐。
用户可以根据自己的阅读习惯和兴趣订阅定制化的推荐内容,提升阅读体验。
3. 多端同步阅读支持在手机、平板、电脑等多端同步阅读,确保用户在不同设备上都能够随时随地继续阅读,并且能够同步阅读进度和用户笔记、标注等。
4. 社交化阅读为用户提供阅读社区功能,用户可以在社区中分享自己的阅读体会,与其他读者交流心得和感想,增加阅读的乐趣和深度。
二、关键功能1. 图书阅读提供丰富的图书资源,包括小说、散文、科普读物等各类图书。
用户可以通过分类浏览或关键词搜索找到自己喜欢的图书,支持在线阅读和离线下载。
4. 个人中心用户可以在个人中心管理自己的阅读历史、书架、订阅内容等,还可以查看社区动态、个人信息等。
5. 社区交流用户可以在社区中发表自己的阅读感想,与其他读者交流讨论,点赞和评论其他用户的动态。
用户也能够关注感兴趣的作者或读者,建立私人圈子进行交流。
6. 书签笔记用户可以在阅读过程中添加书签,做笔记和标注,方便对重要内容进行理解和整理,提高阅读的深度和效果。
7. 离线阅读用户可以下载图书到本地进行离线阅读,无需依赖网络,方便在没有网络的情况下继续阅读。
基于Android的电子书的设计与实现
论文题目基于Android的电子书的设计与实现姓名**学院**专业**指导教师**备注基于Android的电子书的设计与实现作者姓名:**指导教师:**单位名称:计算机科学与技术系专业名称:**Design and Implementation of EbookBased on AndroidbySupervisor: **毕业设计(论文)任务书基于Android的电子书的设计与实现摘要基于Android的在线电子书在手机的应用领域有着重要的作用。
通过结合当前最流行的轻量级框架SSH作为后台,后台添加电子书。
Mysql作为数据库,然后客服端通过JSON数据和服务器进行交互,前台实现浏览电子书分类,然后选择电子书的标题,就可以进行在线阅览!服务端部署在tomcat上,就可以实现在任何地方浏览书籍,文章。
本软件是基于Android 和 SSH框架上开发的软件。
Android是一种以Linux为基础的开放源码操作系统,主要使用于便携设备。
目前尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。
Android操作系统最初由Andy Rubin开发,最初主要支持手机。
2005年由Google收购注资,并组建开放手机联盟开发改良,逐渐扩展到平板电脑及其他领域上。
Android的主要竞争对手是苹果公司的iOS以及RIM的Blackberry OS。
2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。
关键词:Android、电子书、软件Design and Implementation of EbookBased on AndroidAbstractPlays an important role in the field of mobile application for Android-based online e-book. By combining the most popular lightweight framework of SSH as a background, the background to add e-books. Mysql as database, and then the customer side through JSON data and server interaction, the front desk Browse Categories, then select the title of the e-books, online reading! The server-side deployment in tomcat, you can browse the books, articles in any place.This software is a software development based on Android and SSH framework. Android is a Linux-based open source operating system, mainly used in portable devices. Yet the name of the unified Chinese, mainland China, more people use the "Andrews" or "security caused. Android operating system originally developed by Andy Rubin, primarily support the phone. Capital injection, acquired by Google in 2005 and formed the Open Handset Alliance, the development of improved, gradually extended to the Tablet PC and other areas. Android's main competitor is the Apple iOS and RIM of the Blackberry OS. The first quarter of 2011, Android in the global market share for the first time more than Saipan system, ranking first in the world.Key words: Android, Ebook, System,Software目录任务书 (I)摘要 (II)ABSTRACT (III)第1章绪论 (1)1.1论文的研究背景和意义 (1)1.2论文研究的主要内容 (2)1.3论文组织结构 (2)第2章关键技术介绍 (3)2.1ANDROID概述 (3)2.2JAVA概述 (3)第3章系统分析 (7)3.1构架概述 (7)3.1.1 功能构架 (7)3.1.2 模块需求描述 (8)3.2系统开发环境 (8)3.3系统任务的可行性分析 (8)3.3.1 技术可行性 (8)第4章系统设计 (9)4.1设计指导思想和原则 (9)4.1.1 指导思想 (9)4.1.2 软件设计原则 (9)4.2构架概述 (9)4.3系统的功能结构设计 (10)4.4系统控制流程 (10)第5章系统实现 (11)5.1后台管理模块 (11)5.2客服端处理模块 (13)第6章系统测试 (15)6.1测试方案及测试用例 (15)6.1.1 在线阅读 (15)6.1.2 后台上传 (15)6.2测试结论 (15)第7章结论 (16)参考文献.................................................. 错误!未定义书签。
基于Android的电子书阅读器的设计与实现
基于Android的电子书阅读器的设计与实现马鸣;钱鸽【期刊名称】《电脑知识与技术》【年(卷),期】2012(000)027【摘要】The Android system is a hierarchical software set, so doing system research on the levels of Android come to first;Sec⁃ondly, leaning more about the development of applications on the Android platform, a better understanding of the Android Sys⁃tem. The completed of the design and realization of e-book reader based on the Android platform mainly by using the Eclipse development tools, Java language and Sqlite database. The e-book reader has realized the locality reading, manual page, add bookmark, quiry, delete, auto flip, bookshelf, rapid positioning, and online download. This article mainly introduces the thinking and logic, architecture of the program design, the design of the database and the whole realization process. Finally, further elabo⁃rates the influence of Android e-reader on the cultural development and their marketable value.% Android系统是一个层次的软件集,所以先从层次方面对Android进行系统研究;其次,通过对Android平台上应用的开发,更进一步了解Android这个系统。
基于Android平台的手机电子书阅读器设计
保密类别______ 编号________本科毕业论文基于Android平台的手机电子书阅读器设计院(系)别传媒技术学院专业数字媒体技术班级08数媒技术(影视)姓名王哲学号201010014指导教师王莉莉中国传媒大学南广学院2012年4 月12 日摘要在科技日益发达的今天,社会竞争越来越激烈,这要求人们不断的摄取信息来充实自己。
要求人们能随时随地的了解并获取所需的信息。
在这种情况下,电子书阅读器刚好满足了人们便捷地获取信息的需求。
本文设计的手机电子书阅读器是基于Android平台设计的,Android平台是目前发展最快、最具市场前景的智能手机操作系统。
本系统是根据Google Android 平台用户的喜好和其平台的特性而设计的,在Google Android平台自带的SDK1.5环境下,运用Eclipse,Photoshop等相关工具进行开发的。
本文介绍了Google Android 开发的流程,讨论了基于Android平台应用程序开发的关键技术,对手机电子书阅读器做了详细的需求分析,并重点介绍了基于Android 平台的手机电子书阅读器的总体设计,主要包括手机电子书阅读器的架构设计、各功能模块的设计与实现。
本文设计的手机电子书阅读器通过了功能和性能方面的测试,证明了本文设计方案的可行性。
通过对基于Android平台手机电子书阅读器的设计与实现的介绍,希望能为今后开发出功能更强大的阅读器提供有益的借鉴。
关键词:Android平台;电子书阅读器;JavaABSTRACTToday,it’s a more advanced in technology, increasingly competitive society, which requires people to the intake of information to enrich themselves. Requires people to always be in the know and get the required information. In this case, the news reader just to meet the needs of people know of external objects. In this paper the ebook reader is mobile phone design based on the Android platform of the design, Android platform is the fastest developing, the most market prospect of smartphone operating system.In this system, Google Android platform is based on the user's preferences and characteristics of its platform designed, in Google Android platform, comes with SDK1.5 environment, the use of the Eclipse, PhotoShop and other tools for development. This article introduces the development process of the Google Android, discusses the application development based on the Android platform of the key technology, to do a detailed analysis of the demand for Mobile phone ebook and introduces the focus on Mobile phone ebook reader overall’s design. includes the ebook reader mobile phone design mainly, architecture design and the function of the system.In this paper the ebook reader through mobile phone design of the function and performance test, proved the feasibility of this design. Through to the Android platform based on mobile phone ebook reader design and implementation of the introduction, the hope for the development in the future more powerful offer beneficial reference for the reader.Keywords :Android; E-book reader; Java目录摘要 (I)ABSTRACT ............................................................................................................................... I I 绪论.. (1)(一)课题研究背景及意义 (1)(二)国内外研究现状 (1)(三)论文组织结构及安排 (3)一、相关理论及关键技术 (3)(一)Andriod特征 (4)(二)Andriod架构 (4)(三)Andriod应用的构成和工作机制 (6)(四) Andriod手机平台控件研究 (8)二、手机电子阅读器需求分析 (9)(一)概述 (10)(二)手机阅读器功能需求 (10)(三)手机性能需求 (14)三、手机电子书阅读器总体设计 (14)(一)软件架构设计 (14)(二)软件结构设计 (15)(三)功能模块设计 (16)(四)系统数据流设计 (16)四、手机电子书阅读器的设计与实现 (17)(一)数据库设计 (17)(二)关键代码实现 (19)五、系统测试 (28)(一)Android手机系统测试之打断事件 (28)(二)测试中发现的问题及修复 (29)(三)本程序的扩展功能 (29)(四)测试结果 (30)结语 (33)参考文献 (33)后记 (35)绪论手机已经成为了生活中不可缺少的通讯设备,没有手机有时会让人觉得寸步难行。
基于Android系统的电子书阅读器的设计与实现
S u b M e n u f o n t Me n u = m e n u . a d d S u b Me n u ( “ 字 体 大
小” ) :
S D卡 的遍 , 将 S D卡 的 文件 以列 表 的形 式 展 现 … t
摘 要 : 随 着智 能手机 的 普及 和 社 会竞 争的 日益 激 烈 , 人 们 对智 能手 机 的依 赖越 来越 严重 .
需要 随 时 获取 信 息 来充 实 自己, 在这 种 需求 下 , 设 计 一款 基 于 A n d r o i d平 台的 电子 书 阅读 器就
显 得 尤 为重要. 这 一 款 电子 书 问 读 器 经 过 客 户 需 求 分 析 、 技 术可 行性 分析 、 总 体 设 计 和 详 细 编
1 1
9 I 9 J ( 2 0 1 6 j
甘 音高忤 拒
基于 A n d r o i d系统 的电子 书阅读器 的设计与 实现
修 玉娇 ’ , 韩晓红 !
( 1 . 州城 r l J : < - b  ̄培 黎 2 . 州 I 城 I 学院, 甘肃 兰州 7 3 0 0 7 0 ; 院 息 l 弹学院, 什肃 ? I 、 l 7 3 0 0 7 0 )
收 稿 日期 : 2 0 I 6 - 0 5 — 0 6
基金项 目: ¨竹 等 学 饺  ̄ O t : J O F 1 “ 多, I : 物特 融合 的 I 一 : 1 1 ) 物 联 ㈨ q 研 究 作者简 介: 修 l 峤( 1 9 8 7 一) . 女, 建 K汀 人 , 讲l J I l i . 训: 究山 ’ m: 汁 : f 』 【 4 _ I } i 肋 没讣 .
Ada p h r .
各 个模块 的 详细 没 i f ’ 如下: ( 1 ) 软什 主 模 块. 陔模块 使 川 i个 R t 1 t l i t 卜
基于Android手机电子书阅读器的设计与实现(企业管理)
郑州大学毕业设计(项目报告)题目:手机电子书阅读器的设计与实现指导教师: 张淑艳职称:讲师学生姓名: 王明学号:20117740444 专业: 计算机科学与技术(软件测试)院(系):软件学院完成时间:2014年12月2014年12月29日目录摘要错误!未定义书签。
1项目开发目标错误!未定义书签。
1.1项目来源错误!未定义书签。
1。
2开发目标错误!未定义书签。
2项目总体设计错误!未定义书签。
2.1技术框架设计错误!未定义书签。
2。
2数据库设计错误!未定义书签。
2.3功能框架设计错误!未定义书签。
3项目功能描述错误!未定义书签。
3.1软件欢迎界面模块功能描述错误!未定义书签。
3.2主界面功能描述错误!未定义书签。
3.3书籍管理模块功能描述错误!未定义书签。
3。
4文件浏览模块功能描述错误!未定义书签。
3.5阅读管理模块功能描述错误!未定义书签。
3。
5。
1章节管理模块功能描述错误!未定义书签。
3。
5.2书签管理模块功能描述错误!未定义书签。
3.5.3 搜索管理模块功能描述错误!未定义书签。
3。
6设置管理模块功能描述错误!未定义书签。
3。
7使用帮助模块功能描述错误!未定义书签。
3.8关于模块功能描述错误!未定义书签。
4项目技术总结错误!未定义书签。
4.1技术创新及特点错误!未定义书签。
4.2个人收获与体会错误!未定义书签。
4。
3致谢错误!未定义书签。
摘要ﻩ在这个快节奏的时代,人们的空余时间越来越零碎,而且人们对智能手机的依赖越来越重,所以,一个拥有丰富功能且能随时进行电子书阅读的电子书阅读器的出现,则是我们刻不容缓的事情.此软件是在Android平台上进行设计开发,此软件的开发是通过了客户需求分析阶段以及技术可行性分析阶段,然后进行总体设计阶段和详细设计编码等阶段。
此软件不仅具有基本的电子书阅读功能,而且还拥有丰富的实用功能设计,例如目录自动生成以及阅读界面设置、阅读休息提醒等。
经过不断的测试与完善,电子书阅读器功能稳定,并且在真机上对其进行了测试与验证,基本上达到了用户的需求标准。
基于Android平台的手机电子书阅读器的设计与实现
毕业设计基于Android平台的手机电子书阅读器的设计与实现附外文文献及中文翻译摘要在这个信息化的时代,计算机越来越精致,手机也越来越智能化,所以,一个较好的应用软件在很大程度上能提升一个手机的品牌。
而在智能手机上安装一个拥有丰富功能支持的电子书阅读器,更是我们刻不容缓的事情。
本设计采用Android平台,根据对手机电子书阅读器的客户需求分析和技术可行性分析,经过总体设计和详细设计编码测试等阶段,完成了电子书阅读器软件的设计。
不仅实现了电子书阅读器最基本的阅读功能,而且还为用户提供了丰富的功能支持,包括找书,书签,自动翻页以及阅读界面设置的操作。
而本次设计最大的特点则是通过屏幕触控实现了移动时的翻页特效。
经过不断的测试与完善,电子书阅读器功能稳定,并且在真机上对其进行了测试与验证,基本上达到了用户的需求标准。
关键词:Android;电子书阅读器;屏幕触控;翻页;AbstractIn the time of information technology, with the increasingly sophisticated of computers and more and more intelligent of mobile phones, a better application software can enhance a brand of the phone to large extent. It is our urgent for us that installed on the smart-phone has a rich functionality to support the e-book reader.Based on the needs analysis of customers and technical feasibility analysis, I use the Android platform to achieve the design of mobile phone’s e-book reader. After completing the overall design and detailed design coding testing stage, I achieved the design of the e-book reader software. Not only can the soft achieve the basic function of E-book reader, but also offer many other functions for users, including books and bookmarks, flipping pages automatically and designing the reader. The significant character of the design achieve the flipping page of mobile by touching screen Through continuous testing and improvement, E-book reader is stable. The testing and verification in real device has carried out to meet the customers’ requirements which have reached the standards of the customers’ requirements. Key words: Android; e-book Reader; Touch Screen; Flip目录第1章前言 (1)1.1课题提出的背景目的及意义 (1)1.1.1 课题提出的背景 (1)1.1.2 课题提出的目的 (1)1.1.3 课题提出的意义 (1)1.2设计思路及研究方法 (2)1.2.1 设计思路 (2)1.2.2 研究方法 (2)第2章需求分析 (1)2.1软件的基本功能要求 (1)2.2系统架构 (2)2.3开发环境 (2)第3章软件设计 (3)3.1总体软件结构设计 (3)3.2接口设计 (4)3.2.1 外部接口 (4)3.2.2 内部接口 (5)3.3数据库设计 (5)3.3.1 数据模式设计 (5)3.3.2 数据表格设计 (5)3.3.3 表的具体设计 (6)3.3.4 数据字典 (6)3.4软件设计模型 (7)3.5代码设计 (8)3.6软件维护设计 (8)第4 章系统功能模块的设计与实现 (9)4.1关键技术 (9)4.1.1 android平台及java语言 (9)4.1.2 中介软件 (9)4.1.3 四大组件 (10)4.1.4 sqlite3 数据库 (10)4.1.5 Tomcat服务器 (10)4.2欢迎界面的实现 (11)4.3主控制类的实现 (11)4.4工具类的设计 (12)4.5阅读界面的实现 (12)4.6找书功能的实现 (13)4.7书签功能的实现 (14)4.8设置字体大小功能的实现 (15)4.9更换背景图片以及设置字体颜色功能的实现 (16)4.10音乐播放功能的实现 (16)第5章系统测试 (1)5.1欢迎界面 (1)5.2用户阅读界面 (1)毕业设计总结 (1)参考文献 (1)附录一核心代码 (1)附录二毕业设计外文翻译(英文) (1)附录三毕业设计外文翻译(中文) (8)致谢 (1)第1章前言1.1 课题提出的背景目的及意义1.1.1 课题提出的背景在这个信息化的时代,IT业已经成为世界发展的主流,我们对信息技术的依赖远远超过了对我们自己的依赖,计算机和手机已经成为我们日常生活中不可缺少的获得信息的渠道。
毕业设计(论文)Android手机电子书阅读器的设计与实现
毕业设计(论文)Android手机电子书阅读器的设计与实现毕业设计(论文)Android手机电子书阅读器的设计与实现UNIVERSITY OF TECHNOLOGY毕业设计题目 Android手机电子书阅读器的设计与实现学生姓名学号 00101106专业班级通信工程指导教师学院通信学院答辩日期 2012年10月11日Android手机电子书阅读器的设计与实现The design and Implementation of the Android mobile phone e-book readerXxx摘要在这个信息化的时代计算机越来越精致手机也越来越智能化所以一个较好的应用软件在很大程度上能提升一个手机的品牌而在智能手机上安装一个拥有丰富功能支持的电子书阅读器更是我们刻不容缓的事情本设计采用Android平台根据对手机电子书阅读器的客户需求分析和技术可行性分析经过总体设计和详细设计编码测试等阶段完成了电子书阅读器软件的设计不仅实现了电子书阅读器最基本的阅读功能而且还为用户提供了丰富的功能支持包括找书书签自动翻页以及阅读界面设置的操作而本次设计最大的特点则是通过屏幕触控实现了移动时的翻页特效经过不断的测试与完善电子书阅读器功能稳定并且在真机上对其进行了测试与验证基本上达到了用户的需求标准关键词 Android电子书阅读器屏幕触控翻页AbstractIn the time of information technology with the increasingly sophisticated of computers and more and more intelligent of mobile phones a better application software can enhance a brand of the phone to large extent It is our urgent for us that installed on the smart-phone has a rich functionality to support the e-book readerBased on the needs analysis of customers and technical feasibility analysis I use the Android platform to achieve the design of mobile phones e-book reader After completing the overall design and detailed design coding testing stage I achieved the design of the e-book reader softwareNot only can the soft achieve the basic function of E-book readerbut also offer many other functions for users including books and bookmarks flipping pages automatically and designing the reader The significant character of the design achieve the flipping page of mobile by touching screen Through continuous testing and improvement E-book reader is stable The testing and verification in real device has carried out to meet the customers requirements which have reached the standards of the customers requirementsKey words Android e-book Reader Touch Screen Flip目录第1章前言 111 课题提出的背景目的及意义 1com 课题提出的背景 1com 课题提出的目的 1com 课题提出的意义 112 设计思路及研究方法 2com 设计思路 2com 研究方法 2第2章需求分析 321 软件的基本功能要求 322系统架构 423 开发环境 4第3章软件设计 6 31 总体软件结构设计 6 32 接口设计 7com 外部接口 7com 内部接口 833 数据库设计 8com 数据模式设计 8 com 数据表格设计 8 com 表的具体设计 9 com 数据字典 1034 软件设计模型 10 35 代码设计 1236 软件维护设计 12 第4 章系统功能模块的设计与实现 1341 关键技术 13com android平台及java语言 13com 中介软件 13com 四大组件 14com sqlite3 数据库 14 com Tomcat服务器 14 42 欢迎界面的实现 15 43 主控制类的实现 1544工具类的设计 1645 阅读界面的实现 1646 找书功能的实现 1847 书签功能的实现 1948 设置字体大小功能的实现 20 49 更换背景图片以及设置字体颜色功能的实现 21410 音乐播放功能的实现 21 第5章系统测试 2251 欢迎界面 2252 用户阅读界面 23毕业设计总结 32参考文献 33附录一核心代码 34附录二毕业设计外文翻译英文 36 附录三毕业设计外文翻译中文 44 致谢51第1章前言11 课题提出的背景目的及意义com 课题提出的背景在这个信息化的时代 IT业已经成为世界发展的主流我们对信息技术的依赖远远超过了对我们自己的依赖计算机和手机已经成为我们日常生活中不可缺少的获得信息的渠道正因为如此各种各样的软件层出不穷我们的生活也因为各种各样的软件变的更有滋有味不缺乏娱乐性也不缺乏教育意义让我们从这些软件中受益匪浅使我们看到了相比以前的巨大进步同时随着科技的发展计算机越来越精致手机也越来越智能化所以我们的依赖性也越来越大越来越离不开这些给我们提供日常信息的工具手机也已不再仅仅是简单的人与人通话的工具而是在很大程度上成为了我们获取信息的一个更好的渠道一个好的软件能够标志一个手机品牌的地位所以开发一款好的手机软件是相当必要的以前我们看看杂志小说都要去图书馆借阅而且时间有限很不方便而现在是在电脑上或者手机上看杂志看小说文档以此看来一个好的手机阅读器软件的开发是相当有必要的com 课题提出的目的此次设计的目的很明显就是给予阅读者更大的便利性阅读者不用再到处拿着一本厚厚的书籍大大减少了读者的负担只需要下载一本txt格式的电子书放在sd卡里边就是人们的生活百科当然有些下载不来的资料还是需要翻阅书籍的com 课题提出的意义计算机改变了人类的工作方式互联网创造着全新的生活空间我们接受信息的方式也正在发生深刻的质变由于现在阅读器的越来越普及我们每天清晨读报的习惯也在面对大资讯量的新闻网站时渐渐淡化面对印刷出版物我们仍视之为文化传承的载体但不可抵挡的是无纸化电子阅读时代的悄然临近我们现在信息化的生活充斥着信息的传递但是越来越多的人依赖于几乎朝夕相伴的手机虽然现在也出现了供人们阅读使用的电子书但是这些电子书的功能很少很简单仅仅是简简单单的供人们一行一行的阅览文字信息或者是仅仅添加一个添加书签的小功能根本远远不能满足人们的需求于是一个功能良好的全面的电子书阅读器越来越成为广大用户的追求本软件是基于android系统智能手机开发的一款电子书阅读器软件它有一个阅读主界面主要用来阅读文档其优越性表现在实现了从SD卡读取文档或从服务器端下载文档自动翻页添加书签选择书签清空书签设置背景音乐设置背景图片设置字体颜色设置字体大小等功能此外给用户更清晰方便的界面也是本软件的出发点之一12 设计思路及研究方法com 设计思路阅读器的设计流程主要是按照软件设计的一般流程需求分析概要设计详细设计测试与维护的基本流程来设计开发的首先从整体分析软件功能将功能模块化然后对每个模块进行调试最后对各个模块进行系统集成通过几个月的观察发现几乎所有的人都有手机而且几乎有一半以上的人用手机来阅读资料可是这些阅读软件不尽人意而且一个好的阅读软件也还没有安装在智能手机上本系统针对这一点进行了较仔细的分析在老版的阅读软件基础之上进行改进最后对系统进行了实现和维护com 研究方法本系统在整体框架研究方法采用的是问卷调查法和观察研究法而在总体设计上采用的是结构化方法在局部底层开发上为便于交流采用快速原型法问卷调查法也称问卷法它是调查者运用统一设计的问卷向被选取的调查对象了解情况或征询意见的调查方法观察研究法指根据既定的研究目的对现象或行为做有计划与有系统的观察并依观察的记录对现象或行为做客观性的描述和解释结构化系统的设计方法是在结构化程序设计思想基础上发展起来的它的基本涵义是一个系统由层次化的程序模块构成每一个模块只有一个入口和一个出口每一个模块只归其上一级模块调用并有模块连接的准则和构造模块的标准而且用系统结构图来表达系统的结构尽可能用最优的方式将系统内各部分组织起来第2章需求分析21 软件的基本功能要求经过以上问卷调查和观察研究方法在现行业务流程和数据分析的基础上基本上确定了系统的功能设计也基本上达到了目标根据软件设计的步骤需求分析是软件设计成功的基础也是必不可少的步骤同时也对软件的设计提出了具体的要求在做足了充分的调查研究之后基本可以确定软件的功能界面如下1刚打开软件时的欢迎动画界面2在没有阅读记录情况下打开软件时进入的软件说明界面3在主界面下单击菜单按钮后弹出的欢迎主菜单界面4找书选择界面用来选择找书的途径5网络下载列表界面用来列出服务器端可供下载的文档6下载完成提示界面用户从服务器端完成指定文档下载任务时显示的界面7已存在要下载文件提示界面当用户指定要下载的文档在SD卡中已存在时显示的界面8SD卡文件列表界面列出SD卡中存在的所有资料9阅读界面用来阅读文档的主界面是整个阅读器设计核心部分10书签功能界面用来选择与书签相关的具体操作11添加书签功能界面将当前阅读到的位置以书签名和书页号的形式存至书签表方便下次阅读12选择书签功能界面通过选择书签记录跳转至想要阅读的位置13删除书签功能界面再不想要该条书签记录的情况下实现删除操作14自动翻页功能界面实现不同时间间隔自动翻页的效果15设置界面用来选择对阅读界面不同的设置16背景音乐界面可在阅读的同时欣赏音乐更大限度的提升17背景图片界面用来设置不同的阅读界面风格使阅读更为个性化18字体颜色界面用来设置不同的阅读字体颜色提升用户的视觉体验19字体大小界面通过设置字体大小来满足实际应用中的多重需求基本说明如下本系统是一个电子书阅读器主要包含一个主界面用来实现阅读的功能在阅读界面时点击menu手机底部会出现四个选项找书书签自动翻页设置点击找书选项会有两种操作可供选择分别是在SD卡中找书和通过网络下载点击书签选项会有三种操作可供选择分别为添加书签选择书签和清空书签其中长按选择书签列表中的某条书签记录也可达到删除该条记录的目的点击自动翻页选项会有四种操作可供选择分别为每隔30秒40秒50秒自动翻页和停止自动翻页点击设置选项会有四种操作可供选择分别为设置背景音乐设置背景图片设置字体颜色和设置字体大小为此用户可通过自己的喜好来设置不同阅读界面的风格并且可以选择自己喜爱的音乐作为背景音乐在阅读的同时欣赏22系统架构本设计总体逻辑结构层次划分如图21所示图21 功能结构图23 开发环境数据库由于本设计和数据库密切相关但是对数据库的要求不高因此可用Android系统本身自带的Sqlite数据库Android SDK与Eclipse开发的插件ADT由于本设计是基于Android系统的而Android开发环境的搭建是基于Eclipse 的因此需要下载Android SDK与Eclipse开发的插件ADT服务器由于本设计需要用服务器来为其提供下载服务而且对服务器的要求不高因此在设计时用Tomcat作服务器软件设计31 总体软件结构设计打开电子书阅读器之后软件会先查看上次阅读的最后记录以此作为根据来进行判断从而跳转至相应的阅读界面然后用户就可在阅读界面下通过选择menu来执行想要的操作找书书签自动翻页设置点击找书选项会有两种操作可供选择分别是在SD卡中找书和通过网络下载点击书签选项会有三种操作可供选择分别为添加书签选择书签和清空书签其中长按选择书签列表中的某条书签记录也可达到删除该条记录的目的点击自动翻页选项会有四种操作可供选择分别为每隔30秒40秒50秒自动翻页和停止自动翻页点击设置选项会有四种操作可供选择分别为设置背景音乐设置背景图片设置字体颜色和设置字体大小为此用户可通过自己的喜好来设置不同阅读界面的风格并且可以选择自己喜爱的音乐作为背景音乐在阅读的同时欣赏根据各个模块的不同功能对本设计进行了层次结构的划分在Eclipse下创建了一个名为Test的工程工程的结构图如图31图31 软件工程结构图该功能包是通过Android SDK自动生成的主要包括以下内容1src源代码目录该目录存放Android应用程序所有的源代码该目录项有不同的包包中对应开发的源代码开发过程中的主要精力都集中在开发src目录下内容2gen文件夹目录该目录存放了Eclipse的ADT插件自动生成的Rjava文件实际上Rjava定义了一个R类它包含了应用中用户界面图像字符串等各种资源与之相对应的资源编号id这些资源编号都是系统自动生成的即有一资源对象系统就为此在R类中生成相应资源编号好比一本字典3Res资源目录该目录定义了drawablelayout及values 3个目录a drawable目录该目录下有drawable-hdpidrawable-ldpidrawable-mdpi3个文件夹分别用来存放不同分辨率的图片资源用于不同分辨率的手机的开发可以通过ResourcegetDrawable id 获得该资源b layout目录该目录下包含了所有使用XML格式的界面描述文件主要用于表述应用程序的用户界面布局也用于描述用户界面和接口组件c values目录该目录包含了使用XML格式的参数描述文件也可以在此添加一些额外的资源如字符串颜色样式和数组等主要用于在代码中通过R类来调用它们而不直接使用这样可将代码和资源分开管理便于维护除了以上文件夹外还用一个AndroidManifestxml文件该文件是系统的控制文件告诉系统如何处理创建的所有顶层项目尤其是Activity凡是需要用到的组件都要在此注册同时该文件也是所有Android应用程序都需要的文件其描述了程序包的全局变量包括公开的应用程序组件和每个组件的实现类什么样的数据可以操作在什么地方可以运行等在这个文件中最重要的一个内容就是Intent过滤器这些过滤器描述了何时何种情况下让Activity启动当一个Activity或操作系统想要执行一个动作它将创建一个Intent对象该对象包含了很多描述符描述了想做的操作像处理数据数据的类型以及一些其他的信息Android将Intent对象中的所有公开的Intent过滤器比较找到一个最能恰当处理请求的数据和动作的Activity32 接口设计com 外部接口在用户界面部分根据需求分析结果用户需要一个友善界面在界面设计上应做到简单明了易于操作并且要注意到界面的布局应突出的显示重要以及出错信息在界面设计部分本系统按照Microsoft公司的用户界面设计标准为用户提供友好方便直观简洁的操作环境本系统采用了窗口继承的方式使窗口有统一的界面风格同时对错误信息提示信息进行标准化尽量做到清晰明了com 内部接口系统在功能模块的设计上以高内聚低耦合为设计目标内部接口方面各模块之间采用函数调用参数传递返回值的方式进行信息传递具体参数的结构将在下面数据结构设计的内容中说明接口传递的信息将是以数据结构封装的数据参数传递或返回值的形式在各模块间传递33 数据库设计com 数据模式设计一共设计了3张表是1阅读记录表阅读记录的ID书的路径阅读记录数据2书签表书签的ID书签对应的阅读记录的ID书签名书页3上次阅读记录表上次阅读记录的ID书的路径上次阅读到的书页上次阅读时的字体数据库表的设计如下图32 数据库结构图com 数据表格设计本数据库用的是一个小型数据库sqlite3在数据库中创建了三个表格即BookRecordBookMark和LastTimePage分别用来存放阅读记录的数据书签的数据和上次的阅读记录数据具体内容如表3-1表3-2和表3-3所示表3-1 阅读记录表字段名称数据类型字段大小是否主键说明 rid Integer8 是阅读记录的ID path 文本 50 否书的路径 data字节数组不定否预读记录数据表3-2 书签表字段名称数据类型字段大小是否主键说明 mid Integer8 是书签的ID ridfk Integer 8 否书签对应的阅读记录的ID bmname 文本50 否书签名 page Integer 8 否书页表3-3 上次阅读记录表字段名称数据类型字段大小是否主键说明 lid Integer8 是上次阅读的记录ID path 文本 50 否书的路径page Integer 8 否上次阅读到的页数 fontsize Integer8 否上次阅读的字体大小 com 表的具体设计表名BookRecord表中字段名称rid path data说明用varchar类型存储pathblob类型存储相应的路径下的阅读过程并规定rid为阅读记录表的主键表名BookMark表中字段名称mid ridfk bmname page说明创建书签mid为integer类型主键定义书签名字bmname为varchar类型书页号page为integer类型的书签表表名LastTimePage表中字段名称lid path page fontsize说明创建书签lid为integer型主键定义路径path为varchar类型书页号page为integer类型字体大小为integer类型的上次阅读记录表com 数据字典数据字典是物理数据库的具体体现表3-4 BookRecord数据字典字段名类型阅读记录的ID 整型书的路径文本阅读记录数据字节数组表3-5 BookMark数据字典字段名类型书签的ID 整型书签对应的阅读记录的ID 整型书签名文本书页整型表3-6 LastTimePage数据字典字段名类型上次阅读记录的ID 整型书的路径文本上次阅读到的页数整型上次阅读时字体大小整型 34 软件设计模型建立系统数据模型的主要工具是实体关联图即E-R图E-R图的图形符号约定如下表表3-7 E-R图图形符号图33 存储阅读记录的E-R图图34 存储书签的E-R图图 35 存储上次阅读记录的E-R图35 代码设计代码是按使用的目的表示识别分类排序数据的数字文字或符号识别是将文件中存储数据区别开或将文件中的数据按组区别开识别主要用数据更新与查找分类是根据数据编码中的定义对数据分类用于检索数据或统计分析排序是根据编码规则按代码中规定的次序排序用于输出与生成报表36 软件维护设计采用MVC设计模式将UI层和业务逻辑层分离开来采用针对接口编程的方式降低了代码之间的耦合度便于软件的升级和程序性能的优化第4 章系统功能模块的设计与实现41 关键技术com android平台及java语言以下图表展示了Android操作系统的主要组成部分图41 Android系统架构图本系统是以java为编程语言从接口到功能灵活多变主要运用的是Activity之间的相互跳转然后利用Intent实现多个程序同时运行的效果运行中如果某个Activity的画面被另一个Activity所取代则这个Activity停止本系统通过把View类与XML可扩展标记语言将用户界面放置在视图窗口然后注册事件来完成相应的功能例如当视图要处理用户的点击事件的时候android就要向框架注册一个OnClickListener等本系统中触发事件都是通过这种来实现的 Java语言是一种简单易用面向对象的可移植的语言它具有很多的优越性和特点比如平台无关性安全性面向对象健壮性等等本系统就是在android平台上使用java语言完成的系统com 中介软件中介软件是android操作系统应用程序的桥梁主要分为函数和虚拟机Android 的数据存储采用sqlite3数据库系统用户可以用ContentProvider类获取数据android中数据存储技术主要有文件存储preferencesqliteContentProvider和网络存储在本软件中主要使用到了文件存储sqlite和ContentProvider文件存储是以流的形式读写文件可以以文格的格式也可以以二进制的形式在java语言中要使用流则写入文件的对象必须进行序列化sqlite是嵌入式移动设备中常用的轻量级数据库可看作计算机上使用的sql serveroracle数据库本软件中用户生词本中的数据都存在sqlite数据库中而进行数据备份和恢复时则是用文件作为介质保存数据com 四大组件Android的四大组件是支持android应用程序显示跳转服务和事件的重要工具它们主要是Activity活动Intent意图Service服务ContentProvider内容提供器Activity是一个用户的界面基类属于UI一个Activity就是一个类每个Activity 类都需要继承Activity基类并与其他控件结合使用Intent实现Activityservice等之间的跳转和数据传输Service是后台服务为用户提供数据支持ContentProvider负责数据的存储和读取在android中软件UI通常使用xml技术设计而xml中控年的位置和状态则离不开布局的使用android中常用的布局有5种分别是AbsoluteLayoutLinearLayoutRelativeLayoutFrameLayoutTableLayout由于布局的使用并且布局之间可以互相嵌套使得android软件UI的设计变得非常灵活即使是一些非常复杂的界面设计只要合理的使用布局也会使开发变得很容易com sqlite3 数据库Sqlite3是建立在android平台上的一个数据库除了支持varcharn可变字符charn定长字符等数据特性外还支持空NULL整型INTEGER文本类型TEXT等数据类型它的特点入下轻量级只需带上很小的动态库就能享受它的全部功能独立性使用不需要安装在部署的时候能省去很多麻烦隔离性数据库中所有的信息都包含在一个文件内方便管理和维护和安全性可以同时读取数据但同时只有一个能够写入数据等特性com Tomcat服务器服务器的架设在httptocom下载合适版本的Tomcat在apache-tomcat-comwebapps目录下新建文件夹txt在txt文件夹下创建文本文件txt_listtxt在txt_listtxt下写入内容根据txt_listtxt的内容创建文本打开pache-tomcat-combin目录打开pache-tomcat-combin目录下的startupbat8打开浏览器在地址栏输入httplocalhost8088效果如图42所示图42 bin目录图42 欢迎界面的实现本模块主要完成阅读器欢迎界面的渐变效果显示在进入程序界面时首先调用该功能的实现主要是通过绘制黑色矩形然后对其进行平面贴图并通过不断的更改图片的透明值来实现的43 主控制类的实现ReaderActivity类是主要控制程序运行的类实现了各个界面的有序切换各个按钮和对话框的监听事件加载了程序中用到的相关资源有效地控制了程序的运行1onCreate方法是程序运行时进入主界面前调用的方法在此方法中对程序中用到的相关变量进行赋值并为相关类创建对象以方便调用2onKeyDownf方法是重写父类的onKeyDown方法当按下不同的键时此方法设计返回键4号键和Menu键82号键并且本设计中支持屏幕触控事件和键盘监听事件3onCreateOptionsMenu方法表示的是程序运行时用户按下键盘上的Menu键后显示的找书书签自动翻页和设置的按钮选项当用户按下不同的键后弹出相应的对话框4sendMessage方法表示各个界面相互跳转时调用的方法和不同线程之间传递消息的方法5isWhichTime方法用以判断是否为第一次打开程序如果是则程序中的变量值为默认值若不是第一次打开则获取上一次打开时设置的值saveCurrentData和savePreference方法表示当程序退出换书和第一次打开一本书时都要想数据库中BookRecord表中插入数据第一次打开一本书时向数据库中插入数据是因为如果表中不存在当前书的信息则无法存书签44工具类的设计。
基于Android的电子书阅读器的设计与实现
4、提供夜间阅读模式,降低视 觉疲劳,保护眼睛。
4、提供夜间阅读模式,降低视觉疲劳,保护眼睛。
5、支持多种字体、字号和排版方式,满足用户不同的阅读需求。 6、提供笔记、高亮、注释等功能,方便用户记录和标注电子书中的重点内容。
4、提供夜间阅读模式,降低视觉疲劳,保护眼睛。
7、支持将电子书中的生词翻译成中文或其他语言,方便用户学习。 8、提供章节进度统计、阅读时间统计等功能,帮助用户更好地掌握自己的阅 读进度。
五、实验验证
3、硬件性能测试:对电子书阅读器的硬件性能进行测试,包括CPU、内存、 磁盘读写速度等方面。测试结果表明,在保证阅读器功能和性能的同时,也充分 考虑了设备的性能限制。
六、总结与展望
六、总结与展望
本次演示介绍了基于Android的电子书阅读器的设计与实现。通过分析用户需 求,我们制定了相应的系统设计方案,并进行了实验验证。实验结果表明,该电 子书阅读器在满足基本阅读需求的还具备一定的个性化阅读功能。然而,仍有部 分功能需要进一步完善和优化,如用户界面的一致性、书籍资源的丰富性等方面。
谢谢观看
3、网络请求设计
3、网络请求设计
使用OkHttp等网络框架,实现快速的网络请求和处理,提高数据获取速度和 稳定性。
4、数据解析与处理
4、数据解析与处理
采用Java反射机制和Java对象序列化技术,实现电子书文件的解析和读取。 同时,使用多线程技术,提高数据处理的效率和稳定性。
三、实现过程
1、电子书文件上传与下载
三、需求分析
4、离线阅读:支持离线下载书籍,方便用户在没有网络的情况下进行阅读。 5、互动分享:提供评论、、分享等功能,加强用户间的互动与交流。
四、系统设计
基于Android的电子书阅读器的设计与实现
发 者 进入  ̄ J l A n d r o i d 系统 的开 发 中 ,也 因此 ,在 众
随着 网络 和 I T 产业 尤 其 是微 电子 产业 的飞 速
多的系统终端 中, A n d r o i d 以其高性价 比得到了众 多用户的青睐。文档的类型有很多 ,而p d f 格式文 档 以其优越 的封装性广受人们喜爱 。因此 , 基于 A n d r o i d 系统庞大的用户群体和其开放能够符合使用者 的要求 ,首先进行 了用户需求分析 ,之后经过系统总
体设计和程序详细设计 , 最终 完成 了电子书阅读器系统 。该设计不仅实现 了基本 的阅读功能 ,而且 还为用户提供 了书签 、备注 以及 阅读界 面设 置等功能。经实例部署测试 ,电子书阅读器各项功能稳
r e q u i r e me n t s o f d e s i g n o b j e c t i v e b a s i c a l l y .
Ke y wo r d s : An d r o i d ; e — b o o k r e a d e r ; t o u c h s c r e e n : l f i p
在 该 环境下 开 发 出一 款 能 随身携 带 的p d f 文档 阅览 器 ,以实 现学 生随 时随 地学 习 的愿 望 。 A n d r o i d 是G o o g l e 开 发 的基 于L i n u x 平 台 的开源
第2 1 卷 第 2期 2 0 1 4年 6月
_ 天 津 农 学 院 学 报
J o u na r l o f T i a n j i n Ag r i c u l t u r a l Un i v e r s i t y
Vo 1 . 21, N O. 2 J u ne,2 01 4
基于Android平台的电子书阅读器的设计与实现
内容提供者(Content Provider):
一个应用程序可以将它的数据保存在文件中,也可以保存在 SQLite 数据库中,或者其
55 他任何可用的存储介质中。如果应用程序之间想要数据共享,那内容提供者可以派上用场了。
一个内容提供者就是一个类,它实现了一个标准的方法集合。其他的应用程序可以使用这些
LAI Mubin, ZOU Shihong
15
(State Key Lab of Networking and Switching Technology, Beijing University of Posts and
Telecommunication, Beijing 100876)
Abstract: In this paper,the procedure of design a popular E-book reader with plenty of features,
chapterList 处理文本的时候将文本载入 scanner,通过正则表达式匹配类似“第一章”,“第
一节”等章节字符标志。
105
阅读控制模块包括类 BookPageFactory。该类应用了工厂设计模式,内部有一系列的方
-4-
中国科技论文在线
法来生成阅读过程中所需要的各种资源[4]。
3 电子书阅读器的效果图
用户返回
进入电子书相应章 节
80
图 1 进入软件到阅读界面流程图
如图所示,用户在程序运行的时候首先进入的是电子书选择界面,用户在这个界面可以 选择一本书进行阅读或者退出程序。当用户选择了一本电子书以后,系统会扫描这个电子书 以生成该电子书的目录,如果遇到异常情况,该电子书没有目录字段,则会进入电子书的第 85 一页。用户可以在目录界面自由选择进入的页面。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.3.2 建表语句1)创建:1、创建书的表:create table IF NOT EXISTS book(bid integer primary key autoincrement,bpath varchar(255) not null);2、创建书签的表:create table IF NOT EXISTS bookmark(bmid integer primary key autoincrement, bpath varchar(50) not null,bmname varchar(50) not null,bmoffset integer not null,bmsavetime varchar(20) not null);3、创建用户管理的表:create table IF NOT EXISTS user(userid integer primary key autoincrement, username varchar(20) not null,password varchar(20) not null, telephone varchar(20) not null);4、创建最近阅读的表create table IF NOT EXISTS nearlyread(bookid integer primary key autoincrement, bookname varchar(50) not null,bookreadtime varchar(20) not null); 5、创建下载管理的表create table IF NOT EXISTS down(downid integer primary key autoincrement, downuser varchar(20) not null,downbook varchar(20) not null, downtime varchar(20) not null);2)SQlite3数据库使用方法:选择:select from bookmark where bmid=1;插入:insert (bookmark,null,values);删除:delete from bookmark where bmid=3 ;查找:query(table, columns, selection, selectionArgs, groupBy, having, orderBy) 4.3.3 数据表分析本数据库用的是一个轻量级嵌入型数据库sqlite3 ,即创建了一个数据库reader.db,在数据库中创建了几张数据表。
在建设网站系统或者软件之前,我们必须对系统所用到的数据进行大致的分类和具体的结构设计,既要做到清晰明了,又要能适应系统各项功能的调用,而不至于产生结构上的逻辑混乱,保证关键数据在意外情况下不会被破坏,可以说数Book表(用来存放书籍,如表4-1):字段名称数据类型条件约束bid integer primary keybpath varchar(255)not null表4-1 书籍数据表Bookmark表(管理书签,如表4-2):字段名称数据类型条件约束Bmid Integer primary keyBpath varchar(50)not nullBmname varchar(50)not nullbmoffset Integer not nullmsavetime varchar(20)not null表4-2 书签数据表User表(用户数据,如表4-3):字段名称数据类型条件约束Userid Integer primary keyusername varchar(50)not nullpassword varchar(50)not nulltelephone varchar(20)not null表4-3 用户数据表Nearlyread表(最近阅读,如表4-4):字段名称数据类型条件约束Bookid Integer primary keybookname varchar(50)not nullbookreadtime varchar(20)not null表4-4 最近阅读数据表Down表(下载,如表4-5)::字段名称数据类型条件约束Downid Integer primary keyDownuser varchar(50)not null downtime varchar(20)not null表4-5 下载数据表5.4.1 获取sd卡上的txt文本由于一个Android模拟器或者是一个手机客户终端上只会配置一个sdcard,所以一步移动设备上有各种各样的应用App,而且各种App都可能会由数据或者文件存储到移动设备的sdcard上,故而有各式各样的文件类型是该款软件不需要的。
也是用户选择本款软件时所不需要的信息文件,于是通过构造一个过滤式的方法让软件只接受来自sdcard上的TXT格式的文本文件。
该方法是先通过判断是否存储路径是sdcard,通过getRecordFiles()方法过滤掉其他无用文件,将剩余的TXT文件放置集合AirrayList中,然后通过Android的空间Listview将其目录结构文件给显示出来。
代码如下:private void getRecordFiles() {recordFiles= new ArrayList<String>();if (isSdcard) {File files[] = txtDir.listFiles();if (files != null) {for (int i = 0; i < files.length; i++) {if (files[i].getName().indexOf(".") >= 0) {/* 只取.txt文件*/String file =files[i].getName().substring(files[i].getName().indexOf("."));if (file.toLowerCase().equals(".txt"))recordFiles.add(files[i].getName());}}}}}图5-1 文件过滤流程图5.4.2 长按选项删除可能在漫长的使用软件生活中,用户会在sdcard里面积累十分多的TXT文件数量,所以这里提供一个删除功能供用户删除一些很久不用的文件。
该功能通过获取到Android控件ListView上每一条Item的长按事件进行绑定事件监听,通过该行为进行功能描述,通过获取系统对于sdcard里面文件的操作权限来对于sdcard里面的TXT文件进行删除。
下面是删除的方法delFile()的部分代码实现:public void delFile(String filePathAndName) {try {String filePath ="/sdcard/"+filePathAndName;filePath = filePath.toString();java.io.File myDelFile = new java.io.File(filePath);myDelFile.delete();}catch (Exception e) {Toast.makeText(this, "删除文件操作出错", 1000).show();e.printStackTrace();}}5.4.3 阅读文本界面的实现这是该款软件最基本也是最重要的功能——对于TXT文本文件的可视化读取。
由于软件中对于sdcard里面的文件的读取可以是从各种各样的界面上获取要读取的TXT文件资源,比如可以从本地管理列表直接读取,也可以从最近阅读列表读取,或者是从阅读界面来读取该文本的书签从而读取文本文件的某一段。
所以,通过Android的Intent(意图方式)传递数据,数据包括了实现本界面的Activity类名,也包括了要阅读文本的书名,还有就是要读取文件的开始页码比例。
如果是非进度跳转功能,或者是书签的功能则默认进度读取开始页码也第一页。
而这些数据则通过封装到某个对象中,用bundle传递给Intent,再通过Intent 转发数据。
以下便是通过BitmapFactory工厂封装了一些绘制阅读背景的方法的部分代码实现:mPageWidget.setBitmaps(mCurPageBitmap, mNextPageBitmap);mPageWidget.setOnTouchListener(new OnTouchListener() {@Overridepublic boolean onTouch(View v, MotionEvent e) {boolean ret=false;if (v == mPageWidget) {if (e.getAction() == MotionEvent.ACTION_DOWN) {mPageWidget.abortAnimation();mPageWidget.calcCornerXY(e.getX(), e.getY());pagefactory.onDraw(mCurPageCanvas);if (mPageWidget.DragToRight()) {try {pagefactory.prePage();} catch (IOException e1) {e1.printStackTrace();}if(pagefactory.isfirstPage())return false;pagefactory.onDraw(mNextPageCanvas);} else {try {pagefactory.nextPage();} catch (IOException e1) {e1.printStackTrace();}if(pagefactory.islastPage()) return false;pagefactory.onDraw(mNextPageCanvas);}mPageWidget.setBitmaps(mCurPageBitmap, mNextPageBitmap);}ret = mPageWidget.doTouchEvent(e);return ret;}return false;}});}图5-2 随机流打开文件流程图5.4.4 menu按钮功能的实现添加书签功能——作为一款电子书阅读器软件,这个功能是个轻松快捷而且不可避免的功能,它能够将长篇的文本文件断点记录。