基于Android系统的电子书阅读器的设计与实现_第1页
基于Android系统的电子书阅读器的设计与实现_第2页
基于Android系统的电子书阅读器的设计与实现_第3页
基于Android系统的电子书阅读器的设计与实现_第4页
基于Android系统的电子书阅读器的设计与实现_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

太原工业学院毕业设计(论文)4.3.2建表语句1)创建:1、创建书表:IFNOTbook(bidprimaryvarchar(255notnull2、创建书的表:IFNOTbookmark(bmidprimaryautoincrement,null,varchar(50)notnull,bmoffsetintegernull,bmsavetimevarchar(20)notnull);3、创建用管理的表:tableIFNOTuser(useridintegerprimarykeyautoincrement,varchar(20)null,null,varchar(20notnull;4、创建最阅读的表IFNOTnearlyread(bookidprimarykeyautoincrement,bookname(50)null,bookreadtimevarchar()notnull;5、创建下管理的表IFNOTdown(downidprimaryautoincrement,downuservarchar(20)notnullvarchar20)notnull);2)据库使用方法:选择:fromwherebmid=1;插入:insert(bookmarknull删除:fromwherebmid=3查找,columns,selection,groupBy,,orderBy)4.3.3数据表分本数据库用的是一个轻量级嵌入型数据库sqlite3,创建了一个数据库reader。db,数据库中创建了几张数据表。在建设网站系统或者软件之前们必须对系统所用到的数据进行大致的分1

太原工业学院毕业设计(论文)类和具体的结构设计,既要做到清晰明了又要能适应系统各项功能的调用,而不至于产生结构上的逻辑混乱保证关键数据在意外情况下不会被破坏可以说数表(用来存放书籍,如表字段名称bid

数据类型(表4书籍数据表

条件约束primarynotnullBookmark表(管理书签,如表4-2字段名称Bpathbmoffsetmsavetime

数据类型Integer()(Integer(表书签数据表

条件约束primarynotnullnotnullnotnullnotnullUser表(用户数据,表—字段名称passwordtelephone

数据类型Integer(()(

条件约束primarynotnullnotnullnotnull表用户数据表Nearlyread表(最近阅读,如表字段名称Bookidbooknamebookreadtime

数据类型Integer(()表最近阅读数据表

条件约束primarynotnullnotnullDown下载,如表4::字段名称

数据类型2

条件约束

Downuser

太原工业学院毕业设计(论文)Integer((表下载数据表

primarynotnullnotnull3

太原工业学院毕业设计(论文)5.41获sd卡上的txt文本由于一个Android模拟器或者是一个手机客户终端上只会配置一个,所以一步移动设备上有各种各样的应用App,而且各种App都可能会由数据或者文件存储到移动设备的sdcard上故而有各式各样的文件类型是该款软件不需要的也是用户选择本款软件时所不需要的信息文件,于是通过构造一个过滤式的方法让软件只接受来自上的TXT格式的文本文件。该方法是先通过判断是否存储路径是通过getRecordFiles)方法过滤掉其他无用文件,将剩余的TXT件放置集合AirrayList中后通过Android空间将其目录结构文件给显示出来.代码如下privategetRecordFiles(){recordFiles=ArrayList〈String>();if(isSdcard){Filefiles[]=。();if(files){for(inti;i〈;){if(files[i]getName().indexOf("。)0){/*只取txt件*/file=]。(([i]。getName().indexOf(”"));if(file.toLowerCase)。equals(。txt”))recordFiles.add());}}}}}4

太原工业学院毕业设计(论文)开始获取文件TXT文件?是

否获取文件名

过滤存放至集合结束图文件过滤流程图5.4.2长选项删除可能在漫长的使用软件生活中,用户会在sdcard里面积累十分多的文件数量所以这里提供一个删除功能供用户删除一些很久不用的文件该功能通过获取到Android件ListView上每一条Item的长按事件进行绑定事件监听通过该行为进行功能描述,通过获取系统对于里面文件的操作权限来对于sdcard面的TXT文件进行删除面是删除的方法delFile(部分代码实现:voidfilePathAndName){try{filePath=filePath=filePathjava.io。myDelFilejava.io.File(filePath);26

太原工业学院毕业设计(论文);}catch(Exceptione){Toast”删除文操作出错",1000)。show(;。printStackTrace();}}5。阅读文本界的实现这是该款软件最基本也是最重要的功能—对于TXT文本文件的可视化读取。由于软件中对于sdcard里面的文件的读取可以是从各种各样的界面上获取要读取的TXT文件资源,比如可以从本地管理列表直接读,也可以从最近阅读列表读取,者是从阅读界面来读取该文本的书签从而读取文本文件的某一段。所以,通过Android的Intent(意图方式)传递数据,数据包括了实现本界面的Activity类名也包括了要阅读文本的书名,还有是要读取文件的开始页码比例如果是非进度跳转功能或者是书签的功能则默认进度读取开始页码也第一页而这些数据则通过封装到某个对象中用传递给再通过Intent转发数据。以下便是通过BitmapFactory工厂封装了一些绘制阅读背景的方法的部分代码实现:.setBitmaps(mCurPageBitmap,mNextPageBitmap;(){booleanonTouch(Viewv,MotionEvente){if(v=={if(e.getAction()==MotionEvent。ACTION_DOWN){abortAnimation();calcCornerXY(e。getX(),());。onDraw();if(mPageWidget{try{。);27

太原工业学院毕业设计(论文)}catch(IOExceptione1){e1。printStackTrace();}ifpagefactory。())return;.onDraw();}{try{);}catch(IOException{e1。();}ifpagefactory())returnfalse;.onDraw();}setBitmaps(mCurPageBitmap,);}ret=mPageWidget.doTouchEvent(e);ret;}false;}};}28

太原工业学院毕业设计(论文)开始获取文件名初始页面是否为1?是

否I/O流打开

随机I/O流打开结束图5

随机流打开文件流程图5menu按钮功能的现添加书签功能作为一款电子书阅读器软,这个功能是个轻松快捷而且不可避免的功能,它能够将长篇的文本文件断点记录如果用户在长时间的阅读过程中感觉到疲,但是文件依然没法短时间内看完,为了方便下次阅读则将当前页面记录下次则可以直接点击进入需要的页面阅读该功能通过记录了文件的总字节长度及当前的阅读长度进行百分比计算前页面的字节则是通过之前已经计算好了的字体大小,每页会大概的存放多少字节数privatevoidsaveBookMarkDialog(){Dialogd=newDialog(turntest.;d.setTitle("添加书签");d。。layout。);EditText(EditText)d.findViewById(R.idbmet);Button=(Button)。findViewById(R。id。;Button=(Button)。findViewById(R.id.);//确定动作。setOnClickListener(new(){29

太原工业学院毕业设计(论文)Viewv){bmn=);if(bmn。<1){(d。show();}{if(bmn。length(〉10){bmn.substring(0,10);}BookMarknew();(txtname);bm.setMarkName(bmn);m_mbBufEnd);(new));mHelper=CRDBHelper(getApplicationContext();operateResultmHelper);;if(operateResult){makeText(。this,”添加成功",1000)。show();}{makeText(添加失败"1000).show(});}}});以下是查找书签及实现跳转的部分代码实现:list=newArrayList〈(;for(inti0;i〈mBookMarkList。size();){30

太原工业学院毕业设计(论文)mark=mBookMarkList。(i)。)+”mBookMarkList.get(i)。getSaveTime();list.add(}list_tag=(ListView)findViewById);=newArrayAdapter(ShowBookmark。list_tag.setAdapter(adapter)//

短按跳到书签list_tag.setOnItemClickListener(){〈〉View,int,{//获取到所点击的书签的定位intmBookMarkList。get(arg2).getCurrentOffset()IntentmIntent=newIntent(ShowBookmark.this,turntest.class);BundleBundle();mB.putString(”Activity"”ShowBookmarkActivity");mB。putInt("Offset",);(mB);;);}});删除书签:该功能就是简单的运用对于书签SQLite数据库操作通过对于ListView组件的长按事件添加监听程序自动生成对话框.下是部分代码实现list_tag(OnItemLongClickListener(){@Override31

太原工业学院毕业设计(论文)booleanonItemLongClick(AdapterView?>arg0,Viewintlong{intnewthissetTitle("提示”)。setMessage(删除该书签")(确定",newOnClickListener(){onClick(DialogInterface,which){b=mHelper。mBookMarkListgetBookMarkId());if(b&&。)〉0){listpos);。notifyDataSetChanged();}}}”取消,newOnClickListener({@OverrideonClick(DialogInterfacedialog,int{dialog.dismiss(;}}).show();false;}});//出32

太原工业学院毕业设计(论文)6.1能界面打开软件,会从Logo面自动跳转到该功能界面,该功能的实现只是简单的通过Android系统的界面设计,通过对其TabHost项卡组件的运用将界面纵向平行的设计为三个覆盖的界面,点击则切换成指定的选项界面如图—:图51功能界面62书籍选择主面打开软件,软件就自动加载卡上的txt文档,该列表通过获取Android系统的的路径然后获取到里面的所有文件,后通过文件名后缀来判别是否为.结尾的文件将其添加进入数据库,然后通过数据库查询列出所有该书籍表里面的集合从而列出要选择的文档,如图5-233

太原工业学院毕业设计(论文)图5书籍选择界面6.3户阅读界用户左键单击要阅读的电子书籍,进入由

的画笔类,通过调用工厂方法绘制动态页面效果面产生获取页面坐标事件,根据坐标来判断是向前翻页还是向后翻页,如图—3向后翻页:图5用户阅读界面6.4单点击按钮,就回出现选择界面加书签看书签退出阅读图—:34

太原工业学院毕业设计(论文)图菜单功能65书签操作点击添加书签,出现一个添加书签的界面,如图图添加书签点击查看标签就会出现相应文档的标签列表如图—图5

书签列表35

太原工业学院毕业设计(论文)长按某个选项就会删除标签。如图5图

删除书签如果取消则返回标签界面,如果确定则删除书签。66书籍操作删除文档界面图中删除xyy2txt长按菜单键功能是对于Android组件的长事件的添加监听功能,如图5图删除书籍36

太原工业学院毕业设计(论文)67最近阅读在阅读过得书籍会添加进最近阅读数据库,方便用户后期直接点击进入阅读,如图图5最近阅读列表68用户登录通过与服务器的连接获取服务器提供了最新最热的书籍推荐,先登陆可以记录该用户的下载记录.如图:图在线登陆界面37

太原工业学院毕业设计(论文)6.9线中心图5服务器获取的最新资源6性能析。概述及方案特点本软件是利用语言在平台上实现的一款阅读软件,使用起来方便,常容易使用,方便用户的操作最重要的特点就是实现简单没有过于复杂冗余的操作。数据库是使用sqlite3进行存数。方案特点:(1)系统先进性本系统的先进性主要体现在能触屏翻页,能显示已经阅读的进度大大减少了占用用户的时间,而且阅读起来比较方便快捷。(2)系统可扩展性由于本系统是基系统手机开发的软件java语言实现,无论是可读性,可维护性,是可扩展性,都是比较优越的(3)智能性38

太原工业学院毕业设计(论文)增加列表显示功能,以便实现信息传递的快速性、智能性(4)可维护性安装简单、维护方便。人性化的用户界面,操作简单、易用6。10.2性能本系统响应时间新处理时间的转换和传送时间取决于硬件的性能,不过一般情况下是用户的允许等待时间.其设置的是触屏自动翻页,就像

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论