1。2 国内外研究现状
1。3 主要研究内容
当前背景下,市面上的电子书软件虽然琳琅满目,但是大部分功能繁杂并含有大量广告。本软件就是要给阅读者一个操作方便,运行流畅,且不含任何与阅读无关功能的阅读环境。其主要研究内容如下:
(1) 读取文档小说内容的算法优化;
(2) 对于文本文件,设计相应的智能分段算法;
(3) 对于有章节的读物,实现自动章节提取和定位;
(4) 能够显示章节,并跳转到相应的段落;
(5) 能够从内存中读取文本文件,实现本地书城功能,并且能够实现删除、增加、清空书城的功能;
(6) 实现书签功能,并且能够删除、清空书签;
(7) 在以上基础上实现尽可能美观的UI。
第二章 系统相关技术及工具
2。1 系统相关技术
Android系统被当作手机的首选系统,已成为目前主流的手机操作系统之一。从市场占有率的角度来讲,适配Android系统的小说阅读软件是非常必要。本系统是基于Android平台电子小说阅读器,Android SDK正好就是专门用来开发Android平台应用程序的,而且其使用的编程语言为Java,所以开发本系统主要用到的技术为Android SDK和Java编程语言。
2。1。1 Android SDK
Android是由Google开发的基于Linux平台的开源移动终端操作系统,该系统架构和其他操作系统一样,都采用了分层的架构思想。[6-9]图2。1是Android的基本架构图,从架构图看,Android分为四个层次,从高层到底层分别为应用程序层、应用程序架构层、系统运行库层和Linux内核层。[10-12]
(1) 应用程序层:所有的应用程序都是使用Java语言编写的,每一个应用程序由一个或者多个活动组成,活动必须以Activity类为父类,活动类似于操作系统上的进程,但是活动比操作系统的进程要更为灵活,与进程类似的是,活动在多种状态之间进行切换。利用Java的跨平台性质,基于Android框架开发的应用程序可以不用编译运行于任何一台安装有Android系统的平台,这点证实Android的精髓所在。
(2) 应用程序架构层:应用程序的架构设计简化了组件的重用,任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块。帮助程序员快速的开发程序,并且该应用程序重用机制也使用户可以方便的替换程序组件。
(3) 系统运行库层: 系统库包括九个子系统,分别是图层管理、媒体库、SQLite、OpenGLEState、FreeType、WecKit、SGL、SSL、libc。[13-14]Android运行时包括核心库和Dalvik虚拟机,前者既兼容了大多数Java语言所需要调用的功能函数,又包括了Android的核心库,例如Android。Os、Android。Net、Android。Meia等等。后者是一种基于寄存器的Java虚拟机,Dalvik虚拟机主要是完成对生命周期的管理、堆栈的管理、线程的管理、安全和异常的管理以及垃圾回收等重要功能。
(4) Linux内核层:Android的核心系统服务依赖于Linux 2。6内核,如安全性、内存管理、进程管理、网络协议和驱动模型。[15]Linux内核也同时作为硬件和软件栈之间的抽象层。
图2。1 Android架构图
四大组件是Android SDK核心[16],几户每一个Android应用软件都会应用到这四大组件:
(1) Activity:这是Android的核心组件。它为用户提供一个用于任务交互的画面。例如拨打电话,拍照,播放音乐等等。每一个Activity都被分配一个窗口,在其中你可以绘制用户交互的内容。这个窗口通常是占满屏幕的,有时候也可能会比屏幕略小一点,并能悬浮在其他窗口纸上。
(2) Service:通常用于在后台执行一些比较耗时的操作,它不会提供用户界面。应用程序的组件可以和服务进行绑定,并和服务进行交互,还可以进行进程间通信(就是常说的IPC)。