基于安卓Android的文本阅读器毕业论文Word文档下载推荐.docx

上传人:b****5 文档编号:19309264 上传时间:2023-01-05 格式:DOCX 页数:67 大小:1.61MB
下载 相关 举报
基于安卓Android的文本阅读器毕业论文Word文档下载推荐.docx_第1页
第1页 / 共67页
基于安卓Android的文本阅读器毕业论文Word文档下载推荐.docx_第2页
第2页 / 共67页
基于安卓Android的文本阅读器毕业论文Word文档下载推荐.docx_第3页
第3页 / 共67页
基于安卓Android的文本阅读器毕业论文Word文档下载推荐.docx_第4页
第4页 / 共67页
基于安卓Android的文本阅读器毕业论文Word文档下载推荐.docx_第5页
第5页 / 共67页
点击查看更多>>
下载资源
资源描述

基于安卓Android的文本阅读器毕业论文Word文档下载推荐.docx

《基于安卓Android的文本阅读器毕业论文Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于安卓Android的文本阅读器毕业论文Word文档下载推荐.docx(67页珍藏版)》请在冰豆网上搜索。

基于安卓Android的文本阅读器毕业论文Word文档下载推荐.docx

 

1绪论

1.1设计背景和意义

移动计算是随着移动通信、互联网、数据库、分布式计算等技术的发展而兴起的一个多学科交叉、涵盖范围广泛的新兴技术,是计算机技术研究中的热点领域,移动计算技术使得计算机或其它信息智能终端设备能在无线环境下实现数据传输及资源共享,并可将有用、准确、及时的信息提供给任何时间、任何地点的任何客户。

这将极大地改变人们的生活方式和工作方式[1]。

现今在无线通信的基础上的移动计算已经用来扩展计算设备的通信功能,如掌上电脑PDA;

或扩展通信设备的计算功能如手机。

而智能手机作为移动计算环境终端实体虽然早在多年前出现,但那时的功能主要是本地应用。

随着移动互联网3G时代的到来,本地应用已远远无法满足用户的需求。

因此,以创新闻名的Google为了进军移动广告市场,在2007年11月5日发布了Android的第一个版本。

在开发设计方面,Android的平台上已经预装了一些核心手机应用,包括电子邮件,短信,日历,地图,浏览器,地址本等。

这些应用都是使用Java语言编写。

开发者也可以使用Java语言在Android平台上(Android模拟器)开发自己的应用程序。

核心应用所使用的任何API,Android开发者都可以访问。

而随着3G应用和智能手机的不断开发及推广,用户会越来越需要更加个性化、优质化的多媒体数据服务,用户更多地希望能够随时、随地无缝利用3G网络进行办公、网上交易、游戏娱乐、欣赏影视节目、收听和下载音乐等。

在Android的网上应用商场中也拥有数以万计的应用程序可供用户免费下载使用,极大地方便了用户的工作与生活。

开发基于Android的文本阅读器软件满足了用户可以随时随地阅读TXT文档的需求,且在设计过程中也锻炼了自己的编程能力和创新能力。

1.2主要工作和方法

本选题的文本阅读器就是开发在Android平台上运行的应用程序。

Android是由Linux+Java构成的开源平台,它提供包括SDK、KeyApps、Middleware、LinuxKernel四个部分在内的全套手机软件方案。

它开放了基于Linux内核上的开发工具,从而保证了内容的可移植性和多样性。

Android平台为我们开发应用程序提供了一套很好的框架,我们可以在这个平台的基础上开发不同的应用程序,也可以开发新的组件供应用程序调用。

本课题主要完成基于Android的文本阅读器的开发实现,文本阅读器的开发需要搭建Android开发环境(JDK+Eclipse+AndroidSDK+ADT),实现的功能主要有:

实现TXT文档阅读;

在阅读时可以对阅读背景色、屏幕亮度、字体大小、字体颜色进行设置;

阅读TXT文档的翻页操作;

用户阅读时的书签管理功能;

短信共享文本,在用户阅读时,可将选择的文本内容通过短信发送给其他用户。

完成本选题需要查阅并研究相关期刊和文献,对课题研究中所涉及到的相关内容和技术进行初步了解;

深入了解Android平台和Java编程等相关技术;

能够架设出系统的基本框架,然后进一步优化设计,完成软件的功能;

在实验操作中遇到的问题能够及时的与指导老师进行沟通,通过对问题的分析,巩固知识,优化设计。

1.3本文结构

第1部分是绪论,主要说明了本文的研究背景、主要工作和实现方法。

第2部分主要是对系统开发环境及开发平台的介绍。

第3部分是系统需求分析,阐述了文本阅读器的相关功能和本程序需解决的技术问题以及流程。

第4部分是系统设计,介绍了界面的操作方式及主要设计过程,还包括本程序所需要的轻量级数据库的实现。

第5部分是系统实现,首先解决了本程序的技术问题,然后介绍了阅读器主类逻辑及其涉及到的若干类,最后介绍文本阅读器具体功能的实现。

第6部分是软件测试。

最后是对系统开发所做的工作和对系统最终结果的总结。

2相关技术介绍

2.1Android系统

Android是Google于2007年11月05日宣布的基于Linux平台的开源移动操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成。

它采用软件堆层(SoftwareStack,又名软件叠层)的架构,主要分为三部分。

底层以Linux内核工作为基础,由C语言开发;

中间层包括函数库Library和虚拟机VirtualMachine,由C++开发。

最上层是各种应用软件,包括通话程序,短信程序等,应用软件则由各公司自行开发,以Java作为编写程序的一部分[2]。

不存在任何以往阻碍移动产业创新的专有权障碍,号称是首个为移动终端打造的真正开放和完整的移动软件。

Google通过与软、硬件开发商、设备制造商、电信运营商等其他有关各方结成深层次的合作伙伴关系,希望借助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。

全球为数众多的移动电话用户正在使用各种基于Android的电话。

谷歌的目标是让移动通讯不依赖于设备甚至平台,通过与全球各地的手机制造商和移动运营商结成合作伙伴,开发既有用又有吸引力的移动服务,并推广这些产品。

2.1.1Android特点

Android具有以下特点:

(1)应用程序框架支持组件的重用与替换。

这在之前的手机操作系统当中是很难想象的。

这就意味着我们可以把系统中不喜欢的应用程序替换掉,安装我们自己喜欢的应用程序。

例如,打电话应用程序、文件管理器等[3]。

(2)Dalvik虚拟机专门为移动设备做了优化。

Android应用程序将由Java编写、编译类文件通过DX工具转换成一种后缀名为.dex的文件来执行。

Dalvik虚拟机是基于寄存器的,相对于Java虚拟机速度要快很多[3]。

(3)内嵌浏览器:

集成了基于开源WebKit引擎的浏览器[4]。

(4)优化的图形:

强大的自定义二维图形库。

基于OpenGLES1.0标准的3D图形功能,在移动3D开发中有着至关重要的地位。

(5)SQLite数据库:

SQLite提供结构化的数据存储。

它是一款轻型免费且开源的数据库,它的设计目标是嵌入式的,它占用的资源非常低、需要的内存空间少、处理速度比较快和支持事务处理功能等[2]。

(6)多媒体支持:

支持各种通用的音视频和静态图像格式,如MP3、JPG、PNG等。

OpenCore是Android多媒体框架的核心,所有Android平台的音视频采集,播放的操作都是通过它来实现的。

通过OpenCore,程序员可以方便快速的开发出想要的多媒体应用程序。

(7)GSM技术:

(依赖硬件)GlobalSystemforMobileCommunications,全球移动通讯系统,俗称“全球通”,是第二代移动通信技术,其开发El是让地球各地可以共同使用一个移动电话网络标准,让用户使用一部手机就能行遍全球[2]。

(8)支持蓝牙Bluetooth,EDGE,3G和WiFi技术;

也支持照相机,GPS,指南针和加速度仪等传感器硬件。

(9)丰富的开发环境:

包括模拟机、调试工具、内存运行检测,以及为EclipseIDE所写的插件。

2.1.2Android的架构分析

Android架构是由Linux内核、C/C++函数库、Dalvik虚拟机、应用框架以及关键应用程序构成的[5],如图2-1所示。

通过编译基于框架的应用程序可以降低开发负荷。

应用软件原则上是在DalvikVM上运行的。

图2-1Android系统架构[6]

Android系统架构[6]:

(1)Linux内核:

Android系统平台是基于优化了的Linux内核,是其系统平台的核心。

它提供诸如内存管理、进程管理、设备驱动等服务,同时也是手机软硬件的连接层,提供了一个屏蔽层用于屏蔽硬件和上层软件。

(2)中间件层:

C/C++函数库,它们服务于Android应用程序组件,其功能通过组件间接提供给开发者。

这些函数库包括:

标准C函数库、媒体功能库、浏览器引擎、2D和3D图形库、基于WEB应用的的安全协议SSL、用于点阵和矢量字体渲染的FreeType以及SQLite引擎等。

(3)应用程序框架:

提供Android平台基本的管理功能和组件重用机制。

(4)应用程序:

提供一系列的核心应用程序,包括电子邮件客户端、浏览器、通讯录和日历等。

2.1.3Android应用的构成和工作机制

对于一个Android应用程序来说,是由Activity、IntentReceiver、Service、ContentProvider四部分组成,但并不是每一个Android应用程序都必须由这四部分组成。

在应用程序中使用时,需要在配置文件AndroidMainfest.xml中进行配置。

这个配置文件是每个Android应用程序所必需的,用于定义应用程序的组件、组件的功能以及必要条件等。

1.活动(Activity)组件

Activity是Android的核心类,该类的全名是android.app.Activity。

Activity相当于C/S程序中的窗体或Web程序的页面,是构成应用程序中最重要的构造块,在Android应用程序中,几乎都是通过Activity来与用户进行交互,所以Activity主要负责的就是创建与用户进行交互的显示窗口,你可以在这些窗口里通过调用setContentView(View)方法来显示你自己的用户界面[6]。

(1)活动生命周期

活动(Activity)在系统中以活动栈的形式进行管理。

当一个新的活动启动后,被放到了栈项,成为了运行活动,而新活动之前的活动在活动栈里总位于新活动之下,直到新的活动退出才重新回到前台[7]。

Activity的状态转换如图2-2所示。

图2-2Activity状态变换路径图[7]

Activity有三个关键循环[8],如下:

活动的整个生命期:

从首次调用onCreate(Bundle)开始,到最终调用onDestroy()结束。

在onCreate()中进行所有初始化,在onDestroy()时进行清理工作,释放资源。

活动的可见生命期:

从调用onStart()开始,到onStop()被调用为止。

在这段时间内,即使活动不与用户进行交互,用户也可以在屏幕上看到它。

在这两个方法调用之间,可以维护活动显示给用户的资源。

onStart()和onStop()方法可以多次调用,因为活动随时可以在可见和隐藏之间进行转换。

活动的后台生命期:

从调用onResume()开始,到onPause()被调用为止。

在这段时间内活动处于其它所有活动之前,并与用户进行交互。

一个活动可以不断在resumed状态和paused状态之间变换[8]。

(2)活动之间的转换

Android使用了Intent类来实现活动之间的切换工作。

Intent负责对应用中一次操作的动作、动作涉及的数据和附加数据进行描述。

根据Intent的描述,负责找到对应的组件,将Intent传递给调用的组件并完成组件的调用。

因此,Intent起着一种媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的解耦。

在应用中,我们可以以两种形式来使用Intent:

直接Intent,指定了component属性的Intent,通过指定具体的组件类,通知应用启动对应的组件。

间接Intent,没有指定component属性的Intent,则需要包含足够的信息,这样系统才能根据这些信息,在所有的可用组件中,确定满足此Intent的组件。

2.广播接受者(BroadcastReceiver)组件

BroadcastReceiver的唯一功能就是接收广播消息,以及对广播消息做出响应。

有很多时候,广播消息是由系统发出的,例如,时区的变化、电池的电量不足、收到短信等。

除此之外,应用程序还可以发送广播消息,例如,通知其他的程序数据已经下载完毕,并且这些数据已经可以使用了。

一个应用程序可以有多个广播接收者。

广播接收者与服务一样,都没有用户接口,但在广播接收者中可以启动一个Activity来响应广播消息,例如,通过显示一个Activity对用户进行提醒。

当然,也可以采用其他的方法或几种方法的组合来提醒用户,例如,闪屏、震动、响铃、播放音乐等[6]。

3.服务(Service)组件

Service是提供连续信息的应用程序。

它是运行于应用程序后台的服务,在用户进行其它活动的时候,这个服务将一直运行在基于Android平台的即时通讯系统的研究与实现后台直到用户停止该服务或服务运行结束。

系统客户端扩展功能的音乐播放就是采用Service来进行设计和开发的,使用户可以边聊天边听音乐。

4.内容提供者(ContentProviders)组件[6]

ContentProvider应用程序能够将它们的数据保存到文件、SQL数据库和其它的存储设备中。

当应用程序需要使用存储设备中的数据时,可以使用ContentProvider来完成。

使用ContentProvider能够灵活的替换底层使用的存储设备,使开发者可以专注于应用逻辑的开发,不用考虑底层存储设备的细节,从而使应用系统具有良好的数据。

2.2Java技术

Java是由Sun公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称,Java平台由Java虚拟机和Java应用编程接口构成,由于Java的跨平台性,更多的计算机游戏和应用程序采用Java语言进行开发。

在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景[9]。

Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言[10]。

2.3SQLite数据库

Android存储方案的核心之一是用数据库存储相关数据。

在Android系统中使用了SQLite数据库[11]。

SQLite是一款轻型的,遵守ACID的关联式数据库管理系统,它的设计目的主要是用于嵌入式设备,使用时占用的资源非常少。

它支持Windows/Linux/Unix等主流的操作系统,同时能够跟很多程序语言相结合,如Tcl、C#、PHP、Java等。

SQLite虽然是轻量级的,但在执行某些简单的SQL语句时甚至比MySQL和Postgresql还快。

它具有零配置、可储存在单一磁盘文件中、数据库文件可以在不同字节顺序的机器间自由的共享、简单轻松的API、开源、独立等特性[12]。

在开发中还可使用有大量的可视化功能的SQLite数据库管理工具。

2.4Eclipse介绍

Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台[13]。

它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成——EclipsePlatform、JDT、CDT和PDE。

JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,EclipsePlatform则是一个开放的可扩展IDE,提供了一个通用的开发平台[14]。

它提供建造块和构造并运行集成软件开发工具的基础。

EclipsePlatform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。

在本系统的开发需要用到EclipseSDK软件开发包。

它是EclipsePlatform、JDT和PDE所生产的组件合并,这些部分在一起提供了一个具有丰富特性的开发环境,由Eclipse项目生产的工具和来自其他开放源代码的第三方软件组合而成。

3系统需求分析

3.1功能性需求分析

3.1.1需求分析方法概述

需求分析是系统开发的基石,影响着整个系统开发过程。

明确系统开发的需求,是系统开发开发成功的基础。

在系统开发前,本人对当前有关本课题的国内外市场以及现有成果进行了详细的调查和分析,使得系统的需求在实现基本功能的前提下又加入了相应的个性化功能,因此具有一定的竞争力和实用价值。

本系统采用用例驱动的分析方法进行需求分析。

UML(统一建模语言,UnifiedModelingLanguage)是一种定义良好、易于表达、功能强大且普遍适用的可视化建模语言。

它融入了软件工程领域的新思想、新方法和新技术。

它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程[15]。

用例建模是UML建模的一部分,也是UML里最基础的部分。

用例建模的最主要功能就是用来表达系统的功能性需求或行为。

用例建模可分为用例图和用例描述。

用况模型由用况图组成,用况图展示了执行者、用况以及它们之间的关系。

一个用况模型可以由若干幅用况图组成,一幅用况图包含的模型元素有参与者(Actor)、用例(UseCase)、系统边界以及表示它们间的不同关系,如关联、扩展、包含、泛化等,用画图的方法来完成[16]。

3.1.2功能用例图

采用用例驱动方法分析需求,首先识别出系统的参与者。

本系统的参与者也就是本阅读软件的用户,用户可以进行文档阅读、阅读背景色设定、字体颜色设定、字体大小设定、阅读文档的翻页操作、对文档的添加书签操作、去往书签操作、清除书签操作、以及对文本的短信共享。

用例图如图3-1所示:

图3-1功能用例模型

3.2可行性分析

3.2.1性能需求分析

手机软件要有良好的用户体验,良好的用户体验体现在以下几个方面:

(1)运行时内存使用不能超过64M

虽然现在的手机硬件越来越强大,智能手机的内存可达到1024M,但Android还是限制了单个应用程序内存使用的大小。

所以本系统运行时内存使用限制在不超过64M。

(2)界面友好

用户界面要简洁直观,设计合理,方便用户操作,让用户使用起来比较舒服,并且UI视觉效果要好。

(3)无缝性

一个常见的无缝问题就是一个应用的后台进程(如Service或Broadcastreceiver)对某事件作出响应而弹出对话框,这看起来仿佛并无大碍,特别是当你在模拟器上单独地构建和测试你的应用时。

然而,当你的应用在真正的设备上运行,后台线程显示对话框时,你的应用当时可能没有获得用户焦点。

这就会出现你的应用会在活动的应用后面显示对话框,或者从当前应用中获得焦点并显示对话框的情况,而无论当时用户正在做什么(如正在打电话等)。

那样的行为可能对你的应用或用户不起作用。

为了避免这些问题,你的应用应该利用适当的系统资源——Notification类,来通知用户。

利用通知,你的应用可以通过在状态条上显示一个图标来通知用户事件已经发生,而非获得焦点和打断用户。

3.2.2系统安全需求

Android操作系统具有权限分离的特征,每个应用都有唯一的身份标识。

同一系统的不同部分也有不同的身份。

因此在Android安全体系结构设计中在默认的情况下没有任何应用程序可以执行对其他应用程序、操作系统或对用户有损害的操作。

应用程序在独立的沙盒中运行,若没有获得权限,就无法对其他应用程序进行操作。

4系统设计

4.1系统的设计模式

为了使本设计中的Android文本阅读器具有更加强大的移植性和更好的可扩展性,系统的设计采取了广泛使用的MVC(即模型、控制器、视图)设计模式。

软件设计时把应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,将应用分成三层:

模型层、视图层、控制层。

同一模型可以轻易地在不同Android平台,不同UI中得以实现,而反过来模型的改变也可以做到视图不变。

系统的开发人员还可以通过自身的优势进行分组开发。

4.2总体设计

根据系统所采用的MVC设计模式,可确定基于Android的文本阅读器的总体设计结构,如图4-1所示:

图4-1系统总体设计结构图

4.3系统的功能设计

本系统是基于Android的文本阅读器软件,为了使用户方便快捷的操作本系统从而达到良好的用户体验,本系统需要实现以下功能:

(1)TXT文档阅读

用户可以根据需求选择打开存储在SD卡中的TXT文档进行阅读。

(2)系统设定

在阅读TXT文档时,用户可以根据自己的喜好,通过阅读设定功能将阅读的TXT文档的字体大小、颜色、阅读背景色以及屏幕亮度进行设置,达到更舒心的阅读体验。

(3)TXT文档翻页操作

在本系统中阅读可以有三种方式,给用户提供更多选择。

第一,用户可以通过手动手机键盘上下按键,进行阅读;

第二,用户可以选择阅读界面的上下翻页按钮进行翻阅。

第三,用户可选择阅读界面的滚屏按

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1