为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

自愿离婚协议书(和平分手)

2017-09-01 2页 doc 12KB 581阅读

用户头像

is_302978

暂无简介

举报
自愿离婚协议书(和平分手)基于android的文件浏览器开发与实现 论文分类号: TN 学校代码: 13681 HAOJING COLLEGE SHAANXI UNIVERSITY OF SCIENCE , TECHNOLOGY () 题目: 基于Android的文件浏览器开发与实现 姓 名: 学 号: 指导教师: 班 级: 系 部: 信息工程系 二〇一〇年十一月 I The Development And Realize of Filebrowser On Android ABSRRACT 3G era has slow...
自愿离婚协议书(和平分手)
基于android的文件浏览器开发与实现 论文分类号: TN 学校代码: 13681 HAOJING COLLEGE SHAANXI UNIVERSITY OF SCIENCE , TECHNOLOGY () 题目: 基于Android的文件浏览器开发与实现 姓 名: 学 号: 指导教师: 班 级: 系 部: 信息工程系 二〇一〇年十一月 I The Development And Realize of Filebrowser On Android ABSRRACT 3G era has slowly integrated into our daily lives, as the country's communications policies and major operators of the impact of propaganda, 3G mobile phones have been everywhere, face of the global information technology unprecedented rapid development of high-speed development of information it is a sign of social progress. In today's global information, mobile phones have become an indispensable daily part of life, especially in the rapidly changing electronic products today, we usually ubiquitous in electronic products, mobile phone users is undoubtedly one of the largest sets, the major smartphone manufacturers of electronic markets is still a bright star. Representative has the promise of which Nokia's Symbian system, Motorola's Linux system, but is still one of the sudden emergence of Google's Andriod open source system for its simplicity and ease of operation must be the future leader in the field of smart phones. We chose this graduation Andriod-based file browser will make our work in the future to provide more opportunities. With the continuous development of new technologies and applications of Java technology developed rapidly in recent years, a Java application of new technology-based revolution is booming. Andriod-based software development is a prospect of great technology, through the graduation project, we can design the software to the actual experience of the software development process, improve our professional competence, team after team co-operation We can learn teamwork, and ultimately able to obtain a strong expertise. KEY WORLD: file browser, Android platform, Java technology II 基于Android的文件浏览器的开发与实现 摘 要 3G时代已经慢慢的融入了我们的日常生活,随着国家的通信政策以及各大运营商的宣传的影响,3G手机已经随处可见,面对全球信息、技术空前高速发展,信息高速化发展更是社会进步的一个标志。在全球信息化的今天,手机已经成为人们日常生活中不可缺少的一部分,尤其是在电子产品日新月异的今天,我们在平时随处可见的电子产品中,手机无疑是一个最大的用户集,而各大厂商智能手机则依旧是电子市场的一颗耀眼的明星。其中的代表作有诺Nokia的塞班系统,摩托罗拉的Linux系统,但是其中异军突起的仍然是Google的Andriod系统以其开放的源代码和方便简洁的操作必然是未来智能手机领域的领头羊。这次毕业设计我们选择基于Andriod的文件浏览器一定会使我们在以后的工作中提供更多的机会。 随着新技术的不断开发与应用,近年来Java技术发展十分迅速,一个以Java应用为主的新技术革命浪潮正在蓬勃兴起。而基于Andriod的软件开发是一个前景很大的技术,通过这次毕业设计,能使我们从对软件的设计中体会到实际中软件开发的过程,提高我们的专业能力,经过小组团队的合作,我们能学到团队精神,最终能够获得很强的专业知识。 关键词:文件浏览器,Android平台,Java技术 III 目录 1 绪 论 .................................................................. 1 2文件浏览器可行性分析 .................................................... 2 2.1开发前景 .......................................................... 2 2.2市场可行性 ........................................................ 2 2.3技术可行性 ........................................................ 2 1.3.1Android技术: ............................................... 3 1.3.2Android应用程序组成 ......................................... 6 1.3.3Java技术简介 ................................................ 8 3文件浏览器的需求分析 ................................................... 14 3.1目的 ............................................................. 14 3.2项目意义 ......................................................... 14 3.3产品背景明细 ..................................................... 14 3.4本工程描述 ....................................................... 14 3.5应用环境 ......................................................... 14 3.6开发环境 ......................................................... 15 3.7系统组件的搭建 ................................................... 15 3.8 Android一些专有名词 ............................................. 16 4文件浏览器的总体设计 ................................................... 18 4.1总体设计概述 ..................................................... 18 4.1.1项目目的 ................................................... 18 4.1.2项目模块分配 ............................................... 18 4.2基本功能要求 ..................................................... 19 4.3扩展功能需求 ..................................................... 19 4.4性能需求 ......................................................... 19 4.5安全保密需求 ..................................................... 19 4.6项目进度安排及要求 ............................................... 20 4.7项目各模块简介 ................................................... 21 4.7.1本地模块简介 ............................................... 21 4.7.2远程模块简介 ............................................... 21 4.7.3视图查看模块简介 ........................................... 21 4.7.4文件传输模块 ............................................... 21 IV 5基本功能模块设计 ....................................................... 22 5.1功能模块设计概述 ................................................. 22 5.2文件浏览器的各项功能 ............................................. 22 5.2.1资源管理功能 ............................................... 22 5.2.2任务管理功能 ............................................... 22 5.3其他功能 ......................................................... 23 6项目测试 ............................................................... 25 6.1项目部分代码以及注释 ............................................. 25 6.1.1文件目录显示代码及注释 ..................................... 25 6.1.2返回上一级目录代码及注释 ................................... 27 6.1.3浏览指定目录代码及注释 ..................................... 27 6.1.4代开指定文件及以扩展名打开部分代码及注释 ................... 28 6.1.5按照不同扩展名打开部分代码及注释 ........................... 28 6.1.6创建文件浏览器菜单部分代码及注释 ........................... 29 6.2项目测试部分 ..................................................... 30 6.2.1文件的几种基本操作图示 ..................................... 30 总结 .................................................................... 32 致谢 .................................................................... 33 参考文献 ................................................................ 34 毕业设计说明书(论文)缩写稿 .............................................. 35 The Abbreviation Version of the Thesis of Undergraduates ................ 39 基于android平台文件浏览器的研究与实现 1 1 绪 论 目前android平台手机渗透到我们生活,20世纪末,电子技术获得了飞速的发展,在其推动下,基于android平台手机的现代电子产品在我们生活的各个角落都能见到,有力地推动了社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。基于android平台手机的发展趋势,本设计以android平台手机为核心制作了一个文件浏览器。 本次设计运用android平台手机作为研究开发对象,配合Java语言程序设计以及面向对象思想设计了一种手机文件浏览器。本设计完成后,能够实现以下功能:文件的浏览、文件属性的修改、文件的一些基本操作,一些远程模块的调用、根据不同文件扩展名来实现文件只能的打开,同时给以后的一些实用软件留下了借口、可以实现与手机之间的通讯。以及电脑之间的共享。 在设计时,按照设计的要求,从可靠性、经济性、安全性三个方面进行考虑,通过设计的比较,确定出来一套即经济又可行的方案。 本次设计是对所学知识的综合运用,把理论知识和实践相结合。在本次设计与检验过程中遇到了许多实际问题,比如android平台手机及其运行环境的选择,不熟悉myeclipse和eclipse软件的使用方法,不熟悉开发技巧,可能会发生一些微小功能不能实现、软件运行不稳定,如何设计软件的最佳外观效果等。所有的这些问题,我们都通过查阅资料,咨询老师一一解决了,为设计的成功提供了保障。 本文通过方案确认,介绍了设计中所用到的技术、开发思想,以及android平台的简介,通过清晰的程序图,给程序的理解提供了方向。还介绍了程序调试软件和硬件调试软件,最后对本设计的软件做了一个概述。 2 2 文件浏览器可行性分析 2文件浏览器可行性分析 2.1开发前景 随着新技术的不断开发与应用,近年来Java技术发展十分迅速,一个以Java应用为主的新技术革命浪潮正在蓬勃兴起。而基于Andriod的软件开发是一个前景很大的技术,然而市面上基于Android的文件浏览器虽然有不少种,各种的文件浏览器都能实现文件浏览的功能的应用,但是由于版本繁多,开发思路不同,加之Google开放的源代码,Android的SDK的版本不同,API不同使得各种文件浏览器的版本、实现的功能也进而不同。所以基于Android的文件浏览器卡发显得非常必要,以下基于几方面介绍关于基于Android文件浏览器的各个方面的可行性分析。 到今年6月,全世界已经有大约1亿部Android手机在使用,除中国大陆外共有53个移动运行商正式推出了基于Android技术的无线数据增值服务。中国移动通信集团已经建立了无线Android增值服务体系,并推出了“百宝箱”等服务品牌,包括游戏百宝箱、娱乐百宝箱、商务百宝箱、生活百宝箱等,已经于2003年7月10日开始正式商用。 2.2市场可行性 随着科技的发展信息时代的到来,3G技术发展日益成熟随之而来的是3G手机的出现,基于Android操作系统的手机市场逐渐发展壮大,愈来愈多的人选择谷歌的Android手机逐渐形成一种趋势,因此这个市场的商业价值很高,所以我们选择开发基于Android平台的文件浏览器,由于普通手机用户的手机都是应用Symbian操作系统所以都有手机自带的文件管理功能,而Android系统中却找不到相关的功能提示,正是出于这样的原因我们决定研发文件浏览器,我们所研发的文件浏览器不但支持本地文件管理,方便用户对手机和SD卡上的文件/文件夹进行各种操作,还提供了任务管理,程序管理功能,用户随时查看当前的任务进程,或者卸载手机中的应用程序。除此之外我们的浏览器还提供本地和远程网络共享功能,用户可以通过本地共享,FTP远程和蓝牙等三种模式,用户可以在手机远程在移动和桌面终端之间分享文件,传输操作;软件能独立打开媒体文件,浏览图片,编辑文本,甚至可以远程播放媒体文件。因此我们的研发具有巨大的商业价值是一个历史性的进步,这样可以在很大程度上增加Android手机用户的市场份额。 所以从市场角度来看,十分有必要开发基于Android的文件浏览器。 2.3技术可行性 我们已经系统的学习过Java技术,并且对软件的开发流程有一定的了解,进而学习了与Android相关的一些技术,以及一些简单的xml技术,随着对这几种技术的掌握,结合市场上基于Android的文件浏览器种类虽然繁多,但真正能让用户满意的缺少的情 3 基于Android平台的文件浏览器研究与实现 况,从技术角度我们决定开发基于Android的文件浏览器。 本项目需要用到Sun公司开发的Java技术以及Google公司开发的Android技术在Myeclipse环境下进行开发。下面对Android技术以及Java技术进行简单的介绍和必要的阐释。 2.3.1Android技术: (1)Android简介 android一词的本义指“机器人”,当时同时Android也是Google于07年11月5日宣布的基于Linux平台开源手机操作系统名称,该平台由操作系统、中间件、用户界面和应用软件组成,Android是基于JAVA并运行在Linux内核上的操作系统,这个操作系统是轻量级的,但是功能很全面。而且在这个操作系统上,Google公司已经内置了很多有用的软件,如打电话、发短信等,号称是首个为移动终端打造的真正开放和完整的移动软件。 2008年9月22日,美国运营商T-Mobile USA在纽约正式发布第一款Google手机——T-Mobile G1。该款手机为宏达电制造,是世界上第一部使用Android操作系统的手机,支持WCDMA/HSPA网络,理论下载速率7.2Mbps,并支持Wi-Fi。Android 是Google开发的基于Linux平台的开源手机操作系统。它包括操作系统、用户界面和应用程序 —— 移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。谷歌与开放手机联盟合作开发了 Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达和 T-Mobile 在内的 30 多家技术和无线应用的领军企业组成。通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,我们希望借助建立化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。我们认为此举必将推进更好、更快的创新,为移动用户提供不可预知的应用和服务。 运用android的File类里面的各种方法来对文件进行操作。 文件浏览器主界面的设计:运用android的View来对文件浏览器的主界面进行布局。使用现行布局与表格布局来对文件浏览器的菜单进行布局。可以是有android的一些布局小工具 Android平台包括一个被 Android 系统中各种不同组件所使用的 C/C++ 库集,Linux 内核也同时作为硬件和软件堆栈之间的硬件抽象层,下面进行全面的说明介绍。 (2)Android在中国 截至目前,国内三大运营商、中兴通讯和华为等厂商以及来自产业链细小领域的业务提供商都已经加入该联盟,据统计,OHA的中国成员数量已达到12家,占据总成员席位的近1/5。 “应该说,谷歌公司的强大号召力在中国得到了很好体现,前瞻的技术、可靠的价值链、持续的创新意识让中国很多企业一致看好Android。”GartnerIT系统高级分析师沈哲怡表示。 4 2 文件浏览器可行性分析 广东移动数据部人士也表示,“Android在实践‘免费’经营模式的同时,也为移动终端领域的后进入者打开了一扇大门,彻底的开源和免费无疑是降低了市场进入门槛。”从产业发展角度看,Android产业在中国的迅速蔓延本质上也存在一定的市场需求。在加入OHA的中国成员中,无论是终端厂商还是业务提供商。 在终端领域的市场份额并不占据优势,而国内运营商对手机定制的紧密程度也与国外相差甚远,因此中国成员大部分都充当了全球市场挑战者的角色。另外,还有一个群体值得关注——山寨手机产业,尽管其身份还有颇多质疑,但从规模和经济收益角度。 中国的山寨产业已经成为手机市场不可忽视的“潜在力量”,但受制于成本和正版的限制,手机山寨产业对于手机操作系统的渴求更加强烈。但无论是对正牌或山寨的手机制造商、业务提供商还是电信运营商而言,他们的瓶颈都在于“拥有自主开发的手机操作平台并非易事”,即便是处于产业核心层面的电信运营商也不例外。 一位从事智能手机应用软件开发的杨姓项目经理告诉记者,开发手机操作平台是一项庞大的工程,“靠公司规模和资金实力并不能解决这一难题,这项工程考验的是企业对网络和IT技术的理解力和创造力”。 而谷歌适时推出的开源、免费的手机操作平台Android正好满足了这一市场需求,为产业链相关企业提供了延伸业务领域的可能性,更为移动互联网领域的后进入者提供了开拓市场的有力武器。 android在中国的前景十分广阔,首先是有成熟的消费者,在国内,android社区十分红火,这些社区为android在中国的普及做了很好的推广作用。国内厂商和运营商也纷纷加入了android阵营,包括中国移动,中国联通,华为通讯,联想等大企业,同时不仅仅局限于手机,国内厂家也陆续推出了采用android系统的MID产品,比较著名的包括由Rockchip和蓝魔推出的同时具备高清播放和智能系统的音悦汇W7,我们可以预见android也将会被广泛应用在国产智能上网设备上,将进一步扩大Andorid系统的应用范围。另一方面,由于国内政策的限制,导致Android的部分功能(如Android market)在国内无法正常使用,目前常用的解决方法是使用类似A8VPN的VPN服务来访问。 OHA的成员可以任意使用和修改Android的SDK文档进行再开发,由此形成适应自身业务需要的“定制版本”。Android的这种开源特征很快得到了中国运营商的响应,中国移动、中国联通、中国电信相继加入OHA联盟。“在OPhone的研发中,中国移动对Android平台的上层应用、界面风格以及按键设置进行了大量修改。 替换了很多与中国移动自身增值业务相冲突的业务应用,使中国移动的自身属性得以体现,这是Android的开放性所致。也是运营商选择Android的理由。”前述广东移动人士表示。据了解,中国联通基于Android平台的Uphone也在紧张研发当中。 “Android平台的技术结构比较紧凑,市场推进有张有驰,再加上谷歌公司长期具备的创新精神,确实值得国内很多厂商信赖。”前述分析师沈哲怡表示。据了解,国内 5 基于Android平台的文件浏览器研究与实现 终端厂商和运营商看好Android,很大程度上也是因为其背后推动者谷歌对互联网趋势的深刻见解;同时也因为Android具备合理的系统内核设计,并拥有成熟的市场推广模式。 而在这方面,同样是倡导“开放”的开源平台Linux,其市场表现却与Android有着天壤之别。截至2009年,Linux应用在桌面操作系统中只占据1%的市场份额,始终难成操作系统的主流。 专家对此表示,仅仅是技术开源还不够,如果操作系统开发企业缺乏必要的市场化运作和整体推动力,忽视用户界面体验,最终其产品将无人问津,而Android在此方面则是一个成功案例。 据了解,谷歌近年来还积极推进版本更新,不断完善其系统性能,在2010年1月13日,谷歌公布了Android2.1版本的SDK文档,也就是说开发人员甚至可以对谷歌自有品牌手机NexusOne进行修改和业务程序开发,有外媒评论,“此举真正体现了Android平台的开放和平等”。 而在Android的设计理念中,开放和平等也有所体现。“开放性接口为应用程序的研发提供了一个宽阔平台,业务提供商不必担心技术垄断造成的压迫和威胁。”前述杨姓项目经理表示。 其实Android平台的很多底层技术取自Linux,而在底层技术流的选择上,大部分的程序开发人员骨子里都有一种“反Windows”观念,“如果让一种技术处于长期垄断地位是十分可怕的,垄断者的轻微举动会对产业上下游造成很大影响,因此大部分技术人员会更倾向于开放的Android。” 而从系统整体性角度,Android平台也提供了完备的解决方案,OHA的成员甚至可以拿来直接使用。如此讨巧的平台设计在中国迅速聚拢了一批通信领域的“明星企业”,像华为、中兴这类专注于通信领域,但已具备IC(集成电路)能力的厂商能够凭借此平台快速切入终端领域,降低成本且缩短了研发时间。 巨头的选择让OHA在中国的发展更加明朗——华为、中兴、联想等国内终端厂商以及国内三大运营商的加盟,让很多产业相关环节的厂商看到了趋势,于是,代工厂商、芯片厂商以及手机配套应用厂商源源不断地加入其中。“很明显,谷歌的开放模式既然得到了产业链主要成员的认可,那些不具有话语权的小厂商当然也会紧紧跟随,它们认为‘巨头’往往代表产业发展趋势,如果不及时跟进,难免就会掉队,比如来自中国台湾地区的联发科、宏基、威盛、富士康、华硕都已经成为了OHA的成员,“中国台湾地区属于电子产品的高密地区,拥有很多手机代工商和芯片制造商,因此这种特征也尤为明显”。 Android 应用程序框架开发者也完全可以访问核心应用程序所使用的API框架。该应用程序用来简化组件软件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。 6 2 文件浏览器可行性分析 该应用程序重用机制使得组件可以被用户替换。 2.3.2Android应用程序组成 以下所有的应用程序都由一系列的服务和系统组成,包括: 一个可扩展的视图(Views )可以用来建应用程序,包括列表(lists),网格(grids),文本框(text boxes),按钮(buttons),甚至包括一个可嵌入的web浏览器 内容管理器(Content Providers )使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据。 一个资源管理器 (Resource Manager)提供非代码资源的访问,如本地字符串,图形,和分层文件( layout files )。 一个通知管理器 (Notification Manager)使得应用程序可以在状态栏中显示客户通知信息。 一个活动类管理器 (Activity Manager)用来管理应用程序生命周期并提供常用的导航回退功能。 有关更多的细节和怎样从头写一个应用程序,请参考 写一个 Android 应用程序 部分。 Android 程序库Android 包括一个被 Android 系统中各种不同组件所使用的 C/C++ 库集。该库通过 Android 应用程序框架为开发者提供服务。以下是一些主要的核心库: 系统 C 库 - 一个从 BSD 继承来的标准 C 系统函数库( libc ),专门为基于 embedded linux 的设备定制。 媒体库 - 基于 PacketVideo OpenCORE;该库支持录放,并且可以录制许多流行的音频视频格式,还有静态印像文件包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG。 Surface Manager - 对显示子系统的管理,并且为多个应用程序提供2D和3D图层的无缝融合。 LibWebCore - 一个最新的web浏览器引擎用来支持Android浏览器和一个可嵌入的web视图。 SGL - 一个内置的2D图形引擎 3D libraries - 基于OpenGL ES 1.0 APIs实现;该库可以使用硬件3D加速(如果可用)或者使用高度优化的3D软加速。 FreeType - 位图(bitmap)和向量(vector)字体显示。 SQLite - 一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。 (1)Android 运行库 Android 包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik是针对于同时高效地运行多个VMs来实现的。Dalvik虚拟机执行.dex的Dalvik可执行文件,该格式文件针对最小内存使用做了优化。该虚拟机是基于寄存器的,所有的类都经由JAVA汇编器编译,然后通过SDK中的dx工具转化成.dex格式由虚拟机执行。 7 基于Android平台的文件浏览器研究与实现 Android上的应用程序可以通过标准 API 访问核心移动设备功能。它最大的特点就是与互联网紧密联系,在该系统上运行的大部分程序都依赖于互联网,这保证了信息的实时更新。配合上手机中自带的WIFI网络模块可以让手机一尺处于高速网络下。但是由于目前中国正处在2G通信技术和3G通信技术的过渡期,因此全部依赖于网络的Android或许不能表现出所有的性能和便利,因此中移动推出了基于该系统修改的OMS操作系统,OMS系统的底层和Android完全相同,只是在界面层经过中国人审美观的定制,并去除了Google的各种服务,加入了中移动的服务,因此对于高速网络的依赖性也不是特别强了。 与目前的智能手机平台霸主Symbian相比,反应快,界面好,支持的程序也多,有着众多实力雄厚的手机制造商和程序开发商作为坚实的后盾。最重要的是支持多任务并行处理。 至于前景问题,由于Google的先期大力推广,加上众多手机制造商的极力配合,基于Android操作系统的设备更是层出不穷,甚至著名的Windows Mobile手机制造商HTC已经公开称在2010年将会把基于该系统的智能手机的出货量调节至总出货量的50%或者更多。 Android 运行库 Android 包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik是针对于同时高效地运行多个VMs来实现的。Dalvik虚拟机执行.dex的Dalvik可执行文件,该格式文件针对最小内存使用做了优化。该虚拟机是基于寄存器的,所有的类都经由JAVA汇编器编译,然后通过SDK中的dx工具转化成.dex格式由虚拟机执行。 Dalvik虚拟机依赖于linux的一些功能,比如线程机制和底层内存管理机制。 Linux 内核Android 的核心系统服务依赖于 Linux 2.6 内核,如安全性,内存管理,进程管理,网络协议栈和驱动模型。 Linux 内核也同时作为硬件和软件堆栈之间的硬件抽象层。未来发展 老牌智能手机软件平台制造商Symbian发言人则表示:Google的android只不过是另一个linux,symbian对其它软件与其形成的竞争并不感到担心。除了北美之外,Symbian在其它地区智能手机市场都占有大部分市场份额。 与iPhone相似,Android采用WebKit浏览器引擎,具备触摸屏、高级图形显示和上网功能,用户能够在手机上查看电子邮件、搜索网址和观看视频节目等,比iPhone等其他手机更强调搜索功能,界面更强大,可以说是一种融入全部Web应用的单一平台。 但其最震撼人心之处在于Android手机系统的开放性和服务免费。Android是一个对第三方软件完全开放的平台,开发者在为其开发程序时拥有更大的自由度,突破了iPhone等只能添加为数不多的固定软件的枷锁;同时与Windows Mobile、Symbian等厂商不同,Android操作系统免费向开发人员提供,这样可节省近三成成本。 8 2 文件浏览器可行性分析 在我的理解中,对开发者来说,写J2SE的程序和J2ME的程序相比,最大的区别不是他们API或者是其他一些规则、限制等的不同,更多的是两者程序界面(或者说UI)方面的区别。 我们写任何一段程序,都是需要有UI的,因为我们的程序最终是给用户去用的,即使我们写了一个工具,没有任何显式IO,我们也还是需要暴露必要的方法来提供别人使用,在此情景下,这些方法似乎也可以看作是UI。 对J2SE来说,一般都不会需要GUI,因为我们很少去写SWING、SWT程序,即使Sun力推的JavaFX,好像涉及的也不多,而对于 J2ME来说,最大的困难可以就是那些GUI的实现,以及如何将程序的功能绑定到那些界面上,从界面中接收用户的输入,或者是用合适、合理的方式向界面输出,无论是通过文本,或是曲线、图形。 同理,如果有J2EE的经验,服务后台的代码往往是相对易读、易懂、系统并且内聚的,这些代码看起来是如此的和谐、整洁、干净。而如果涉及到界面,就会陡然复杂的多,即使各种各样的framework试图要解决View与Model、Control的协作问题,结果却让大家更加的迷惑于各种配置之间。总是有GUI的程序都会看起来有些凌乱同样,对于Android开发来说,用户界面的实现应该是比较重要的和复杂的一环。好消息是,到目前为止,“Google没有发现其他更好的用户界面实现方式,所以说如果有HTML设计经验,或者说有Swing,Flash等图形设计经验,那么理解Android的UI设计,会容易的多,甚至会有似曾相识的感觉。 AbsoluteLayout,绝对定位的布局方式,在它内部嵌套的元素必须指定具体的位置。 FrameLayout,帧布局方式,说帧不太容易理解,可以说成是层布局方式,也就是说,在它内部的元素,是一层一层的叠加在一起的。如果用过Photoshop,或者 Flash,这里面的层的概念是和他们一致的。如果最上层的元素是不透明的,并且比下面的元素尺寸要大,那么将看不到下面的元素,只能看到顶层元素。这些层的顺序是:最新声明的放到最前面。可以这样理解,Android按文件的书写顺序来组织这个布局,先声明的放在第一层,再声明的放到第二层,„,最后声明的放在最顶层。 LinearLayout,线性布局方式(真不知道这该怎么翻译,其实很多技术名词还是不翻译的好),这种布局比较常用,也比较简单,就是每个元素占一行,当然也可能声明为横向排放,也就是每个元素占一列。 RelativeLayout,相对定位的布局方式,这个比较好玩,在元素的位置的时候,使用相对位置,可以相对其他元素,也可以相对这个布局,就像我说:我现在站在pawa和 tempest的中间;或者说,我站在队伍的中间。前者就是相对其他元素来定义位置,后者是相对整个布局来定义位置。 1.3.3Java技术简介 到今年6月,全世界已经有大约1亿部Java手机在使用,除中国大陆外共有53个 9 基于Android平台的文件浏览器研究与实现 移动运行商正式推出了基于Java技术的无线数据增值服务。中国移动通信集团已经建立了无线Java增值服务体系,并推出了“百宝箱”等服务品牌,包括游戏百宝箱、娱乐百宝箱、商务百宝箱、生活百宝箱等,已经于2003年7月10日开始正式商用。 世界各大移动通讯设备制造商都推出了自己基于Java的移动通讯设备,Nokia、Motorola、Sony Ericsson、Samsung、LG、NEC、HTC等等都有自己的Java认证手机在市面上流通,这是的Java在很大范围上有了发展。 中国联通公司也正在其CDMA 1X网络上建立无线Java增值服务体系,目前系统正在建设过程中,并且2003年9月26日中国联通、北京振戎融通公司和Sun公司在人民大会堂宣布联合发起成立“UniJava技术联盟”,三方将在联通CDMA 1X网络上的Java增值服务方面全面合作。 J2ME现称为JavaME(JavaPlatform,MicroEdition)是为机顶盒、移动电话和PDA之类嵌入式消费电子设备提供的Java语言平台,包括虚拟机和一系列标准化的JavaAPI。它和JavaSE、JavaEE一起构成Java技术的三大版本,并且同样是通过JCP(JavaCommunityProcess)制订的。目前阶段,JavaME最流行的应用是游戏软件。因为与需要昂贵的专用设备和开发工具的竞争对手(如索尼和任天堂)相比,JavaME程序可以在PC机上开发和仿真运行,然后很容易地部署到目标机上,从而使其开发、测试和发布的变得容易 (1)Java程序的基本结构: Java程序的基本结构有:类、类的属性、对象、方法、组成,其中公共类名必须与Java源程序名相同,其命名规则为每个单词首字母大写,不能以数字开头。必须声明类属性的数据类型。 java要求文件名与类名相同,将多个类放在一起时,要保证类名不能重复。当声明的类很多时,类名就有可能冲突,这就需要一种机制来管理类名,这就是包。 在源程序中可以声明类所在的包,就像保存文件时要说明文件保存在哪个文件夹中一样。同一个包中类名不能重复,不同包中可以有相同的类名。 当源程序中没有声明类所在的包时,Java将类放在默认包中,即运行编译器的当前文件夹中。这时,不能出现重复的类名。 Java下的包都是用来解决类的重名问题的,一般的命名方式都是采用域名倒置的方法,例如package com.baidu; 在Java源程序的头部第一个语句用关键字package声明包,指明该源文件定义的类所在的包。包声明格式如下:package 包名;这个语句的作用范围是整个源文件,而且同一个package声明可以放到多个源文件中,所有定义在这些源文件中的类和接口的.class文件都属于这个包。包名由“.”来分隔。 我们一般都是使用Sun公司已经写好的包,例如一个源程序创建的时候,系统自动默认导入java.lang包,进而进行控制台的输出,如果要进行程序的控制台输入。则必 10 2 文件浏览器可行性分析 须导入java.util.Scanner包等等。 (2)Java中的接口: 所谓接口可以看作是没有实现的方法和常量的集合。接口与抽象类相似,接口中的方法只是做了声明,而没有定义任何具体的操作方法。使用接口是为了解决Java语言中不支持多重继承的问题。 接口可以供其他的类来实现,如果一个类要实现一个接口,就必须实现这个接口下的所有方法,在实现接口时,要实现所有接口中定义的所有方法,方法的实现可以具有具体的实现内容,也可以是空的方法,即只有方法名或参数,没有变量,没有具体操作语句,只有一对打括号{ }的空方法。 (3)继承的概念: 类是具有继承性的。继承一般是指子女从父母那里得到父母所拥有的东西。在程序设计中,在已有类的基础上构造一个新的类,这就称为继承,也可称作派生。继承而得到的类称为原来类的子类或派生类。原来的类称为父类或超类。类的继承具有传递性。子类对父类的继承关系体现了现实世界中特殊和一般的关系。通过继承可以更有效地组织程序结构,明确类与类之间的关系,并且可以充分利用已经写好的类,实现软件模块的重用。Java中的继承是通过extends关键字来实现的。在类定义的时候,在类名后面用extends来指明新定义类的父类,这样就在两个类之间建立了继承关系。Java的继承只能是单继承,一个类最多只能有一个父类,所以extends后面只能有唯一的一个父类名。两个类之间能否建立继承关系首先要看父类能否被子类访问。如果该类被public修饰,则可以被任何类继承;否则该类只能由同包类继承。此外,还要看该类是否被关键字final修饰,能不能派生子类。子类可以把父类的成员当作自己的成员,如果子类要调用父类中成员,就像调用自己的成员一样直接调用,或者用super关键字。 子类继承父类之后,子类对象就拥有了父类的成员。继承并不是把父类成员复制到子类。而是在程序执行加载类时,父类和子类分别加载各自的成员,当在生成子类对象时才把父类成员复制到子类对象。 定义好一个类就要创建它的对象。系统会自动调用构造函数对所属成员变量进行初始化。继承自父类的子类对象创建分三步,先调用超类的构造函数初始化父类成员,再执行子类构造函数对子类成员进行初始化,最后完成子类对象的创建。 构造函数只能由系统自动调用,如何在生成子类对象时调用父类的构造函数呢,调用父类的构造方法有两种形式。一是子类可以在自己的构造方法中使用super()来显示调用父类构造方法,但必须是子类构造方法的第一个可执行语句。第二种情况,如果子类构造方法中没有显式调用父类构造方法系统默认调用父类无参构造方法。如果父类没有无参构造方法,则编译出错。所以通常会在父类中显式定义无参构造函数。 子类对象的成员分两部分,继承自父类的成员和子类自己定义的成员。子类对象的成员使用也是先生成子类对象再用对象的引用加“.”操作符调用。子类对象能否继承 11 基于Android平台的文件浏览器研究与实现 父类成员还由访问控制符决定。父类成员的访问控制符会影响到子类能否继承父类的成员。根据父类成员的访问控制符不同,有的父类成员可以被子类继承,有的则无法被继承。如果父类和子类在同一个包中,子类可以继承父类中除private成员外的其他成员;如果父类和子类不在一个包中,子类只能继承被public和protected修饰的成员。父类中的private成员变量不能被子类直接继承,但可以通过相关的方法间接访问。 继承的作用:体现类的层次关系、实现多态、代码重用。 (4)Java中的最终类: 在Java中被final声明的类,称为最终类,它不能再被其他类继承。通常一些有特殊作用的、用来完成标准功能的类,被定义成final的类,可以将它的内容、属性和功能固定下来,与它的类名形成稳定的映射关系,从而保证引用这个类时所实现的功能准确无误。比如说,涉及到系统运行的System类就被定义为final类。同时,我们自己在写程序的时候出于安全性的考虑也会把一些类定义为final类,防止别人通过字节码文件继承程序中的类,改变类的功能破坏程序。 (5)多态的定义: 多态是指拥有相同的形式,但根据不同的情形拥有不同的机能的特性。比如加运算,在数值运算中出现做加法,在字符串运算中出现做字符串的连接。这就是多态的一种表现。 Java中提供两种多态的机制:编译时多态性和运行时多态性。编译时多态性是通过方法重载实现的。重载就是在一个类中定义多个名字相同但参数不同的方法。在编译阶段,编译器会根据方法调用时传入的参数个数和类型决定调用哪个重载方法。而由方法覆盖实现的动态多态性称为运行时多态。也就是在父类和子类中定义名字参数完全相同的方法,程序调用哪一个方法,是由程序运行时调用方法的对象类型决定的,这就是运行时多态。 (6)Java中的类重载: 在同一个类中有多个名字相同但参数列表不同的方法,称这些方法是重载的。参数列表不同是指参数数目、类型、顺序不同。如果仅仅是参数名不同,系统不认为这是方法的重载,会把他们看作是同一个方法,编译不能通过。修饰符和返回类型可以不同也可以相同。系统只会根据参数列表不同自动调用相应的方法。 (7)方法重写: 子类拥有与父类相同的成员称为覆盖,分为变量的隐藏和方法的覆盖。数据成员的隐藏是指在子类中重新定义一个与父类中已定义的数据成员名完全相同的数据成员,即子类拥有了两个相同名字的数据成员,一个是继承父类的,另一个是自己定义的。当子类要操作继承自父类的同名数据成员时,可使用关键字super引导。但当子类执行继承自父类的方法时,处理的是父类的成员变量。 子类可以重新定义与父类格式完全相同(包括方法名、方法形参的个数和类型、方 12 2 文件浏览器可行性分析 法返回值的类型)的成员方法,实现对父类方法的覆盖,否则就不是方法的覆盖,而是子类定义自己特有的方法,与父类的方法无关。覆盖的方法必须提供与被覆盖方法相同或更大的访问权限。static方法只能覆盖为static方法。如果想访问被覆盖的父类成员就只能在子类中用关键字super来调用。被final修饰的最终方法不能被覆盖。当子类执行覆盖的方法时,调用的是子类的成员方法。 (8)重载与重写的区别 方法的覆盖是子类和父类之间的关系,是垂直关系;方法的重载是同一个类中方法之间的关系,是水平关系。覆盖是由一对方法产生的关系;方法重载是多个方法之间的关系。覆盖要求参数列表相同;重载要求参数列表不同。在覆盖关系中,具体调用哪个方法体,是根据对象的类型来决定的;重载关系是根据调用时的实参表与形参表来选择方法体的。 (9)Java程序文件的编译过程 Java程序的基本结构有:类、类的属性、对象、方法、组成,其中公共类名必须与Java源程序名相同,其命名规则为每个单词首字母大写,不能以数字开头。必须声明类属性的数据类型。Java源文件***.java经过javac编译之后会生成虚拟机可执行的类文件***.class。 Java文件经过编译后的.class文件就可以给Java虚拟机(JVM)来执行了,不同操作系统有不同的虚拟机,而不同操作系统生成的.class文件就可以实现跨平台 图1-1 可行性分析图 13 基于Android平台的文件浏览器研究与实现 图1-2 技术可行性分析图 从以上几点可行性分析来看,目前十分有必要开发一种基于Android的文件浏览器来满足市场的需求,这样子既方便了用户又给自己了一个实战的机会。 14 3 文件浏览器需求分析 3文件浏览器的需求分析 3.1目的 本需求分析的目的是规范化本软件的编写,旨在于提高软件开发过程中的能见度,便于对软件开发过程中的控制与管理,同时提出了本软件开发过程,便于组员与客户之间的交流、协作,并作为工作成果的原始依据,同时也表明了本软件的共性,以期能够获得更大范围的应用。 我们所研发的文件浏览器不但支持本地文件管理,方便用户对手机和SD卡上的文件/文件夹进行各种操作,还提供了任务管理,程序管理功能,用户随时查看当前的任务进程,或者卸载手机中的应用程序。除此之外我们的浏览器还提供本地和远程网络共享功能,用户可以通过本地共享,FTP远程和蓝牙等三种模式,用户可以在手机远程在移动和桌面终端之间分享文件,传输操作;软件能独立打开媒体文件,浏览图片,编辑文本,甚至可以远程播放媒体文件。 3.2项目意义 随着信息的高速发展手机已变的越来越普及尤其是智能手机,基于Android操作系统的手机就是在这样的趋势下逐渐一步步的走入我们的生活,因此,我们选择这样的研究课题最主要的一点是看在它的潜在市场价值,另外一个方面就是团队合作由于这次研发不是一个人完成而是一个团队所以团队合作很重要,这是研发成功的关键所在。所以我们这次最重要的目标是培养团队合作的精神这也是我们完成毕业设计的前提,一个团队一定要凝成一股劲朝着一个方向前进这才是团队协作,这次虽然每一个人所做的部分不相同但最终我们都是为了同一个目标将文件浏览器研发成功,团队可以让每一个成员变得成熟稳重可以使每一个人的能力得到充分的体现。 3.3产品背景明细 软件名称:基于Android的文件浏览器 3.4本工程描述 软件开发的目标:通过开发基于Android的文件浏览器,能给广大Android用户提供一个安全的,功能强大的,易于操作的,便于管理的高性能浏览器。 3.5应用环境 Android手机系统,版本Android1.1以上,系统推荐配置为400MHz处理器、128MB RAM、3.0英寸屏幕或更大屏幕;,或者是升级到Android 3.0的系统推荐配置为1GHz 处理器、512MB RAM、3.5英寸屏幕或更大屏幕;的广大手机用户 15 基于Android平台的文件浏览器研究与实现 3.6开发环境 操作系统目前只支持XP(32-bit)、Vista(32/64-bit)、Mac OS X 10.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基金会。 3.7系统组件的搭建 首先必须要有Android的AWT组件以及Google官方发布的Android的SDK1.1以上,最好是1.5或者2.2版本的SDK。 首先必须要给Myeclipse打上Android的插件,是的能有运行Android工程的平台,与开发Android的源代码。开发Android应用程序最简捷的方式是下载Android SDK和Eclipse IDE。Android 应用程序是用 Java 语言编写的,只要结合Eclipse 的 Android Developer Tools 插件就可以开发Android应用程序了,不过它是在Dalvik VM(非Java虚拟机)中编译和执行的(这个在上文中也有介绍)。Eclipse提供了一个丰富的Java环境,Java代码通过编译后,Android Developer Tools 执行打包的工作,其中包括AndroidManifest.xml文件。 当然了,不用Eclipse也能开发Android应用程序,但是你需要熟悉Android SDK。Android SDK是一个ZIP文件,可以把它解压到硬盘上的一个目录中。SDK包括:android.jar Java 归档文件,其中包含构建应用程序所需的所有的 Android SDK 类。documention.html 和 docs 目录 本地和网上提供的 SDK 文档。这些文档的主要形式为 JavaDocs,以便于在 SDK 中导航大量的包。文档还包括一个高级开发指南和 16 3 文件浏览器的需求分析 Android 社区的链接。Samples 目录:Samples 子目录包含各种应用程序的源代码,包括 ApiDemo,该应用程序演示了很多 API。这个示例应用程序可以作为 Android 应用程序开发的良好起点。Tools 目录:包含所有用于构建 Android 应用程序的命令行工具。最常用、最有用的工具是adb实用程序(Android Debug Bridge)。usb_driver该目录包含将开发环境连接到支持 Android 的设备(例如 G1 或 Android Dev 1 解锁开发手机)所需的驱动程序。只有 Windows 平台的开发人员才需要这些文件。Android 应用程序可以在实际的设备上运行,也可以在 Android SDK 附带的 Android Emulator 上运行。 综上所述过程如下:配置ADT,只有配置了ADT插件和Android SDK,才可以进行Android项目的开发。ADT的配置:第一步,打开eclipse, 双击eclipse.exe,点击OK,;第二步,在eclipse中,选择“help->Install New Software”->点击 “add”->选择“Archive...”,并选中ADT-0.9.1.zip文件,点击“OK”->选中 “Developer Tools”,点击 “Next”->点击 “Finished” -> 完成后,选中 接受条款,点击“Finished”,直到完成。完成后,会重新启动eclipse。配置Android SDK(图3.1至图3.14 )在eclipse中,依次选择“Window->Preferences” -> “Android”,会出现图3.12的窗口,将警告的窗口关闭->选择android sdk 的目录(由解压),如图3.13,点击确定 ->点击“Apply”, 点击“OK”,配置完成,又回到eclipse的初始界面。 3.8Android一些专有名词 (1)固件(操作系统) 所谓的固件就是将操作系统固定在手机中的一个固定的位置(硬件上),平时不随意改动,活动的数据另外单独放一边。这样做的目的在于保护内层的系统程序不受文件操作的影响,提高了稳定性。但相对的,如果想要升级系统,就必然涉及对固件的读写更新工作。谷歌的Android系统就被写入在了固件中,即使想要查看也要专门的软件和权限。 (2)刷固件(重装操作系统) 正是因为固件固定的原因,在我们想要更新系统的时候。就需要将原固件的文件删掉,将新的文件拷进去。于是就有了刷固件这么一回事。就像Windows安装系统一样,把安装盘放进去就可以直接安装。 (3)ROM(系统的安装盘) 这个东西就是系统的打包。我们刷机的时候就是将这个东西刷进固件的。当然,由于系统的开源性质,我们可以自由的改动这个包。 (4)固件版本 由于是谷歌公司在专门开发这个系统,官方放出的话必然是所有G友手机升级的风向标固件版本就是官方制定的基础系统,所有的改包都会从官方的包开始改。所以官方 17 基于Android平台的文件浏览器研究与实现 的一次升级必然会影响整个手机系统的使用情况。就像现在大家都在用XP,微软放出了一个补丁包,于是大家都去升级了。 (5)ROOT Root是一个你使用系统的权限,是最高的,有了root权限就可以更改内部系统的文件了。为了防止软件更改系统文件(病毒),系统隐藏了root权限,也就是一般情况下不能修改系统文件。但是。。我们要刷机。所以我们就要取得Root权限 18 4 文件浏览器的总体设计 4文件浏览器的总体设计 4.1总体设计概述 4.1.1项目目的 本项目旨在给用户提供一个,友好,方便的手机浏览器,提供给用户一些查看,实现文件的复制、剪切、删除、标记、重命名、详情(属性)、新建、发送到、属性设置(共享、隐藏、密码保护)、收藏、存储状态、加密,不同文件调用不同其他软件。针对音乐、图象填加使用功能。图象:设壁纸、屏幕保护、联系人头像、填加新联系人,设分组头像、编辑图象;音乐:设铃声、信息提示、闹钟、日历提醒、聊天室。如有可能填加蓝牙(手机访问手机、电脑访问手记),上传网络,添加到邮件功能。 本项目能为用户提供最基本的文件浏览,相关文件调用:例如文件相关路径的设置、路径的更改,可以最大限度的体现文件浏览器的最基本的功能,使文件浏览器的性能在目前配置下最大程度的提升。相关程序调用:例如用户选择图片文件,相关扩展名为.jpg或.jpeg或.bmp或.png或.jif进而调用图片产看器来对图片进行查看,如果用户选择的是以.mp3或.wmv或.mid为扩展名的音乐文件则调用音乐播放器来对文件打开,对文件的扩展名来进行智能匹配,这样就使的文件浏览器的各项扩张性能有最大限度的提升,能使手机扩展更多的文件、应用,我们还在定期的对文件浏览器进行版本的更新升级,及时的设置新的文件匹配扩展,这样如果有新的应用或者格式的文件,我们就能在很短时间内与其兼容,可以说我们的文件浏览器是一个永不过期的文件浏览器应用。小型局域网的组建:如果用户选择的是文件远程共享模式,则调用文件浏览器来与远端的计算机来进行文件传输,利用wap(无线网络访问协议)协议进行小型局域网的组建,进行文件共享、文件传输,可以极大的扩展手机的可玩性、共享性。。文件传输模式是指当用户设置文件传输模式的时候,启动本地蓝牙模块,用蓝牙与其他终端进行ftp通信,用ftp(文件传输协议)来对文件进行收发、手机与计算机只讲进行通信、进行手机与手机终端的通信、建立连接可以进行文件的传输、建立游戏互联,可以极大的扩展手机的可玩性、共享性。 4.1.2项目模块分配 小组将我们的项目分成四个模块:本地模块,远程模块,视图查看模块,文件传输模块,其中我负责本地模块,我们要在文件浏览器里面实现文件浏览的基本功能,文件的的浏览,文件的更名,文件属性的修改,文件的加密,文件的编辑,文件的隐藏,与其他模块的互动,发送文件发送,文件的一些基本功能的浏览 文件浏览器的基本功能模块的开发会用到Java.io包下的file类,该类继承与Object类,实现了Java.io下的接口Serializable以及Java.lang 下的接口。 19 基于Android平台的文件浏览器研究与实现 4.2基本功能要求 1(系统文件与用户应用文件及应用程序切换。采用树结构,列表,缩略图显示,排序(日期、大小、格式、名称)、文件拖拽。 2(搜索功能(调用输入法)。 3(基本控制操作:向上,前进,撤消。 4(不同文件调用不同其他软件。针对音乐、图象填加使用功能。图象:设壁纸、屏幕保护、联系人头像、填加新联系人,设分组头像、编辑图象;音乐:设铃声、信息提示、闹钟、日历提醒、聊天室。 5(如有可能填加蓝牙(手机访问手机、电脑访问手记),上传网络,添加到邮件功能。 6(亮点优势:采用树结构、文件拖拽、属性设置(共巷、隐藏、密码保护)、撤消。 4.3扩展功能需求 1(操作系统整体运行速度更快,尤其是浏览器。 2(浏览器支持双击屏幕进行缩放。 3(Facebook好友整合至联系人功能。 4(整个系统多出都支持语音控制,并拥有独立的控制面板。 5(谷歌地图服务更新。 6(支持微软Exchange邮件服务。 7(整合多个不同用户,提供统一的邮件收件箱。 8(双击就能上传图片至YouTube。 4.4性能需求 1. 系统是免费的开放源代码。 2. 屏幕分辨率很高。 3. 系统是可以刷机的刷机很方便 最初的1.5到1.6到2.0到2.6到3.0系统更新很快 。 4. 播放视频方面android相对流畅。 5. android的拍照功能白天强晚上差 。 4.5安全保密需求 程序进程更安全;在Android基于Linux建立的应用平台上,每个程序都独立运行,无法在默认模式下自行读取、输入数据或编码到其他程序中。每个程序都相对独立恰恰是一种独有的鉴定标识符,这就需要用户响应才允许程序下一步操作。 因此,Linux用户很难获得超级管理员用户帐户那么大的权力对电脑或网络做出系统性危害。同样, 20 4 文件浏览器总体设计 Android应用平台上的默认程序功能也受到了严格限制。就如同Linux把由影响一个单 独笔记本电脑用户的病毒危害性降到最低一样,Android也控制住了某个自身程序的潜 在危害性。 4.6项目进度安排及要求 表3-1 项目进度及安排 周 设计(论文)任务及要求 次 1-3 搜集Android相关资料了解课题研究内容的 4 进行总体的方案设计给每一个成员分配相应任务 5-8 每一个成员根据自己负责的相应功能进行研究设计 9 将每一个成员负责的功能进行整合 10 检测整合完成的文件浏览器发现其中的缺陷 11 进行最终的系统调试 12 汇总资料,准备终期答辩 图3-1 项目模块分配图 21 基于Android平台的文件浏览器研究与实现 4.7项目各模块简介 4.7.1本地模块简介 基于Android文件浏览去基本功能模块的实现,是要实现基于android的文件浏览器的一些基本功能,像文件浏览器的文件列表的创建,实现文件浏览功能,文件打开功能,文件属性修改,文件夹加密,文件夹解密,文件隐藏,文件显示,文件浏览器的菜单自动显示,新建文件夹,删除文件夹,修改文件夹的属性,隐藏文件夹,显示隐藏文件夹,新建文件,删除文件,以及主界面的设计与开发实现。 4.7.2远程模块简介 远程模块是提供手机与计算机远程通信,利用文件浏览器与远端计算机实现同步通信,这样手机的操作性,以及文件的共享性就很大程度上提高了,另外还可以在计算机上同步手机相关核心文件,以便手机相关文件的备份,删除,修改,与本地模块相辅相成,例如:想备份手机电话本或收集系统文件就可以利用远程模块来同步手机的通讯录到远端计算机,这样就解决了手机备份通讯录和系统文件的弊端,为手机系统节省了资源,提高了手机效率,通过3G,WiFi,GPRS等方式来访问远程的FTP服务器,远程查看图片,视频等多媒体文件。极大的方便了Android手机用户使用文件浏览器访问远程的FTP服务器,使得Android手机的功能更加的全面。 4.7.3视图查看模块简介 视图查看模块是一个GUI界面,是直接展示给用户观看效果的模块,这对用户对界面的友好性有一定的难度,我们采用了树形菜单的和小图标的图形用户界面,这样的话就能很好的解决了图形用户界面。使文件操作更人性化使文件操作更快捷使文件操作功能更完善。 4.7.4文件传输模块 文件传输模块,是用来解决手机与手机的通信的,利用文件浏览器与其他手机通过蓝牙来进行通讯,这样的手机的操作性,文件的可移植性就还可以利用蓝牙来进行手机之间的通信例如局域网的聊天,局域网之间的文件传输,这样的话就可以将一些好的文件进行在本地之间的文件共享,像好朋友之间共享喜欢的音乐、视频、图片 22 5 基本功能模块设计 5基本功能模块设计 5.1功能模块设计概述 基本功能模块的实现是要实现基于android的文件浏览器的一些基本功能,像文件浏览器的文件列表的创建,实现文件浏览功能,文件打开功能,文件属性修改,文件夹加密,文件夹解密,文件隐藏,文件显示,文件浏览器的菜单自动显示,新建文件夹,删除文件夹,修改文件夹的属性,隐藏文件夹,显示隐藏文件夹,新建文件,删除文件,以及主界面的设计与开发实现。 文件浏览器的主界面由最上方的文件管理位置、中上方的导航标签栏和下方的显示栏内容构成。用户通过本地位置,可以管理当前手机和SD卡上的文件;通过共享位置,管理在局域网内的其他终端上的文件;通过远程位置,访问FTP服务器上的内容。 导航模式:第一个房子图形的标签为主目录。用户可以长按文件夹的方式,设置任意文件夹为主目录。这样,大家在运行文件浏览器时,其会自动跳转到该主目录的文件夹下。默认主目录为SD卡的文件夹,即/sdcard/。 多选模式:这相当于PC键盘的Ctrl键,可以分别选择不同的文件进行操作。如果希望选中该文件夹下的所有文件,可以长按该标签,直到出现“全选/全不选”为止。 搜索功能:用户可以通过此功能选择搜索类型或者输入关键词的方式,搜索SD卡上的内容;而最后一个标签是视图切换功能,用户可以在图标横排和列表状态下选择。 用户可以通过长按文件/文件夹的方式,选择一系列操作方式。如常见的打开、剪切、复制、删除、重命名、全选、压缩、发送、属性等。 在这里提到的发送,和通常大家在手机上显示的发送功能不同,因为其不是通过彩信、蓝牙、红外线等,而是以Gmail和邮件的方式发送该文件;此外,其提供zip和gz两种压缩格式,通过压缩文件的格式,为用户留出更多的可用空间。 5.2文件浏览器的各项功能 5.2.1资源管理功能 此功能类似PC平台上的资源管理器。用户只需按menu键,选择应用管理,软件将载入程序列表。用户可以通过卸载、备份和创建快捷方式等方法,管理当前手机中的应用程序。这大大地节省了用户从手机自带的应用管理中查看的刷新时间。 5.2.2任务管理功能 除了应用管理功能外,软件还提供了任务管理功能。此功能类似PC平台上的任务管理器,而且需要单独下载该组件。用户通过此功能,可以随时查看手机上当前的任务进程,无论是该任务进程显示在前台、后台、还是空置、可见,均一目了然。用户在运行任务管理后,可以在众多程序中进行切换,终止该进程以节省出内存,卸载第三方应 23 基于Android平台的文件浏览器研究与实现 用程序,查看该进程的属性。小编认为其终止进程功能,可以在一定程度上加快手机运行,并且让用户清清楚楚地知道手机当前的运行情况。 5.3其他功能 与其他手机软件类似,文件浏览器的设置功能还是丰富多彩的。从主题内容到布局设置,从视图变更到偏好设置,处处体现了文件浏览器提供给用户个性化的服务。比如我们为了随时了解SD卡的存储情况,打开了SD卡容量在地址栏上的显示。 用户在文件浏览器的设置功能中,还可以看到其实验产品——蓝牙选项。Android Rom在2.0以下的版本,需要首先拥有最基层的root权限才可以使用。用户在开启该功能并打开蓝牙后,就可以其他蓝牙终端,访问该终端中的资料。 文件浏览器还提供了本地和远程网络共享的功能。用户可以通过本地共享、FTP远程和蓝牙等三种模式,用户可以在手机远程在移动和桌面终端之间分享文件,传输、操作;软件能独立打开媒体文件,浏览图片,编辑文本,甚至可以远程播放媒体文件。 图4-1 本地模块用例图 在文件浏览器的本地基本功能中我们实现了文件的基本浏览功能,其中包括文件的拷贝、文件隐藏、文件删除、文件发送、文件更名、文件粘贴、文件编辑、文件发送、 24 5 基本功能模块设计 文件接收功能,实现了相关文件的调用、给相关软件的调用预留了借口,同时实现了文件浏览器的一些自身的扩展。当我们启动文件浏览器的时候,系统会自动的进入默认的目录。来显示这个根目录下的所有文件及文件夹、同时按照不同的文件类型文件扩展名来自动识别文件,给文件分配不同的图标,这样的话用户只要看到我们显示给用户的很容易识别的小图标,就会很快的知道目前目录下有那些类型的问价,那些是可以使用的,那些是音乐文件,那些是图片文件,这样对用户来说就很容易的对问价进行分类,也有利于用户寻找目标文件、选择文件。有了分类显示文件,只要用户在实际应用过程中有了一定程度的使用经验,对文件浏览器的实用会更加得心应手。 在以上对文件浏览器的本地基本操作模块的描述之后,能使用户在理解文件浏览器浏览器的使用过程上有进一步提升,对本软甲有进一步的了解,能在以后的实际应用中更快的上手,对文件浏览器的最基本最重要的一个模块之一会有一个更加深刻的理解。 25 基于Android平台的文件浏览器研究与实现 6项目测试 6.1项目部分代码以及注释 本章主要介绍本项目的一些代码及注释,最后会展示一部分功能, 6.1.1文件目录显示代码及注释 /** *创建文件列表类 *该类继承于ListActivity使之有文件列表功能 */ public class FileList extends ListActivity { /** *创建文件列表 *列表功能,文件列表功能可以将文件存入列表中 *列表是私有属性,只能自己调用 */ private List items = null; /** *当Android活动第一次启动的时候调用OnCreate()函数 *OnCreat()函数是继承于父类ListActivity */ @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); /** *设置视图的布局格式为线性布局 *创建文件的根目录 *将根目录加入文件列表中 */ setContentView(R.layout.directory_list); fill(new File("/").listFiles()); } /** *设置点击方法 *方法onListItemClick监听文件列表的点击事件 26 6 项目测试 *该方法onListItemClick使受保护的方法 */ @Override protected void onListItemClick(ListView l, View v, int position, long id) { /** *获取到点击行的ID,返回类型为整形 *判断获得的ID是不是为0 *如果获得ID为0则说明选择的是根目录进而显示根目录 *如果ID不为0则没有选择根目录 *传如选择文件列表的ID号 *再次判断ID是不是在文件目录中 *如果文件ID在目录中则调用显示目录方法 *如果不在文件目录里则弹出提示框 *提示语为That's a file, not a directory *用户选择按钮返回false值 */ int selectionRowID = (int) getSelectionRowID(); if (selectionRowID == 0) { fillWithRoot(); } else { File file = new File(items.get(selectionRowID)); if (file.isDirectory()) fill(file.listFiles()); else AlertDialog.show(this, "Not a Directory", "That's a file, not a directory", "Cancel", false); } } 这段程序主要实现了文件浏览器的文件列表显示功能,我们新建了一个类,类名字叫FileList这个类继承与ListActivity这样的话,这个类就有了类似于Java中的List类所实现的功能,能够显示列表,而ListActivity类有继承于Activity类,这个类是android系统的最基本的类之一,有这个类的话,ListActivity就是一个activity,就可以用来显示。而FileList就是一个activity,可以用来显示,而且他还有一些Java 27 基于Android平台的文件浏览器研究与实现 中的List类的相似的功能。 进而设置文件浏览器的布局方式为现行布局,调用文件浏览器源代码的布局文件,在布局文件中设置文件浏览器的布局方式。 接下来就是FileList这个类重写了父类里面的一个方法OnCreat方法,这个方法用于生成程序的界面,当工程的源代码运行的时候,启动虚拟设备,这时就是android的一个activity,所以系统就会找到源代码的的OnCreat方法,生成一个可视的界面。 因为生成的文件目录是用List方式来显示的,这样的话,每个历List就有自己独一无二的Id,当我们点击相应的List列的时候,就会有一个单击监听器对用户的活动进行监听,在监听器中对点击的Id进行判断,如果判断Id是0的话则意味着用户选择的是根目录,如果选的不是根目录就打开相应的文件或者目录。 6.1.2返回上一级目录代码及注释 //返回上一级目录 private void upOneLevel() { if(this.currentDirectory.getParent() != null) this.browseTo(this.currentDirectory.getParentFile()); } 这段代码主要实现了文件浏览器的返回上一层目录的功能,因为在日常的操作中,用户在很多时间里都有这样的需求,那就是在文件浏览完成之后,马上就要返回上一次操作的目录,那么就要是有返回上一层目录这个功能了,设置这样的一个快捷操作能大大的节省用户的一些操作时间。 6.1.3浏览指定目录代码及注释 //浏览指定的目录,如果是文件则进行打开操作 private void browseTo(final File file) { this.setTitle(file.getAbsolutePath()); if (file.isDirectory()) { this.currentDirectory = file; fill(file.listFiles()); } else { 28 6 项目测试 fileOptMenu(file); } } 6.1.4代开指定文件及以扩展名打开部分代码及注释 //打开指定文件 protected void openFile(File aFile) { Intent intent = new Intent(); intent.setAction(android.content.Intent.ACTION_VIEW); File file = new File(aFile.getAbsolutePath()); // 取得文件名 String fileName = file.getName();} 6.1.5按照不同扩展名打开部分代码及注释 // 根据不同的文件类型来打开文件 if(checkEndsWithInStringArray (fileName,getResources().getStringArray(R.array.fileEndingImage))) { intent.setDataAndType(Uri.fromFile(file), "image/*"); } Else if (checkEndsWithInStringArray(fileName, getResources().getStringArray(R.array.fileEndingAudio))) { intent.setDataAndType(Uri.fromFile(file), "audio/*"); } else if (checkEndsWithInStringArray(fileName, getResources().getStringArray(R.array.fileEndingVideo))) { intent.setDataAndType(Uri.fromFile(file), "video/*"); } startActivity(intent); } 29 基于Android平台的文件浏览器研究与实现 该段代码主要实现了文件浏览器针对不同扩展名的文件调用不同的打开方式来执 行文件,文件的不同扩展名是已经放置在我们的文件浏览器的配置文件中,其已经设置 了一些文件扩展名格式、例如我们的音乐文件是mp3格式,这样的话,当文件浏览器打 开了不同类型的文件,这时候文件浏览器就可以调用相应的程序来运行这些扩展名的文 件。这样文件浏览器的可扩展性能就会大大的提高了,同时我们还为一些其他扩展名的 文件预留号了相应的应用接口,这样当用户扩展了相应的文件格式,我们就可以通过接 口来实现文件的一些扩展。大大的方便了用户。 6.1.6创建文件浏览器菜单部分代码及注释 public boolean onCreateOptionsMenu(Menu menu) { 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); return true; } //新建文件夹 public boolean newFolder(String file) { FiledirFile = new File(this.currentDirectory.getAbsolutePath()+"/"+file); try { if (!(dirFile.exists()) && !(dirFile.isDirectory())) { boolean creadok = dirFile.mkdirs(); if (creadok) {this.browseTo(this.currentDirectory); return true; } else{ return false; }}} catch (Exception e) { e.printStackTrace(); System.out.println(e); return false} 30 6 项目测试 return true;} 该段代码主要完成了对自动菜单的操作,在自动菜单中可以进行文件的新建,复制、删除、粘贴、返回文件浏览器的根目录、判断如果是文件浏览器的子目录的话就会有一个新的列表用来显示文件的上一层目录并获得文件浏览器预设的一些小图标。美化界面,实现这些功能的主要是使用了文件浏览器所继承的一些Java包下的类、主要的类有File类,以及android的Listactivity类,创建文件夹的操作、使用File类中的一些方法对文件进行操作、使用listactivity类对文件显示列表进行设置。 6.2项目测试部分 6.2.1文件的几种基本操作图示 图5-1 文件的几种基本操作 文件浏览器的几种基本操作用来给用用户显示用户所需要的几种基本操作,例如文件浏览器对文件的选择、应用程序的卸载、系统文件的备份、系统设定的备份、在其他地方创建快捷方式来方便操作、以及对文件或者目录的属性进行设置、例如我们可以设置文件夹的各种属性、这样就大大的方便了用户对自己文件的操作,例如用户将文件属性设置问隐藏、就有利于用户数据的安全。使得本地数据能够更安全的放置在手机上,真真正正的方便用户,在方便用户的同时,我们也设置了友好的操作界面,用户可以很方便的管理自己手机中的文件。 31 基于Android平台的文件浏览器研究与实现 6.2.2 文件浏览器的任务管理 图5-2 文件的任务管理 在提供给用户基本功能模块的同时、我们也设置了一些在实际应用中比较实用的扩展,例如我们的文件任务管理,在文件任务管理中、我们实现了对文件的切换,根据用户的实用情况、可能在浏览文件的同时也有需要使用其他程序,这样就要用到我们的文件任务管理功能中的切换功能,用户可以切换到其他界面进行操作,同时我们还提供了部分的软件卸载功能供用户使用。 32 总结 总结 在本浏览器的开发过程中,由于本人是初次开发软件,在知识、经验方面都存在着不足。另外,在整个开发的过程中,时间也比较仓促。因此,该系统必然会存在一些缺陷和不足。因为对浏览器的整个流程不够熟悉,在需求分析时未能做到完全满足用户的需求。在本次开发过程由于硬件的限制,未能实现网络功能,因此在以后的系统更新过程中可能会造成一些不必要的数据损失。 尽管本浏览器存在着很多不足,但其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好等优点是本管理系统所必需的。在这次课程设计中的最大收获并不是掌握这几门开发工具的应用,而是学会了设计系统的思维方法。 在整个设计过程中,我们遇到了很多困难,但是在邱晓荣老师的悉心教导和我们组员的共同努力下,我们完成了软件制作和论文纂写,在此期间我深入学习了软件的开发流程、团队项目组建、Android、Java语言程序设计等方面的书籍,所以收获颇大。我始终相信毕业设计是我们大学当中的最后也是最重要的一个环节,通过这些理论知识的学习和实验,不仅锻炼了动手能力,而且加强了合作意识,使我受益匪浅,为我们的四年大学生活画上一个圆满的句号。 在设计和实验过程中,我们提出问题,解决问题和分析问题的能力得到了提升。但是仍然存在一些问题,如有些详细功能没有实现,软件外观布置不协调,键盘使用不方便等。希望在我以后的学习和工作生涯中继续研究,继续完善。 对Android了解不够,不能很大发挥其语言功能,尤其在编写代码的时候不能够熟练使用,而是到处查阅资料,也不能够很准确的区别出相近功能指令的各自功能特点,使得在本系统的实现过程中,放弃了一些很好的设想和功能,也是一种遗憾。 但是总的来说,这次的课程设计对我来说是一次非常难得的锻炼机会。使我对所学的专业课知识得到了融会贯通,得到了比任何一门课都大的提高和进步。 33 基于Android平台的文件浏览器研究与实现 致谢 近三个月时间的毕业课题设计是我大学生活中忙碌而又充实一段时光。短短的时间里,我学到了很多的东西。不仅学到更多的理论知识,扩展了知识面,提高了自己的实际操作能力;而且学会了如何去学习新的知识,学会了面对困难和挑战,学会了团结合作,互助互利。借此论文之际,向所有帮助、关心、支持我的老师、朋友同学,表达最真诚的谢意。 首先感谢镐京学院四年来对我的培养与教导,特别要感谢我的班主任葛艳艳老师,感谢她四年来对我的关心和照顾,另外,要感谢加中所有的培训老师是她们倾尽心血教会了我所有的知识。 本论文是在邱晓荣老师的耐心指导下多次修改完成的。在此,我对她的耐心指导和帮助表达我最真诚的谢意,感谢他们在这几个月来所付出的努力。在这段时间里,我从她身上,不仅学到了许多的专业知识,更感受到了他工作中的兢兢业业,生活中的平易近人的精神。此外,周老师的严谨治学态度和忘我的工作精神值得我去学习。在此,请允许我对周老师说一声:“老师,您辛苦了~谢谢您!” 。 非常感谢我此次毕业设计的项目组员席玉刚同学、张晋同学、吴大为同学。当我在过程中遇到问题和困难时,感谢他给我提出许多关键性的意见和建议,使我对整个毕业设计的思路有了总体的把握,并耐心的帮我解决了许多实际问题,使我获益良多。 最后,要向远方默默支持、鼓励和关怀我的父母和亲人道声谢谢,尤其是我的父母为我的学业提供了物质和精神支持,没有他们的付出,就没有我的今天。父母及家人无私的爱是我永远的动力。 总之,在以后的学习、工作、生活中我将更加努力,用自己的行动回报社会、学校、老师及同学。 34 参考文献 参考文献 [1] E2ECloud工作室(深入浅出Google Android(北京:人民邮电出版社,2009( [2] 靳岩,姚尚朗(Android开发入门与实战(北京:人民邮电出版社,2009( [3] 张利国 龚海平(Andriod移动开发案例详解(北京:人民邮电出版社,2010( [4] 宋光照,傅江如,刘世军等(手机软件测试最佳实践(北京:电子工业出版社, 2009( [5] 和凌志,郭世平(手机软件平台架构解析[M](北京:电子工业出版社,2009( [6] 余志龙 等(Google Android SDK开发范例大全[D](北京:人民邮电出版 社,2010( [7] 李炜(Google Android开发入门指南[M](北京:人民邮电出版社,2009( [8] 高焕堂(UML嵌入式设计(北京:清华大学出版社,2008( [9] 王向辉,张国印,沈洁(Android应用程序开发(北京:清华大学出版社,2010( [10] 郭宏志(Android应用开发详解(北京:电子工业出版社,2010( [11] 杨文志(Google Android程序设计指南[M](北京:电子工业出版社,2009( [12] 潘爱民 张丽(C++ Primer(北京:中国电力出版社 ,2007( [13] 孙媛(嵌入式系统基础及应用(北京:机械工业出版社,2009( [14] J.F Dimarzio. Andriod A porgram’s guide. [M](北京:清华大学出版社,2001( [15] 温敏 艾丽蓉 王志国(Andriod智能手机系统中文件实时监控的研究与实现 [D](西安:西北工业大学计算机学院科学技术与工程,2009( [16] 高焕堂(Andriod应用框架原理与程式设计(北京:清华大学出版社,2009( [17] 宛延闿等编著.实用Java程序设计教程.北京:机械工业出版社,2006. [18] 陈国君 等.Java2程序设计基础.北京:清华大学出版社,2006. [19] 郑莉.王行言.马素霞.Java语言程序设计.北京:清华大学出版社,2006. [20] 丁振凡.Java语言实用教程.北京:北京邮电大学出版社,2005. [21] 朱喜福 等.Java程序设计.北京:人民邮电出版社,2005. [22] 赵毅主编.跨平台程序设计语言——Java.西安:西安电子科技大学出版社, 2006. [23] 王路群.Java高级程序设计.北京:中国水利水电出版社,2006. [24] 雍俊海编著.Java程序设计习题集.北京:清华大学出版社,2006. [25] 朱福喜编著.Java语言习题与解析.北京:清华大学出版社,2006. [26] 吴其庆编著.Java程序设计实例教程.北京:冶金工业出版社,2006. 35 基于Android平台的文件浏览器研究与实现 毕业设计说明书(论文)缩写稿 基于Android的文件浏览器的开发与实现 摘 要 3G时代已经慢慢的融入了我们的日常生活,随着国家的通信政策以及各大运营商的宣传的影响,3G手机已经随处可见,面对全球信息、技术空前高速发展,信息高速化发展更是社会进步的一个标志。在全球信息化的今天,手机已经成为人们日常生活中不可缺少的一部分,尤其是在电子产品日新月异的今天,我们在平时随处可见的电子产品中,手机无疑是一个最大的用户集,而各大厂商智能手机则依旧是电子市场的一颗耀眼的明星。其中的代表作有诺Nokia的塞班系统,摩托罗拉的Linux系统,但是其中异军突起的仍然是Google的Andriod系统以其开放的源代码和方便简洁的操作必然是未来智能手机领域的领头羊。这次毕业设计我们选择基于Andriod的文件浏览器一定会使我们在以后的工作中提供更多的机会。 随着新技术的不断开发与应用,近年来Java技术发展十分迅速,一个以Java应用为主的新技术革命浪潮正在蓬勃兴起。而基于Andriod的软件开发是一个前景很大的技术,通过这次毕业设计,能使我们从对软件的设计中体会到实际中软件开发的过程,提高我们的专业能力,经过小组团队的合作,我们能学到团队精神,最终能够获得很强的专业知识。 关键词:文件浏览器,Android平台,Java技术 1 系统可行性论证 随着新技术的不断开发与应用,近年来Java技术发展十分迅速,一个以Java应用为主的新技术革命浪潮正在蓬勃兴起。而基于Andriod的软件开发是一个前景很大的技术,然而市面上基于Android的文件浏览器虽然有不少种,各种的文件浏览器都能实现文件浏览的功能的应用,但是由于版本繁多,开发思路不同,加之Google开放的源代码,Android的SDK的版本不同,API不同使得各种文件浏览器的版本、实现的功能也进而不同。所以基于Android的文件浏览器卡发显得非常必要,以下基于几方面介绍关于基于Android文件浏览器的各个方面的可行性分析。 到今年6月,全世界已经有大约1亿部Android手机在使用,除中国大陆外共有53 36 毕业实际说明书(论文)缩写稿 个移动运行商正式推出了基于Android技术的无线数据增值服务。中国移动通信集团已经建立了无线Android增值服务体系,并推出了“百宝箱”等服务品牌,包括游戏百宝 箱、娱乐百宝箱、商务百宝箱、生活百宝箱等,已经于2003年7月10日开始正式商用。 随着科技的发展信息时代的到来,3G技术发展日益成熟随之而来的是3G手机的出现,基于Android操作系统的手机市场逐渐发展壮大,愈来愈多的人选择谷歌的Android手机逐渐形成一种趋势,因此这个市场的商业价值很高,所以我们选择开发基于Android平台的文件浏览器,由于普通手机用户的手机都是应用Symbian操作系统所以都有手机自带的文件管理功能,而Android系统中却找不到相关的功能提示,正是出于这样的原因我们决定研发文件浏览器,我们所研发的文件浏览器不但支持本地文件管理,方便用户对手机和SD卡上的文件/文件夹进行各种操作,还提供了任务管理,程序管理功能,用户随时查看当前的任务进程,或者卸载手机中的应用程序。除此之外我们的浏览器还提供本地和远程网络共享功能,用户可以通过本地共享,FTP远程和蓝牙等三种模式,用户可以在手机远程在移动和桌面终端之间分享文件,传输操作;软件能独立打开媒体文件,浏览图片,编辑文本,甚至可以远程播放媒体文件。因此我们的研发具有巨大的商业价值是一个历史性的进步,这样可以在很大程度上增加Android手机用户的市场份额。 2 项目需求分析 本需求分析报告的目的是规范化本软件的编写,旨在于提高软件开发过程中的能见度,便于对软件开发过程中的控制与管理,同时提出了本软件开发过程,便于组员与客户之间的交流、协作,并作为工作成果的原始依据,同时也表明了本软件的共性,以期能够获得更大范围的应用。我们所研发的文件浏览器不但支持本地文件管理,方便用户对手机和SD卡上的文件/文件夹进行各种操作,还提供了任务管理,程序管理功能,用户随时查看当前的任务进程,或者卸载手机中的应用程序。除此之外我们的浏览器还提供本地和远程网络共享功能,用户可以通过本地共享,FTP远程和蓝牙等三种模式,用户可以在手机远程在移动和桌面终端之间分享文件,传输操作;软件能独立打开媒体文件,浏览图片,编辑文本,甚至可以远程播放媒体文件 随着信息的高速发展手机已变的越来越普及尤其是智能手机,基于Android操作系统的手机就是在这样的趋势下逐渐一步步的走入我们的生活,因此,我们选择这样的研究课题最主要的一点是看在它的潜在市场价值,另外一个方面就是团队合作由于这次研发不是一个人完成而是一个团队所以团队合作很重要,这是研发成功的关键所在。所以我们这次最重要的目标是培养团队合作的精神这也是我们完成毕业设计的前提,一个团 37 基于Android平台的文件浏览器研究与实现 队一定要凝成一股劲朝着一个方向前进这才是团队协作,这次虽然每一个人所做的部分不相同但最终我们都是为了同一个目标将文件浏览器研发成功,团队可以让每一个成员变得成熟稳重可以使每一个人的能力得到充分的体现。 3 项目总体设计 本项目旨在给用户提供一个,友好,方便的手机浏览器,提供给用户一些查看,实现文件的复制、剪切、删除、标记、重命名、详情(属性)、新建、发送到、属性设置(共享、隐藏、密码保护)、收藏、存储状态、加密,不同文件调用不同其他软件。针对音乐、图象填加使用功能。图象:设壁纸、屏幕保护、联系人头像、填加新联系人,设分组头像、编辑图象;音乐:设铃声、信息提示、闹钟、日历提醒、聊天室。如有可能填加蓝牙(手机访问手机、电脑访问手记),上传网络,添加到邮件功能 程序进程更安全;在Android基于Linux建立的应用平台上,每个程序都独立运行,无法在默认模式下自行读取、输入数据或编码到其他程序中。每个程序都相对独立恰恰是一种独有的鉴定标识符,这就需要用户响应才允许程序下一步操作。 因此,Linux用户很难获得超级管理员用户帐户那么大的权力对电脑或网络做出系统性危害。同样,Android应用平台上的默认程序功能也受到了严格限制。就如同Linux把由影响一个单独笔记本电脑用户的病毒危害性降到最低一样,Android也控制住了某个自身程序的潜在危害性。 4 基本功能模块 基本功能模块的实现是要实现基于android的文件浏览器的一些基本功能,像文件浏览器的文件列表的创建,实现文件浏览功能,文件打开功能,文件属性修改,文件夹加密,文件夹解密,文件隐藏,文件显示,文件浏览器的菜单自动显示,新建文件夹,删除文件夹,修改文件夹的属性,隐藏文件夹,显示隐藏文件夹,新建文件,删除文件,以及主界面的设计与开发实现。 在文件浏览器的本地基本功能中我们实现了文件的基本浏览功能,其中包括文件的拷贝、文件隐藏、文件删除、文件发送、文件更名、文件粘贴、文件编辑、文件发送、文件接收功能,实现了相关文件的调用、给相关软件的调用预留了借口,同时实现了文件浏览器的一些自身的扩展。当我们启动文件浏览器的时候,系统会自动的进入默认的目录。来显示这个根目录下的所有文件及文件夹、同时按照不同的文件类型文件扩展名来自动识别文件,给文件分配不同的图标,这样的话用户只要看到我们显示给用户的很容易识别的小图标,就会很快的知道目前目录下有那些类型的问价,那些是可以使用的,那些是音乐文件,那些是图片文件,这样对用户来说就很容易的对问价进行分类,也有 38 毕业设计说明书(论文)缩写稿 利于用户寻找目标文件、选择文件。有了分类显示文件,只要用户在实际应用过程中有了一定程度的使用经验,对文件浏览器的实用会更加得心应手。 5测试 在提供给用户基本功能模块的同时、我们也设置了一些在实际应用中比较实用的扩展,例如我们的文件任务管理,在文件任务管理中、我们实现了对文件的切换,根据用户的实用情况、可能在浏览文件的同时也有需要使用其他程序,这样就要用到我们的文件任务管理功能中的切换功能,用户可以切换到其他界面进行操作,同时我们还提供了部分的软件卸载功能供用户使用。 39 基于Android平台的文件浏览器研究与实现 The Abbreviation Version of the Thesis of Undergraduates Android File Browser Based Development and Implementation ABSTRACT 3G era has slowly integrated into our daily lives, as the country's communications policies and major operators of the impact of propaganda, 3G mobile phones have been everywhere, face of the global information technology unprecedented rapid development of high-speed development of information it is a sign of social progress. In today's global information, mobile phones have become an indispensable daily part of life, especially in the rapidly changing electronic products today, we usually ubiquitous in electronic products, mobile phone users is undoubtedly one of the largest sets, the major smartphone manufacturers of electronic markets is still a bright star. Representative has the promise of which Nokia's Symbian system, Motorola's Linux system, but is still one of the sudden emergence of Google's Andriod open source system for its simplicity and ease of operation must be the future leader in the field of smart phones. We chose this graduation Andriod-based file browser will make our work in the future to provide more opportunities. With the continuous development of new technologies and applications of Java technology developed rapidly in recent years, a Java application of new technology-based revolution is booming. Andriod-based software development is a prospect of great technology, through the graduation project, we can design the software to the actual experience of the software development process, improve our professional competence, team after team co-operation We can learn teamwork, and ultimately able to obtain a strong expertise. Keywords: file browser, Android platform, Java technology 1 system feasibility study With the continuous development of new technologies and applications of Java technology developed rapidly in recent years, a Java application of new technology-based revolution is booming. Andriod-based software development is a prospect of great technology, but the Android-based documents available in the market although there are many types of browsers, all of the file browser file browsing function can realize the application, but because 40 The Abbreviation Version of the Thesis of Undergraduates many versions, development of different ideas, coupled with Google and open source, Android's SDK, versions, API makes a variety of different versions of the file browser, functions are thus different. Therefore, the file browser on Android card hair is very necessary to introduce the following aspects based on Android-based file browser on the various aspects of the feasibility analysis. June of this year, already has about 100 million Android phones in use, in addition to a total of 53 outside the Chinese mainland mobile operators launch Android-based value-added wireless data services. China Mobile Group has established a wireless value-added service system Android, and launched a "treasure chest" and other services to brands including Games Gallery, entertainment Gallery, business Gallery, Life Gallery, etc., has been in the July 10, 2003 began formal business. With the rapid development of mobile phone messages have become increasingly popular, especially smart phones, mobile phone-based Android operating system, this trend is gradually step by step into our lives, so we select research topics that most The main point is to look at its potential market value, the other aspect is the research and development team is not as complete a person but a team so teamwork is important, this is the key to the success of research and development. Therefore, we the most important goal is to foster team spirit which is the premise we have completed graduation, a team must be cemented in the strength to move forward in one direction this is the team, though everyone did this some do not but in the end we are all the same to the same target will file browser R & D success, the team can make each member and mature the ability to make everyone be fully reflected. 2 Project Requirements Analysis The needs analysis aims to standardize the preparation of this software, aimed at improving the visibility of the process of software development, software development process to facilitate the control and management, and proposed the software development process, to facilitate between members and customers communication, collaboration, and as a basis for the original work, but also showed that the generality of this software to access a wider range of applications. Our research and development of file browser not only supports local file management, user on the phone and SD card files / folders for various operations, provides task management, program management functions, the task of the user at any time to view the current process, or Uninstall phone applications. In addition to our browser also provides local and remote network sharing feature, users can share through local, FTP remote and Bluetooth three models, users can remotely in the mobile and desktop phone terminals to 41 基于Android平台的文件浏览器研究与实现 share files, transfer operations; software can independently open media files, view pictures, edit text, and even play media files remotely With the rapid development of mobile phone messages have become increasingly popular, especially smart phones, mobile phone-based Android operating system, this trend is gradually step by step into our lives, so we select research topics that most The main point is to look at its potential market value, the other aspect is the research and development team is not as complete a person but a team so teamwork is important, this is the key to the success of research and development. Therefore, we the most important goal is to foster team spirit which is the premise we have completed graduation, a team must be cemented in the strength to move forward in one direction this is the team, though everyone did this some do not but in the end we are all the same to the same target will file browser R & D success, the team can make each member and mature the ability to make everyone be fully reflected. 3 the overall project design The project aims to provide a friendly and convenient mobile browser, provides users with a number of view, the implementation file of the copy, cut, delete, tag, rename, details of the (property), new, sent to, property (shared, hidden, password-protected), the collection, storage state, encryption, call different files different from other software. For music, video, fill in additional functionality. Image: Let wallpaper, screen saver, contact head, filling up with new contacts, set up group picture, edit images; Music: Let ring tones, message alert, alarm clock, calendar reminders, chat rooms. If possible, fill plus Bluetooth (mobile phone access to the phone, computer access to Notes), upload the network, added to the mail function Program processes more secure; in Android Linux-based application platform built, each program run independently, can not read their own in the default mode, the input data or code into other programs. Are relatively independent of each program is a unique identification of just the identifier, which allows the program requires the user to respond before the next step. Therefore, Linux is difficult to obtain super-user administrator user account that much power on the computer or network to make systemic risk. Similarly, Android application platform as the default program features have also been severely restricted. Like Linux to the impact of a single notebook computer users to minimize the dangers of viruses, like, Android itself is also under control of a potentially harmful procedure. 4 basic functions of the module 42 The Abbreviation Version of the Thesis of Undergraduates The basic functional modules is to achieve android file browser based on some basic features, like file browser to create a list of files, file browsing, file open function to modify file attributes, file folder encryption, folder decryption, file hiding, documents show, the file browser automatically displays the menu, the new folder, delete the folder, modify the properties of the folder, hidden folders, show hidden folders, new files, delete files, as well as design and development of the main interface achieved. In the file browser the basic functions of the local paper, we implemented the basic browser features, including file copy, file hide, file deletion, file sending, file rename, file attachment, file editing, file sending, file reception, to achieve call the relevant documents, to the relevant provision of software called an excuse, while achieving some of its own file browser extension. When we start the file browser, the system will automatically enter the default directory. To display the root directory of all files and folders, and files according to different types of file extensions to automatically identify files, assign different icons to the file, so users will see that we display to the user easily identify the small icon, you will soon know the current directory with those types of asking about the price, which can be used, and those are music files, those are image files, so it is easy for users to classify against asking about the price, but also help the user find the target file, select the file. With the classification of display file, as long as the user in the actual application process to a certain degree of experience in the use of file browser will be more handy and practical 5 Test In the provision of basic functional modules to the user, we also set a number of more practical in application extensions, such as our file task management, task management in the file, we realize the file switch, according to the practical situation of the user may also browse the files need to use other programs, so the task is necessary to use our document management capabilities of the switching function, the user interface can switch to other operations, and we also provide some functionality for users to uninstall the software use.
/
本文档为【自愿离婚协议书(和平分手)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
热门搜索

历史搜索

    清空历史搜索