




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Android期末考核作业作品名称: 酷阅txt阅读器1.0.0 班级: 专业: 软件工程 姓名: 学号: 一、 软件功能1、查找书功能:点击菜单键,在弹出的SD卡列表中查找。2、字体:点击菜单键,在弹出的菜单中选择设置,可以更换字体大小和字体颜色。3、翻页特效:用手指按住阅读界面的右下角,向左下角拖动,能够给用户十分真实的阅读纸质书本的体验。4、退出保存:退出软件时能够自动保存当前的阅读进度,下一次打开同一个文档时能够自动跳到上次阅读界面。二、 软件特点酷阅txt阅读器1.0.0能够从SD卡中查找并打开txt文件,在打开txt文件的时候能够作出判断是否以前有打开这个文件的记录。如果有,则根据数据库中存储的阅读进度信息自动跳到上次退出这个文档时的阅读进度,如果没有阅读记录则从头打开;同时阅读器还有字体大小调整的功能,因为安卓手机屏幕的大小和分辨率千差万别,字体的显示效果也千差万别,用户可以根据屏幕调整字体的大小;阅读器最大的亮点就是翻页特效功能,用手指按住阅读界面的右下角,向左下角拖动,能够给用户十分真实的阅读纸质书本的体验。还有一个很重要的功能就是在用户退出软件时,能够自动的保存当前的阅读进度,当下次打开同一份文档时能够自动跳到上次阅读的地方,而不用从头开始。三、 概要设计1.需求规定安卓系统已近成为当今主流的手机操作系统,可以为用户带来良好的移动互联网体验。现在越来越多人通过电子设备来阅读书籍,手机阅读软件应该给用户一个很自然的很人性化的操作体验,如类似如阅读纸质书籍的翻书效果。本软件可以在Android智能手机上安装运行进行阅读txt电子书,可以提供查找、调整字体大小、退出保存记录等功能。2.开发运行环境本软件使用Eclipse和AndroidSDK开发,可以在Android2.0版本及其以上版本的手机上安装和运行。3. 功能和模块的划分基于安卓的txt阅读器查找书籍更改字体阅读翻页退出并保存进度用户查找书籍的时序图:查找书籍时候的截图:设置字体大小界面截图其他功能描述略四、 功能的具体实现1.主控制类ReaderActivity类的实现 ReaderActivity类是主要控制程序运行的类,实现了各个界面的有序切换,各个按钮和对话框的监听事件,加载了程序中用到的相关资源,有效地控制了程序的运行,其一些主要方法如下: onCreate方法是程序运行时,进入主界面钱调用的方法在此方法中对程序用到的相关变量进行赋值,并为相关类创建对象,以方便调用;onKeyDown方法是重写父类的onKeyDown方法,当按下不同的键时,根据按键值的不同产生不同的动作,此方法设计返回键和Menu键;sendMsessage方法是各个界面相互跳转时和不同线程之间传递消息是调用的方法;isWhichTime方法用以判断是否为第一次打开程序,如果是,则程序中的变量值为默认值,如果不是,第一次打开,则获取上一次打开时设置的值;saveCurrentData方法是当退出程序时,将当前信息存入数据库。2.加载文本的工具类TextLoadUtil类的实现 TextLoadUtil类通过用BufferedReader处理流对FileReader的封装,从指定位置开始加载一定长度的文本到内存,替换掉字符串中的回车符后,返回这段字符串。3.翻书阅读界面ReaderView类的实现 ReaderView类主要负责自适应屏幕、绘制阅读器的主界面、实现键盘和屏幕的触控事件以及实现翻页功能。类中定义了三个枚举类型noTurning、left、right,分别表示不翻页、向前翻、向后翻,用于绘制翻页效果是动作的判断。SurfaceCreated方法主要负责成员变量的初始化工作,例如初始化绘制界面中的图片,调用LoadBitmap方法将原图加载经内存,再调用scaleToFit方法将原图的大小调节成与屏幕大小自适应的图片,还有就是创建当前记录ReadRecord的对象,并将第一页的信息放入hashMap中。onDraw方法负责标题、页面图片的绘制和翻页的绘制,翻动画的大致思想就是用路径圈住一定的范围,再绘制该范围内对应的相关文字图片,要先平移后旋转,才能将图片绘制到指定位置。onTouchEvent方法主要负责处理屏幕触控事件,当屏幕为按下动作时,判断是否有翻页动作的发生。drawPage方法负责根据阅读记录对象ReadRecord绘制页面,方法中定义了start页面左上角字符在整本书中的位置,并为start赋值,通过工具类中的方法获取将绘制在页面上的文字字符串,并获取其总长度。还有一个将字符串绘制在页面上的算法,其基本思想就是字符间距用TEXT_SPACE_BETWEEN_EN表示,字符从页面的左上角开始绘制,绘制完一个字符后,currX(绘制到x的位置)向后移动TEXT_SPACE_BETWEEN_EN长度,当currX移动到页面的右边缘位置或遇到换行符时,currX清零currRow(行数)加1,并继续绘制下一行,直到页面绘制满为止。4.找书功能的实现 在开发具体的功能之前,要先对菜单按钮添加监听器。然后再实现找书功能的方法searchBook(),该方法主要负责根据当前路径获得对应文件数组,并将数组中的所有文件加入到文件列表中,其代码如下:执行此方法时跳转到xml文件中定义的界面,并获取其中列表及按钮对象的代码,获取对象以便对各个对象进行相应操作;由根目录中路径获取根目录下的所有文件,并为回到根目录按钮添加了监听,当按钮被按下时调用将获取的文件加入到列表中的intoListView方法;为回到上一级目录的按钮添加监听,如果已经到根目录了,弹出Toast提示用户已经到根目录了,否则获取当前目录的父目录中所有文件,并加入到文件列表中。5.字体设置的实现字体大小对话框通过Java代码为对话框中控件的摆放形式设置布局,字体大小对话框的监听事件,实现代码如下:当单击小号、中号、大号字体后,如果当前字体与要变换的字体相同,则不发生变化,否则将字体的大小和中英文间距重新赋值,选中某一项后,重新绘制当前的界面。6.数据库SQLDBUtil类(记录上次阅读信息)的实现SQLDBUtil类的主要功能是建立上次阅读
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 隧道边坡支护土方安全技术措施
- 售楼处室内外装饰施工进度计划及材料供应保障措施
- 农民合作社农业生产管理合同
- 农村社区建设与文化传承合作协议
- 食品加工过程风险控制-洞察及研究
- 农副产品市场供需交易平台合作协议
- 绕丶一缕晨曦650字13篇范文
- 碳中和电商实践-洞察及研究
- 高层建筑电缆敷设质量通病防治措施
- 2025年茶艺师高级技能考核试卷-茶艺师茶叶生产技术革新试题
- 总经理助理岗位竞聘PPT范文-竞聘总经理助理演讲稿
- 世界范围内社区支持农业CSA(下)
- 急性缺血性脑卒中溶栓治疗
- NB∕T 10209-2019 风电场工程道路设计规范
- GB/T 4668-1995机织物密度的测定
- GB/T 17107-1997锻件用结构钢牌号和力学性能
- 《无人机组装与调试》课件 第一章
- 校园文化施工组织设计范本
- 轨行区作业安全专项方案
- 大地的耳朵-阅读答案
- 2021年内江市工会系统招聘笔试试题及答案解析
评论
0/150
提交评论