安卓txt阅读器课程设计报告(共11页).docx
-
资源ID:13490988
资源大小:994.69KB
全文页数:11页
- 资源格式: DOCX
下载积分:20金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
安卓txt阅读器课程设计报告(共11页).docx
精选优质文档-倾情为你奉上Android期末考核作业作品名称: 酷阅txt阅读器1.0.0 班级: 专业: 软件工程 姓名: 学号: 一、 软件功能1、查找书功能:点击菜单键,在弹出的SD卡列表中查找。2、字体:点击菜单键,在弹出的菜单中选择设置,可以更换字体大小和字体颜色。3、翻页特效:用手指按住阅读界面的右下角,向左下角拖动,能够给用户十分真实的阅读纸质书本的体验。4、退出保存:退出软件时能够自动保存当前的阅读进度,下一次打开同一个文档时能够自动跳到上次阅读界面。二、 软件特点酷阅txt阅读器1.0.0能够从SD卡中查找并打开txt文件,在打开txt文件的时候能够作出判断是否以前有打开这个文件的记录。如果有,则根据数据库中存储的阅读进度信息自动跳到上次退出这个文档时的阅读进度,如果没有阅读记录则从头打开;同时阅读器还有字体大小调整的功能,因为安卓手机屏幕的大小和分辨率千差万别,字体的显示效果也千差万别,用户可以根据屏幕调整字体的大小;阅读器最大的亮点就是翻页特效功能,用手指按住阅读界面的右下角,向左下角拖动,能够给用户十分真实的阅读纸质书本的体验。还有一个很重要的功能就是在用户退出软件时,能够自动的保存当前的阅读进度,当下次打开同一份文档时能够自动跳到上次阅读的地方,而不用从头开始。三、 概要设计 1. 需求规定安卓系统已近成为当今主流的手机操作系统,可以为用户带来良好的移动互联网体验。现在越来越多人通过电子设备来阅读书籍,手机阅读软件应该给用户一个很自然的很人性化的操作体验,如类似如阅读纸质书籍的翻书效果。本软件可以在Android智能手机上安装运行进行阅读txt电子书,可以提供查找、调整字体大小、退出保存记录等功能。2.开发运行环境本软件使用Eclipse和Android SDK开发,可以在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类的主要功能是建立上次阅读记录表,以及对表中的数据进行增、删、改、查等操作。类中createOrOpenDatabase方法的实现。该方法负责创建或打开数据库,并创建上次阅读记录表,其代码如下:recordInset方法的实现。该方法主要负责向BookRecord表中插入或更新数据,其代码如下:专心-专注-专业