ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:792.34KB ,
资源ID:18282302      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18282302.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(文件管理器设计与实现方法Word文件下载.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

文件管理器设计与实现方法Word文件下载.docx

1、关键词:android操作系统;java高级语言;eclipse开发平台;安卓文件管理器 现在随着信息技术的高速发展,智能手机的市场越来越红火。随着智能手机制造成本的下降,越来越多的用户都能够拥有一部自己的智能手机。尤其是基于安卓系统的智能手机,由于制造成本小,性价比好,让很多移动用户体会到了实惠,但是,由于Android系统本身没有提供文件管理的功能,如果要查看存储在手机SDCard上的文件就没有办法,以及写邮件时上传附件,以及上传文件等文件同步应用,这时候我们就需要文件浏览功能,但是Android本身并没有给我们提供这个功能,为此就要我们自己实现。为此我设计了如下一款基于安卓的文件管理器,

2、本项目主要实现了文件的分类管理,文件排序,文件的增加,删除,复制,粘贴,剪切,修改及多选等功能。Abstract now with the rapid development of information technology, intelligent mobile phone market is more and more prosperous. As smartphones as a decline in the cost of manufacturing, more and more users to be able to own a smartphone. Based on Andro

3、id smartphones, in particular, due to the small manufacturing cost, cost performance is good, let many mobile users understand the benefits, however, because the Android system itself does not provide the function of file management, if you want to view the stored in the file, there is no way to on

4、the phones SDCard, and write email to upload attachments, and upload files and file synchronization USES, this time we need to file browsing, but Android itself does not provide us with this feature, this will be our own. this project mainly realizes the classification of file management, file sorti

5、ng, the increase of the file, delete, copy, paste, shear, modification and alternative, etc.Keywords: android operation system; Java advanced language; eclipse development platform; Android file manager前 言现在,智能手机用户基本上普及了男女老少,大到七八十岁的爷爷奶奶,小到刚刚三四岁的小孩子,公交车上,公园里,地铁上,火车上到处可见手拿智能手机看电视,看电子书,玩游戏的男男女女。总之,现在智能

6、手机现在普及很广,不论年龄大小,都会用,都在用。与电脑相比较而言,电脑的笨重,易于携带,给用户带来很多不便,导致有些工作来不及处理,以至于影响员工的工作,进而影响整个公司的效率,降低整个企业的竞争力。尤其是基于安卓系统的智能手机,以其便宜,超高的性价比赢得了很多用户的青睐。智能手机兴起之前,我们常常看电视,上网,都要用到电脑或者电视。它们很是笨重,携带非常不方便。而这种种,我们都离不开文件管理器,不管是安卓系统本身自带的系统文件,还是用户自己的视频文件,照片,电子书等等,都需要一个工具来有序管理。另外,人们对于智能手机文件管理功能的个性化的要求也在随着数据的爆炸逐步增加,以便于更好更快地适应社

7、会的飞速发展,满足自己工作的需要。就业压力、同行的竞争也要求智能手机的管理功能越来越适应时代的快节奏,对用户起到更重要的帮助。但是安卓系统本身没有带有文件管理系统。因此,我们需要给它设计一款适合的用来管理各种文件的工具,也就是我要做的文件管理专家,即文件管理器。它为广大安卓用户提供了方便的可视化的文件管理UI界面。操作简单,方便,易懂,适宜各个年龄段的的人群使用,给他们带来学习、工作上的便利。1. Android开发环境1.1安卓系统(Android)简介 Java是一种简单,易理解,相对较容易掌握的的高级编程语言,它是sun公司在1995年推出的。面向对象是它最主要的特点,所谓面向对象是相对

8、于面向过程而言的,即Java语言编写的程序的执行动作都要依赖于具体的某一个对象,完成某一项功能,首先考虑的不是要怎么做,而是考虑我们需要通过哪一个具体的对象来完成这项功能。Java的第二个显著特点,便是它的跨平台可移植性,即首先把源程序编译成对应的以.class结尾的字节码文件,然后通过Java虚拟机来执行字节码文件。第三个显著特点是Java舍弃了c+语言的指针特性,采用了更灵活好用的引用功能,Java语言的接口特性实现了多重继承,弥补了Java类只能单继承的缺陷。垃圾回收也是Java语言的显著特性,所谓的垃圾回收指的是,Java程序运行完后,那些不再被引用的对象所占用的堆内存空间被直接回收,

9、从而及时释放堆内存空间,以供其它程序运行用。1.2开发Android应用程序采用Java语言的优势Android是一种开源的操作系统,主要适用于移动设备,如智能手机和平板电脑,由谷歌公司领导及开发。随着智能手机普及安卓系统得到了迅速的发展,2012年11月数据显示,安卓占据全球智能手机操作系统市场76%的份额。中国市场占有率为90%。目前,全世界采用这款系统的设备数量已经达到了10亿台。安卓的普及也给相关的软件开发带来了机会。像地图,新闻,音乐等都推出了安卓的应用软件;开发人员根据不同的需求设计开发了不同的手机应用,大受用户的追捧。当然还有很多奇思妙想的应用等待着开发人员的开发。技术上,Jav

10、a的语言规范,一整套由web向下的框架,分类齐全的API,JVM的灵活性和可重构性都是其他语言无法比拟的。开发上,Java程序员数量很多,入门相对容易,市场占有率较高,使用范围较为广泛,发展潜力也是很大。Java程序可以在多种不一样的环境中使用,仅仅需要一次编译,就可以随时运行。利益上,Java有相对稳定的联盟关系(apache ,IBM ,SUN,oracle),现在虽然联盟内有些不够朋友的,比如oracle,但是他们是相互依存,产品互补性还是很大的。当然还有良好的开源社区环境。2. 系统需求分析及设计最近几年来,信息技术发展越来越快,智能手机发展非常迅速。市场上的非智能手机基本上销声匿迹。

11、基于安卓系统的智能手机与基于iOS系统的苹果智能机相比,安卓以其便宜的价格,可视化用户界面,好用的操作,及开源的操作系统,得到了更多更广的用户的支持和使用。智能手机与普通手机相比,增添了很多新功能,可以看高清视频,2g,3g,4g,WiFi上网。看电子书,可以自己安装各种软件。实现了很多以前非智能及实现不了的功能。基本了手机替代了电脑的功能。但是,即便是有了这么多的功能,但是,安卓智能手机并不是十全十美,因为它没有系统自带的文件管理系统。无法管理繁多的文件。因此,对于安卓系统来说,急需一款用来管理系统自身的工具软件。用来管理手机上的越来也多的文件。实现有序,分类管理。要实现文件的添加,修改,和

12、删除等功能,还有与此相关的布局知识。3. 概要设计3.1 开发设计原理文件管理器分别实现了两种浏览文件的方式,一种是网格布局GridView,如图4-1所示,另一种实现的是列表布局ListView,如图4-2所示。这两种浏览模式显示图片的方式都是基于ViewPage,ViewPage主要是达到不同页面的跳转,实现滑动的效果;在ViewPage中嵌套ImageView类,显示各类文件的图标。在Android中,我们可以通过事件处理使UI与用户互动。具体形式则是以事件监听器的方式來“监听”用户的动作。Android提供了非常良好的UI事件处理机制。View是绘制UI的类,每个View对象都可以向A

13、ndroid注册一个事件监听器。每个事件监听器都包含一个回调方法,这个回调方法主要的工作就是回应或处理用户的操作,。进行界面跳转的时候就需要用到Activity和Intent类来进行跳转。由于界面跳转的代码相似,只是目标Activity不同而已。管理器将手机上的各类文件资源保存入R文件中,具体实现对相应文件的操作是通过手机上已安装的第三方应用程序来处理的。比如,手机本地的视频文件会通过已有的暴风等软件来打开。3.2 主要实现的功能点击手机桌面上的快捷方式进入到主界面后,屏幕上方会显示出主界面、音乐、视频、图片四个按钮。点击相应的按钮会自动进入相应的文件界面,另外,由于两种浏览模式显示图片的方式

14、都是基于ViewPage,ViewPage主要是达到不同页面的跳转,实现左右滑动的效果,所以滑动跳转到不同的文件界面。在主界面中,实现了网格布局GridView和列表布局ListView,在上面所提到的四个按钮之下的图标实现了返回上一级、多选、返回手机桌面、粘贴、新建文件夹、切换浏览模式的功能。在此页面上长按文件或者文件夹的图标会弹出一个对话框供用户进行相应的具体操作,而在音乐、视频、图片界面中显示的是只是显示了单一的各种文件,因此只是实现了的列表布局,这样的效果是界面比较清晰,方便查找,长按文件图标便会出现处理方式的提示。4. 系统功能模块设计与实现4.1 系统主界面模块该界面的网格布局Gr

15、idView,如图4-1所示,列表布局ListView,如图4-2所示。这两种浏览模式显示图片的方式都是基于ViewPage类来实现的,ViewPage主要是达到不同页面的跳转,实现滑动的效果;主界面模块由多个Activity组成,进行界面跳转的时候就需要用到Activity和Intent来进行跳转。由于界面跳转的代码相似,只是目标Activity不同而已,这里以设置界面为例,说明跳转的一般步骤。首先需要设置监听动作,在实现的接口中复写onClick()函数,当用户进入主界面后进行操作点击桌面上的图标,虚拟机会按照程序根据用户的操作相对应的处理,也就是用户点击音乐、视频、图片的按钮时,虚拟机会

16、根据不同的监听事件有switch语句完成选择跳转到用户选择的界面。下面就是实现该功能的程序: switch (index) case 0: return mFileBrowser; case 1: return mMusicFileBrowser; case 2: return mVideoFileBrowser; case 3: return mImageFileBrowser; default: return null; 该界面展示了本软件所具备的功能,每个模块均可以正常使用。该应用程序启动时,即activity开始时会声明一些变量存储数据,虚拟机会把手机本地的不同的资源文件放入相应的li

17、st集合中共不同函数调用,实现具体的操作,如: private List myViews;/定义私有的List集合对象,集合的范型为Viewactivity的生命周期开始需要通过init()函数初始化要调用的布局文件,生成音乐(mMusicFileBrowser)、视频(mViewFileBrowser)、图片(mImageViewBrowser)的对象,获取焦点完成后,主界面的activity的生命周期结束,要跳转的下一个activity的生命周期开始。文件浏览的模式本文是通过与activity类似设置监听事件,因为有两种浏览方式,需要设置多个监听,这样增加代码了的重复。这一是个程序人员应该

18、避免的地方,当然也可以通过switch的参数来判断的,这样会更简便。无论是用哪种方式实现,两个页面之间的跳转还是多个页面之间的跳转,它们之间的信息交互是很重要的环节。实现网格浏览方式如下图所示:图4-1 主界面文件网格显示实现列表浏览方式如下图所示:图4-2 主界面文件列表显示 4.2 显示音乐模块在音乐模块中,程序运行时,虚拟机将本地的所有的音乐文件名字放入准备好的mListView集合中,并保存在R文件中,以供FileItemForOperation类使用,FileItemForOperation生成的对象fileItem调用R文件中的整型音乐数据以列表的形式显示在手机界面中,如图4-3。

19、主要核心代码如下: public MusicFileBrowser(Context context) /实现浏览音乐文件功能 super(context);/调用父类的构造方法 initView();/调用方法初始化View子控件 mViewMode = ViewMode.LISTVIEW;/初始化浏览模式public void onResume()/获取焦点 if (!onResume) /判断是聚焦 QueryData(new File(/mnt/), true, FileFilter.MUSIC);/刷新数据 onResume = true;/设置参数 private void init

20、View() /初始化控件的方法 图4-3显示音乐文件模块mView = mInflater.inflate(R.layout.music_browser, null);/初始化View控件 mListView = (ListView)mView.findViewById(R.id.lvMusicList);/初始化本控件 mListView.setOnItemClickListener(this);/设置监听器 Override public void QueryData(File preFile,boolean clear,FileFilter filter) /查询数据 super.Qu

21、eryData(preFile,clear,filter);/继承超类的方法 mListView.setAdapter(mItemsAdapter);/设置ListView适配器 public void onItemClick(AdapterView parent, View view, int position, long id) /点击条目监听 FileItemForOperation fileItem = mData.getFileItems().get(position); clickFileItem(fileItem);4.3显示视频模块在视频模块中,虚拟机将会将本地的视频文件,以.

22、avi,.mp4,.mkv,.flv等结尾的文件放入mListView集合中,并保存在R文件中,对象mViewMode首先依据switch语句判断LISTVIEW与GRIDVIEW,然后以不同的后缀名子的文件类似音乐文件显示在视频界面中,如图4-4。图4-4 显示视频文件该模块实现功能的核心代码如下:onResume) /判断), true, FileFilter.VIDEO);/查询刷新数据private void initView() /初始化view子控件mView = mInflater.inflate(R.layout.video_browser, null);/初始化View对象m

23、ListView = (ListView)mView.findViewById(R.id.lvVideoList);/生成列表布局对象mListView.setOnItemClickListener(this);mGridView = (GridView)mView.findViewById(R.id.gvVideoList);/生成网格布局对象mGridView.setOnItemClickListener(this);mGridView.setNumColumns(MainActivity.mScreenWidth / 160);/设置网格显示大小mGridView.setVisibili

24、ty(View.GONE);/隐藏控件GridView不显示 4.4显示图片模块在显示图片模块中,类似视频模块虚拟机会将本地的图片资源放入mListView集合中,对象mViewMode首先依据switch语句判断LISTVIEW与GRIDVIEW,使用已经存在R文件中的图片资源,一般手机中的图片资源往往会比较多,以列表的形式是不太方便查找,因此以网格布局显示在手机上,如图4-5。图4-5显示图片模块4.5实现新建文件夹功能模块该模块展示了新建文件夹功能,点击首页当中的新建文件夹按钮进入新建文件夹模块,手机屏幕中会显示一个对话框,如图4-6所示。启动创建文件夹命令时虚拟机会调用newFolde

25、r函数,并且在newFolder函数中嵌套使用自定义的comparator函数自动的把键入的文件夹的名字与该目录下的文件夹名字进行比较,如果键入的名字已存在,便会显示提醒对话框提醒用户重新键入文件夹的名字。该功能通过if(folder.exists()的判断语句执行的。如下:if(folder.exists()responseHandler.sendMessage(responseMsg(NEWFOLDER_FAILED,FAILED_REASON_FOLDER_HAS_EXIST); return; 创建文件夹完成后,新的文件夹的名字便会保存到本地数据中,供用户以后查询或者进行其他造作。本管

26、理器通过comparatorByName函数实现了按照文件夹的名字的顺序自动的排列文件夹,排列顺序可以自己去定义。图4-6 新建文件夹界面4.6实现多选功能模块本管理器有一个新的功能,那就是实现了将一个文件同时复制到多个文件夹中,当选中一个文件或者文件夹,即执行完doCopy()函数后,点击菜单栏的多选按钮,会以Toast的方式显示进入多选状态的对话框,这里用到了安卓里面的Toast类,如图4-7,然后选中多个文件夹,所选中的文件夹的名字会以不同的字体形式显示,此时执行粘贴命令多个文件或文件夹的复制便完成。图4-7 实现多选界面4.7实现下拉列表模块当用户想要对手机中的一些文件或者文件夹进行操

27、作时,用户只需在手机屏幕中长按想要操作的文件或者文件夹,变会弹出一个下拉列表,如图4-8所示。该下拉菜单是通过在Menu类的对象调用自定义的allSelect()、doOpen()、doCopy()、doPaste()、doMove()、doDelete()、doRename()函数操作手机本地文件,分别实现了全选(Select All),打开(Open),复制(Copy),剪切(Cut),删除(Delete)等功能。当用户完成想要完成的操作后,虚拟机会自动的刷新数据。具体实现的语句如下:menu.add(0, MENU_SELECT_ALL, Menu.NONE, R.string.menu

28、_select_all);/全选menu.add(0, MENU_OPEN_AS, Menu.NONE, R.string.menu_open);/打开menu.add(0, MENU_COPY, Menu.NONE, R.string.menu_copy_selected);/复制menu.add(0, MENU_CUT, Menu.NONE, R.string.menu_cut_selected);/剪切menu.add(0, MENU_DELETE, Menu.NONE, R.string.menu_delete_selected);/删除图4-8 下拉列表界面4.7.1实现粘贴功能:

29、在该模块中实现了粘贴功能,此时用到了java中与文件相关的Filer类,以及相关的各种方法,也涉及到了多线程的知识。虽然粘贴命令只有一个,但是虚拟机在处理的过程中需要进行一下判断,如果是文件直接用FileInputStream类与FileOutPutStream类将需要执行的文件导入用户指定的文件目录中。如果是文件夹,则需要用递归的方式不停的判断文件类型才能完成相关操作。相关的核心的代码如下: private void doPaste(CopyOperation type)/粘贴 if(DEBUG)Log.i(TAG, paste currPosition= + currPosition);

30、currOperationType = type;/当前操作类型 FileItemForOperation fileForOperation = mSrcToDir.get(currPosition);/创建文件条目对象 if(fileForOperation != null)/判断是否为空 FileItem fileItem = fileForOperation.getFileItem(); File fromFile = new File(fileItem.getFilePath();/创建文件对象 /如果复制的是文件夹 if(fromFile.isDirectory()/判断是否是文件夹 if(!addFi

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

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