毕业设计基于Android的文件浏览器开发与实现.docx

上传人:b****3 文档编号:27120688 上传时间:2023-06-27 格式:DOCX 页数:17 大小:43.61KB
下载 相关 举报
毕业设计基于Android的文件浏览器开发与实现.docx_第1页
第1页 / 共17页
毕业设计基于Android的文件浏览器开发与实现.docx_第2页
第2页 / 共17页
毕业设计基于Android的文件浏览器开发与实现.docx_第3页
第3页 / 共17页
毕业设计基于Android的文件浏览器开发与实现.docx_第4页
第4页 / 共17页
毕业设计基于Android的文件浏览器开发与实现.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

毕业设计基于Android的文件浏览器开发与实现.docx

《毕业设计基于Android的文件浏览器开发与实现.docx》由会员分享,可在线阅读,更多相关《毕业设计基于Android的文件浏览器开发与实现.docx(17页珍藏版)》请在冰豆网上搜索。

毕业设计基于Android的文件浏览器开发与实现.docx

毕业设计基于Android的文件浏览器开发与实现

 

毕业设计

 

题目:

基于Android的文件浏览器开发与实现

姓名:

李炳涛

学号:

200909714

指导教师:

杜永文

班级:

计091

日期:

2012年6月7号

基于Android的文件浏览器的开发与实现

摘要

目前android平台手机渗透到我们生活,20世纪末,电子技术获得了飞速的发展,在其推动下,基于android平台手机的现代电子产品在我们生活的各个角落都能见到,有力地推动了社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。

基于android平台手机的发展趋势,本设计以android平台手机为核心制作了一个文件浏览器。

本次设计运用android平台手机作为研究开发对象,配合Java语言程序设计以及面向对象思想设计了一种手机文件浏览器。

本设计完成后,能够实现以下功能:

文件的浏览、文件属性的修改、文件的一些基本操作,一些远程模块的调用、根据不同文件扩展名来实现文件只能的打开,同时给以后的一些实用软件留下了借口、可以实现与手机之间的通讯。

以及电脑之间的共享。

在设计时,按照设计的要求,从可靠性、经济性、安全性三个方面进行考虑,通过设计方案的比较,确定出来一套即经济又可行的方案。

本次设计是对所学知识的综合运用,把理论知识和实践相结合。

在本次设计与检验过程中遇到了许多实际问题,比如android平台手机及其运行环境的选择,不熟悉myeclipse和eclipse软件的使用方法,不熟悉开发技巧,可能会发生一些微小功能不能实现、软件运行不稳定,如何设计软件的最佳外观效果等。

所有的这些问题,我们都通过查阅资料,咨询老师一一解决了,为设计的成功提供了保障。

本文通过方案确认,介绍了设计中所用到的技术、开发思想,以及android平台的简介,通过清晰的程序流程图,给程序的理解提供了方向。

还介绍了程序调试软件和硬件调试软件,最后对本设计的软件做了一个概述。

关键词:

文件浏览器,Android平台,Java技术

 

一、文件浏览器可行性分析

1、市场可行性

随着科技的发展信息时代的到来,3G技术发展日益成熟随之而来的是3G手机的出现,基于Android操作系统的手机市场逐渐发展壮大,愈来愈多的人选择谷歌的Android手机逐渐形成一种趋势,因此这个市场的商业价值很高,所以我们选择开发基于Android平台的文件浏览器,由于普通手机用户的手机都是应用Symbian操作系统所以都有手机自带的文件管理功能,而Android系统中却找不到相关的功能提示,正是出于这样的原因我们决定研发文件浏览器,我们所研发的文件浏览器不但支持本地文件管理,方便用户对手机和SD卡上的文件/文件夹进行各种操作,还提供了任务管理,程序管理功能,用户随时查看当前的任务进程,或者卸载手机中的应用程序。

除此之外我们的浏览器还提供本地和远程网络共享功能,用户可以通过本地共享,FTP远程和蓝牙等三种模式,用户可以在手机远程在移动和桌面终端之间分享文件,传输操作;软件能独立打开媒体文件,浏览图片,编辑文本,甚至可以远程播放媒体文件。

因此我们的研发具有巨大的商业价值是一个历史性的进步,这样可以在很大程度上增加Android手机用户的市场份额。

所以从市场角度来看,十分有必要开发基于Android的文件浏览器。

3、技术可行性

我们已经系统的学习过Java技术,并且对软件的开发流程有一定的了解,进而学习了与Android相关的一些技术,以及一些简单的xml技术,随着对这几种技术的掌握,结合市场上基于Android的文件浏览器种类虽然繁多,但真正能让用户满意的缺少的情

况,从技术角度我们决定开发基于Android的文件浏览器。

本项目需要用到Sun公司开发的Java技术以及Google公司开发的Android技术在Myeclipse环境下进行开发。

下面对Android技术以及Java技术进行简单的介绍和必要的阐释。

二、文件浏览器的需求分析

随着信息的高速发展手机已变的越来越普及尤其是智能手机,基于Android操作系统的手机就是在这样的趋势下逐渐一步步的走入我们的生活,因此,我们选择这样的研究课题最主要的一点是看在它的潜在市场价值,另外一个方面就是团队合作由于这次研发不是一个人完成而是一个团队所以团队合作很重要,这是研发成功的关键所在。

所以我们这次最重要的目标是培养团队合作的精神这也是我们完成毕业设计的前提,一个团队一定要凝成一股劲朝着一个方向前进这才是团队协作,这次虽然每一个人所做的部分不相同但最终我们都是为了同一个目标将文件浏览器研发成功,团队可以让每一个成员变得成熟稳重可以使每一个人的能力得到充分的体现。

1、产品背景明细

软件名称:

基于Android的文件浏览器

2、本工程描述

软件开发的目标:

通过开发基于Android的文件浏览器,能给广大Android用户提供一个安全的,功能强大的,易于操作的,便于管理的高性能浏览器。

3、应用环境

Android手机系统,版本Android1.1以上,系统推荐配置为400MHz处理器、128MBRAM、3.0英寸屏幕或更大屏幕;,或者是升级到Android3.0的系统推荐配置为1GHz

处理器、512MBRAM、3.5英寸屏幕或更大屏幕;的广大手机用户

4、开发环境

操作系统目前只支持XP(32-bit)、Vista(32/64-bit)、MacOSX10.4.8或更新版本(x86)、Linux。

Android开发环境官方建议使用Myeclipse进行开发,当然,eclipse版本要在3.3以上。

因为开发是基于java的,所以jdk是少不了的,jdk要求是5.0或者6.0,我还是用5.0比较多,可以到sun官方下载。

J2ME,现称为JavaME(JavaPlatform,MicroEdition)是为机顶盒、移动电话和PDA之类嵌入式消费电子设备提供的Java语言平台,包括虚拟机和一系列标准化的JavaAPI。

它和JavaSE、JavaEE一起构成Java技术的三大版本,并且同样是通过JCP(JavaCommunityProcess)制订的。

目前阶段,JavaME最流行的应用是游戏软件。

因为与需要昂贵的专用设备和开发工具的竞争对手(如索尼和任天堂)相比,JavaME程序可以在PC机上开发和仿真运行,然后很容易地部署到目标机上,从而使其开发、测试和发布的变得容易,Eclipse是著名的跨平台的自由集成开发环境(IDE)。

最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。

Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。

许多软件开发商以Eclipse为框架开发自己的IDE。

Eclipse最初是由IBM公司开发的替代商业软件VisualAgeforJava的下一代IDE开发环境,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会。

5、系统组件的搭建

首先必须要有Android的AWT组件以及Google官方发布的Android的SDK1.1以上,最好是1.5或者2.2版本的SDK。

首先必须要给Myeclipse打上Android的插件,是的能有运行Android工程的平台,与开发Android的源代码。

开发Android应用程序最简捷的方式是下载AndroidSDK和EclipseIDE。

Android应用程序是用Java语言编写的,只要结合Eclipse的AndroidDeveloperTools插件就可以开发Android应用程序了,不过它是在DalvikVM(非Java虚拟机)中编译和执行的(这个在上文中也有介绍)。

Eclipse提供了一个丰富的Java环境,Java代码通过编译后,AndroidDeveloperTools执行打包的工作,其中包括AndroidManifest.xml文件。

当然了,不用Eclipse也能开发Android应用程序,但是你需要熟悉AndroidSDK。

AndroidSDK是一个ZIP文件,可以把它解压到硬盘上的一个目录中。

SDK包括:

android.jarJava归档文件,其中包含构建应用程序所需的所有的AndroidSDK类。

documention.html和docs目录本地和网上提供的SDK文档。

这些文档的主要形式为JavaDocs,以便于在SDK中导航大量的包。

文档还包括一个高级开发指南和Android社区的链接。

Samples目录:

Samples子目录包含各种应用程序的源代码,包括ApiDemo,该应用程序演示了很多API。

这个示例应用程序可以作为Android应用程序开发的良好起点。

Tools目录:

包含所有用于构建Android应用程序的命令行工具。

最常用、最有用的工具是adb实用程序(AndroidDebugBridge)。

usb_driver该目录包含将开发环境连接到支持Android的设备(例如G1或AndroidDev1解锁开发手机)所需的驱动程序。

只有Windows平台的开发人员才需要这些文件。

Android应用程序可以在实际的设备上运行,也可以在AndroidSDK附带的AndroidEmulator上运行。

三、文件浏览器的总体设计

1、总体设计概述

1)项目目的

本项目旨在给用户提供一个,友好,方便的手机浏览器,提供给用户一些查看,实现文件的复制、剪切、删除、标记、重命名、详情(属性)、新建、发送到、属性设置(共享、隐藏、密码保护)、收藏、存储状态、加密,不同文件调用不同其他软件。

针对音乐、图象填加使用功能。

图象:

设壁纸、屏幕保护、联系人头像、填加新联系人,设分组头像、编辑图象;音乐:

设铃声、信息提示、闹钟、日历提醒、聊天室。

如有可能填加蓝牙(手机访问手机、电脑访问手记),上传网络,添加到邮件功能。

本项目能为用户提供最基本的文件浏览,相关文件调用:

例如文件相关路径的设置、路径的更改,可以最大限度的体现文件浏览器的最基本的功能,使文件浏览器的性能在目前配置下最大程度的提升。

相关程序调用:

例如用户选择图片文件,相关扩展名为.jpg或.jpeg或.bmp或.png或.jif进而调用图片产看器来对图片进行查看,如果用户选择的是以.mp3或.wmv或.mid为扩展名的音乐文件则调用音乐播放器来对文件打开,对文件的扩展名来进行智能匹配,这样就使的文件浏览器的各项扩张性能有最大限度的提升,能使手机扩展更多的文件、应用,我们还在定期的对文件浏览器进行版本的更新升级,及时的设置新的文件匹配扩展,这样如果有新的应用或者格式的文件,我们就能在很短时间内与其兼容,可以说我们的文件浏览器是一个永不过期的文件浏览器应用。

小型局域网的组建:

如果用户选择的是文件远程共享模式,则调用文件浏览器来与远端的计算机来进行文件传输,利用wap(无线网络访问协议)协议进行小型局域网的组建,进行文件共享、文件传输,可以极大的扩展手机的可玩性、共享性。

文件传输模式是指当用户设置文件传输模式的时候,启动本地蓝牙模块,用蓝牙与其他终端进行ftp通信,用ftp(文件传输协议)来对文件进行收发、手机与计算机只讲进行通信、进行手机与手机终端的通信、建立连接可以进行文件的传输、建立游戏互联,可以极大的扩展手机的可玩性、共享性。

2)项目模块分配

小组将我们的项目分成四个模块:

本地模块,远程模块,视图查看模块,文件传输模块,其中我负责本地模块,我们要在文件浏览器里面实现文件浏览的基本功能,文件的的浏览,文件的更名,文件属性的修改,文件的加密,文件的编辑,文件的隐藏,与其他模块的互动,发送文件发送,文件的一些基本功能的浏览

文件浏览器的基本功能模块的开发会用到Java.io包下的file类,该类继承与Object类,实现了Java.io下的接口Serializable以及Java.lang下的接口。

2、基本功能要求

1.系统文件与用户应用文件及应用程序切换。

采用树结构,列表,缩略图显示,排序(日期、大小、格式、名称)、文件拖拽。

2.搜索功能(调用输入法)。

3.基本控制操作:

向上,前进,撤消。

4.不同文件调用不同其他软件。

针对音乐、图象填加使用功能。

图象:

设壁纸、屏幕保护、联系人头像、填加新联系人,设分组头像、编辑图象;音乐:

设铃声、信息提示、闹钟、日历提醒、聊天室。

5.如有可能填加蓝牙(手机访问手机、电脑访问手记),上传网络,添加到邮件功能。

6.亮点优势:

采用树结构、文件拖拽、属性设置(共巷、隐藏、密码保护)、撤消。

3、扩展功能需求

1.操作系统整体运行速度更快,尤其是浏览器。

2.浏览器支持双击屏幕进行缩放。

3.Facebook好友整合至联系人功能。

4.整个系统多出都支持语音控制,并拥有独立的控制面板。

5.谷歌地图服务更新。

6.支持微软Exchange邮件服务。

7.整合多个不同用户,提供统一的邮件收件箱。

8.双击就能上传图片至YouTube。

4、性能需求

1.系统是免费的开放源代码。

2.屏幕分辨率很高。

3.系统是可以刷机的刷机很方便最初的1.5到1.6到2.0到2.6到3.0系统更新很快。

4.播放视频方面android相对流畅。

5.android的拍照功能白天强晚上差。

四、项目测试

4.1项目部分代码以及注释

本章主要介绍本项目的一些代码及注释,最后会展示一部分功能,

4.1.1文件目录显示代码及注释

/**

*创建文件列表类

*该类继承于ListActivity使之有文件列表功能

*/

publicclassFileListextendsListActivity{

/**

*创建文件列表

*列表功能,文件列表功能可以将文件存入列表中

*列表是私有属性,只能自己调用

*/

privateListitems=null;

/**

*当Android活动第一次启动的时候调用OnCreate()函数

*OnCreat()函数是继承于父类ListActivity

*/

@Override

publicvoidonCreate(Bundleicicle){

super.onCreate(icicle);

/**

*设置视图的布局格式为线性布局

*创建文件的根目录

*将根目录加入文件列表中

*/

setContentView(R.layout.directory_list);

fill(newFile("/").listFiles());

}

/**

*设置点击方法

*方法onListItemClick监听文件列表的点击事件

*该方法onListItemClick使受保护的方法

*/

@Override

protectedvoidonListItemClick(ListViewl,Viewv,intposition,longid){

/**

*获取到点击行的ID,返回类型为整形

*判断获得的ID是不是为0

*如果获得ID为0则说明选择的是根目录进而显示根目录

*如果ID不为0则没有选择根目录

*传如选择文件列表的ID号

*再次判断ID是不是在文件目录中

*如果文件ID在目录中则调用显示目录方法

*如果不在文件目录里则弹出提示框

*提示语为That'safile,notadirectory

*用户选择按钮返回false值

*/

intselectionRowID=(int)getSelectionRowID();

if(selectionRowID==0){

fillWithRoot();

}else{

Filefile=newFile(items.get(selectionRowID));

if(file.isDirectory())

fill(file.listFiles());

else

AlertDialog.show(this,"NotaDirectory",

"That'safile,notadirectory","Cancel",false);

}

}

这段程序主要实现了文件浏览器的文件列表显示功能,我们新建了一个类,类名字叫FileList这个类继承与ListActivity这样的话,这个类就有了类似于Java中的List类所实现的功能,能够显示列表,而ListActivity类有继承于Activity类,这个类是android系统的最基本的类之一,有这个类的话,ListActivity就是一个activity,就可以用来显示。

而FileList就是一个activity,可以用来显示,而且他还有一些Java中的List类的相似的功能。

进而设置文件浏览器的布局方式为现行布局,调用文件浏览器源代码的布局文件,在布局文件中设置文件浏览器的布局方式。

接下来就是FileList这个类重写了父类里面的一个方法OnCreat方法,这个方法用于生成程序的界面,当工程的源代码运行的时候,启动虚拟设备,这时就是android的一个activity,所以系统就会找到源代码的的OnCreat方法,生成一个可视的界面。

因为生成的文件目录是用List方式来显示的,这样的话,每个历List就有自己独一无二的Id,当我们点击相应的List列的时候,就会有一个单击监听器对用户的活动进行监听,在监听器中对点击的Id进行判断,如果判断Id是0的话则意味着用户选择的是根目录,如果选的不是根目录就打开相应的文件或者目录。

4.1.2返回上一级目录代码及注释

//返回上一级目录

privatevoidupOneLevel()

{

if(this.currentDirectory.getParent()!

=null)

this.browseTo(this.currentDirectory.getParentFile());

}

这段代码主要实现了文件浏览器的返回上一层目录的功能,因为在日常的操作中,用户在很多时间里都有这样的需求,那就是在文件浏览完成之后,马上就要返回上一次操作的目录,那么就要是有返回上一层目录这个功能了,设置这样的一个快捷操作能大大的节省用户的一些操作时间。

4.1.3浏览指定目录代码及注释

//浏览指定的目录,如果是文件则进行打开操作

privatevoidbrowseTo(finalFilefile)

{

this.setTitle(file.getAbsolutePath());

if(file.isDirectory())

{

this.currentDirectory=file;

fill(file.listFiles());

}

else

{

fileOptMenu(file);

}

}

4.1.4代开指定文件及以扩展名打开部分代码及注释

//打开指定文件

protectedvoidopenFile(FileaFile)

{

Intentintent=newIntent();

intent.setAction(android.content.Intent.ACTION_VIEW);

Filefile=newFile(aFile.getAbsolutePath());

//取得文件名

StringfileName=file.getName();}

4.1.5按照不同扩展名打开部分代码及注释

//根据不同的文件类型来打开文件

if(checkEndsWithInStringArray

(fileName,getResources().getStringArray(R.array.fileEndingImage)))

{

intent.setDataAndType(Uri.fromFile(file),"image/*");

}

Elseif

(checkEndsWithInStringArray(fileName,getResources().getStringArray(R.array.fileEndingAudio)))

{

intent.setDataAndType(Uri.fromFile(file),"audio/*");

}

elseif

(checkEndsWithInStringArray(fileName,getResources().getStringArray(R.array.fileEndingVideo)))

{

intent.setDataAndType(Uri.fromFile(file),"video/*");

}

startActivity(intent);

}

该段代码主要实现了文件浏览器针对不同扩展名的文件调用不同的打开方式来执行文件,文件的不同扩展名是已经放置在我们的文件浏览器的配置文件中,其已经设置了一些文件扩展名格式、例如我们的音乐文件是mp3格式,这样的话,当文件浏览器打开了不同类型的文件,这时候文件浏览器就可以调用相应的程序来运行这些扩展名的文件。

这样文件浏览器的可扩展性能就会大大的提高了,同时我们还为一些其他扩展名的文件预留号了相应的应用接口,这样当用户扩展了相应的文件格式,我们就可以通过接口来实现文件的一些扩展。

大大的方便了用户。

4.1.6创建文件浏览器菜单部分代码及注释

publicbooleanonCreateOptionsMenu(Menumenu)

{

super.onCreateOptionsMenu(menu);

menu.add(0,0,0,"新建目录").setIcon(R.drawable.addfolderr);

menu.add(0,1,0,"删除目录").setIcon(R.drawable.delete);

menu.add(0,2,0,"粘贴文件").setIcon(R.drawable.paste);

menu.add(0,3,0,"根目录").setIcon(R.drawable.goroot);

menu.add(0,4,0,"上一级").setIcon(R.drawable.uponelevel);

returntrue;

}

//新建文件夹

publicbooleannewFolder(Stringfile)

{

FiledirFile=newFile(this.currentDirectory.getAbsolutePath()+"/"+file);

try

{if(!

(dirFile.exists())&&!

(dirFile.isDirectory()))

{

booleancreadok=dirFile.mkdirs();

if(creadok)

{this.browseTo(t

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

当前位置:首页 > 自然科学 > 物理

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

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