基于安卓系统的压缩软件开发

 2021-11-25 02:11

论文总字数:25910字

摘 要

Android是一种智能手机系统,以Linux为基础的。它能够迅速地建立手机的应用平台。虽然它的外观简单,但是功能十分强大,自2007年诞生到现在,在智能手机系统的市场占有率已经位居第一名,学习并使用Android系统对于现在的电类专业大学生非常有必要,对于他们的工作也很有帮助。

本次毕业设计的任务是设计一款可以在Android平台下使用的压缩解压缩软件,功能比较类似windows下的相关软件。本文首先声明了项目的背景,简要阐述了android的发展历史与相关的系统框架,谈论了Android的发展方向。接着介绍了本次开发使用的工具,以及如何搭建开发平台,通过简单的例子熟悉该平台。之后系统的论述本次设计的任务,得出了用户的需求。通过设计所需要的功能模块,得出了设计的基本思路与方法。在具体的系统设计中,论述有关方法的实现:界面的设计,Menu的效果,各部分模块代码的编写。最后在虚拟机和真机上对软件进行测试,完成了该次项目的任务要求。本次设计的核心是基于linux方法中的关于文件的工具类。

关键词:Android、Eclipse、压缩解压缩、文件存储

Compressed software Based on Android System

Abstract

Android is a kind of intelligent mobile phone system, which is based on Linux, and it is able to quickly establish a mobile phone software solution. Though it looks simply, but powerful, since it birthed in 2007, has become a smart phone system market , learning and using of the Android system for the electricity class specialized college students is very necessary, and their work is also very helpful.

In this paper, the design of the task is to design a software which can be used in the Android platform, the software function is similar to Windows. At first, this paper declares the background of the project briefly expounds the developing history of android and related the android system framework, talking about the development direction of android. Then this paper introduces the development tools, and how to build development platform, through a simple example to familiar with the platform. After the design task, it is concluded that the user's needs, which is the need of function modules, designing the basic idea and method of the resulting design. In the specific system design, this paper discusses the relevant methods of implementation: the design of the interface, the effect of Menu, each part of the module code to write. Finally in the virtual machine to test the software , the result is basically completed the project task requirements, the design is the core of the file is stored in data storage.

KEYWORDS: Android、Eclipse、Encoding and Decoding、File store

目录

摘要 2

Abstract 3

第一章绪论 1

1.1研究背景 1

1.2研究意义 1

1.3设计目标 2

第二章Android 应用开发技术研究 3

2.1Android 的系统架构 3

2.2Android 的开发工作 5

2.3 Android 应用程序组件 5

2.3.1Activity组件 6

2.3.2Service组件 8

2.3.3Broadcast Intent Receiver组件 8

2.3.4Content Provider组件 8

2.4组件间的调用 9

2.5本章小结 9

第三章Android搭建开发环境及相关技术 10

3.1Androld开发环境介绍 10

3.2安装文件 10

3.2.1安装JDK的步骤 10

3.2.2安装Android SDK 11

3.2.3安装Eclipse 12

3.3Android响应速度 12

3.4本章小结 13

第四章压缩解压缩软件的需求分析和设计 14

4.1需求分析 14

4.1.1压缩解压缩软件的背景分析和构建的必要性 14

4.1.2可行性分析 14

4.2总体设计 15

4.2.1应用程序设计原则 15

4.2.2系统具体模块设计 15

4.2.3技术选型 16

4.2.4 系统的功能结构图与流程图 17

第五章程序开发 19

5.1文件结构与用途 19

5.2Java I/O系统 19

5.2.1I/O基本信息 19

5.2.2文件类file 20

5.3多线程 20

5.3.1 线程的基础知识 20

5.3.2 Handler的用法 21

5.4 功能模块代码设计 22

5.4.1长按事件的处理 22

5.4.2复制与移动功能代码 23

5.4.3删除功能代码 23

5.4.4重命名功能代码 24

5.4.5压缩与解压缩功能代码 25

第六章应用软件测试 27

6.1软件测试的方法和意义 27

6.1.1软件测试的方法 27

6.1.2软件测试的意义 28

6.2模拟器到真机的测试 28

6.2.1模拟器的测试 28

6.2.2真机测试 29

6.3本章小结 31

第七章总结与展望 32

7.1论文工作总结 32

7.2问题与总结 32

7.2.1有待改进的地方 32

7.2.2总结 33

致谢 35

第一章绪论

1.1研究背景

安卓系统是开源的编程系统,它的设计基于linux的系统。由于其的开源特性,在多个平台上得到了广泛的应用,也得到许多优秀工程师的不断地开发和完善。现如今,安卓系统发展非常迅速,已经在手机、电脑、平板上验证了它的优秀,也让更多的人享受到了智能的好处,开发优秀的安卓软件也成为当今社会优秀编程人员的一项基本能力。

Android是由谷歌公司与开放手机联盟设计并应用的,它最初开发与设计是Andy Rubin来完成的。国内没有硬的规定,大家根据发音便把它称为安卓。刚开始的安卓主要是在手机上使用,后来发展到了平板电脑等的领域。2005年8月谷歌收购并注资了android,自从安卓的发展进入了正轨。2007年11月,谷歌联手多家公司组建了开放手机联盟来完成android的后续设计。出于开源性的考虑,谷歌为编程人员开放了android的源代码,这样就使得android的设计变的多元化,更多、更加新颖的内容可以加入其中[1]。2008年10月公司发布了第一款基于安卓的智能手机,安卓手机自从开始发布就引起了人们的广泛关注,随后的发展更是验证了这一道理,安卓发展到了平板电脑平台之后的发展速度不断加快,它触及的领域也越来越多,从2011年开始,它的使用量已经超过了塞班系统。

2014第一季度Android平台在所有移动广告流量上的比例首度超越iOS,但运营收入不及iOS[2]

1.2研究意义

安卓平台一般由四方面组成,这四方面共同组成了安卓平台的架构,他们分别是操作系统、中间件、用户界面以及应用软件。Android 系统的优势如下:

  1. 开放性。由于安卓代码的开源性,编程人员可以根据自己的想法来完成软件的设计,这样就导致了安卓设计的开放性,大家不是很局限于具体的事例,不再会因为一点点的重复而导致了整个系统设计被称为抄袭,有了更多自己的特色。这样由于编程人员设计的多元性,导致了用户与应用的多方位,安卓的发展自然越来越好[3]
  2. 脱离运营商的束缚。还记的当时塞班系统下的应用,大多数的应用都需要手机运营商的支持,这样的话手机功能就比较单调,用户使用也不方便,由于苹果的出现,人们初步摆脱了过分依赖运营商提供应用的束缚,随后安卓的发展更是将这一大好的局面推向了顶峰。

(3) 不受任何限制的开发商。安卓的设计具有开源性的特点,它整体的系统架构也比较开放,开发商设计东西的时候不太会受到太大的局限,这样有利于开发商设计应用。

(4) 硬件选择比较丰富。基于安卓的特点,手机厂商设计了各种特色的手机硬件,安卓的开放性导致了这些硬件的兼容性比较好。

(5) 无缝结合的谷歌应用。由于安卓是由谷歌开发的,因为它与互联网的联系就比较密切,我们手机的数据也可及时的上传到服务器上,这样有利于手机数据的恢复与保存。同时这个系统的搜索功能比较强大。

Android 操作系统不仅仅有着很大的优点,我们同时应该注意到它存在着一些比较大的缺陷:

(1) Android 操作系统的开源性导致了设计人员发布应用的随意,这样就导致了很大的安全隐患,许多不法份子就是利用这个来欺骗用户[4]

(2) Android 操作系统刚刚发布几年,虽然发展势头不错,但是没有时间来检验平台的稳定性。

(3)跟其他较稳定的操作系统相比,安卓操作平台系统存在问题,手机经常出现死机、黑屏等的现象。

现在手机发展迅速,手机已经成为现代社会沟通的主要途径,同样也是信息交换的主要来源,手机在信息传递中的作用越来越明显。同时,手机的移动信息技术也在逐渐完善其自身功能以满足日新月异的需要。本次设计的压缩解压缩软件就是因为信息化社会的需求来设计的。

1.3设计目标

本毕业设计要开发一个类似WINRAR的可以在智能安卓手机上使用的简单压缩、解压缩软件,用于在手机上进行简单的文件压缩、解压缩,供各类用户使用。

第二章Android 应用开发技术研究

本章主要介绍Android的系统架构、基本组建,以及开发所必须的部件,主要是为了方便初学者了解安卓的一些基本知识。

2.1Android 的系统架构

Android作为当前移动平台的新兴系统,其层次结构吸取了其他系统之长。整个体系分工明而又合理,包括操作系统(OS)、中间层(Middle Ware)和应用程序(Application)。Android整个组织结构自上而下分为4个层次[5]

操作系统层(OS);

各种库(Libraries)和Android运行环境(Run Time);

应用程序框架(Application Framework)

应用程序(Application )

具体的层次架构请看下面的图片。

图2.1 层次结构图

(1) Linux内核(LINUX KERNEL)

Linux是一种比较自由的和开放的操作系统,android系统中将它作为底层来使用,它主要是负责的是硬件方面的使用,使得安卓可以更好的兼容硬件[6]

安卓使用的操作系统由两方面组成,分别是核心与驱动程序,核心一般我们成为CPU,它使用的是Linux的内核,为上下各方面的应用提供了中间层。与此不同的是驱动系统,主要驱动有:显示驱动(Display Driver) 、照相机驱动(Camera Driver)、WiFi驱动(WiFi Driver)、音频驱动(Audio Driver)。

(2)系统运行库(LIBRARIES)和Android运行环境(RUNTIME)

我们对于Linux内核层的了解主要是它的代码,但是实际上它是由两方面组成的:系统函数库和Android运行环境,与此相对应的是安卓系统,安卓系统被划分为两部分:系统运行库,Android运行环境[7]

安卓系统的设计主要是基于中间层来完成,中间层为它的设计提供各种有效的方法,正确的区分与使用中间层的控件对于编程非常重要。我们使用安卓里面的应用库,调用库里的函数来完成代码的设计,下面是一些比较核心的库:

系统 C 库,它是安卓的基础库函数,一般我们并不对它进行修改[8]

媒体库(MediaFramework),这部分的使用主要是在多媒体方面,基于 Packet Video 的 Open CORE,从功能上来讲该部分主要是两种功能:一个是音频、视频的播放,一个是相对应的记录。

Surface Manager,他的作用是显示图像,我们也使用它来更改图像。

FreeType,这部分主要完成了字的绘制,各种不同的字体在其中供我们使用。

SQLite,根据字面意思我们可以知道这个是数据库,完成数据的储存与有关内容的调用。

SSL(Secure Socket Layer),TCP/IP协议 中使用到了它,它负责的是网络通信的安全。

Webkit,web 浏览器引擎,支持 web 视图和 Android 浏览器。

(3)应用程序框架

安卓的应用系统架构有着丰富的内容,同时系统对编程的要求不高,这样编程人员就可以完成非常优秀的作品。因为安卓的上层使用的是java语言编写的,因此在完成ui空间设计时必须添加一些组件,例如 Views(视图组件),它包含了 Lists(列表)、Grids(网格)、Text Boxes(文本框)、Buttons(按钮)等的功能。

开发人员在设计的时候,很多代码都是借助安卓已有的系统架构来完成,比如本次设计的文件操作,又比如平常使用的闹钟,日历等的功能,而安卓下用于支撑应用和服务的系统包括:

可扩展的视图(View system):用户使用它来完成界面的设计,同时可以在这些视图中嵌套一些功能来完成设计所需要的内容,它包含了 Lists(列表)、Grids(网格)、Text Boxes(文本框)、Buttons(按钮)等得功能。

活动管理器(Activity Manager):程序的生命周期是通过它来管理的,一个程序通常由多个activity组成,各个活动之间相互关联,同时程序的退出也受到活动的影响。

通知管理器(Notification Manager):它的作用是在状态栏显示客户通知信息,这样用户就可以比较方便的观察到所需要的信息。

内容提供者(Content Providers):主要是数据的访问,设计的应用使用这部分功能来访问属于或者不属于它的内容。

资源管理器(Resource Manager):用户使用它来访问资源,可以访问的资源类型很多,一般都是非代码的东西,比如图片,图标等的内容[9]

(4)应用程序层(APPLICATIONS)

Android 应用程序层主要是针对用户界面 (User Interface) 的。这些应用层程序是系统自带的程序,一般来讲这些程序,系统自己已经编写好,我们在使用的时候直接调用就可以了,通常它包括了主屏幕、联系人、电话、浏览器等的内容,同时我们开发程序的时候还能使用内置的api完成自己的代码设计,这点对于设计来讲非常方便[10]

2.2Android 的开发工作

Android的开发分为三个类型:底层系统设计、系统开发和应用程序的设计。这三个方面中,前两个都是厂商自己设计的,后面这个是开发者自己编写代码完成应用开发的[11]

(1)底层系统设计,这指的是手机厂商根据自己手机的具体情况来设计手机系统的底层库与驱动程序,这些由c或c 编写的程序是根据手机的具体情况设计的。

(2) 系统开发,它是厂商扩展安卓系统用的,或者修复一些安卓上的bug。很多厂商根据自己手机需要的功能来添加一些功能,比如小米手机的智能平台。

(3)应用程序的设计,这个部分是供应用开发者完成手机软件的开发,一般来讲都是使用java编程的。

2.3 Android 应用程序组件

Android应用程序是各个组件相互关联而构成的,一般的android应用主要有四种类型的组件:Activity组件、Service组件、Broadcast Intent Receiver组件、Content Provider组件。下面展示的是android的组件以及相关的一些功能[12]

图2.2 Android应用程序的构成和工作流程图

2.3.1Activity组件

Activity是构成了应用程序中最重要的部分,一个活动可以表示为一个用户界面,也可以称为一个用户正在从事的活动,我们可以将发短信称为一个活动,这个活动可能会关联到联系人也可能关联到信息的发送等内容。在很多情况下,一个具体的事件是由很多活动相互关联而成,虽然他们一起构成了整体的活动界面,但是每个活动实际上还是相互独立工作的。

活动生命周期

剩余内容已隐藏,请支付后下载全文,论文总字数:25910字

相关图片展示:

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;