《毕业设计(论文)基于android的文件浏览器开发与实现.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于android的文件浏览器开发与实现.doc(49页珍藏版)》请在三一办公上搜索。
1、论文分类号: TN 学校代码: 13681 HAOJING COLLEGE SHAANXI UNIVERSITY OF SCIENCE TECHNOLOGY毕业设计说明书(论文)题目: 基于Android的文件浏览器开发与实现 姓 名: 学 号: 指导教师: 班 级: 系 部: 信息工程系 二一年十一月The Development And Realize of Filebrowser On AndroidABSRRACT3G era has slowly integrated into our daily lives, as the countrys communications polic
2、ies 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 todays global information, mobile phones have become an i
3、ndispensable 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
4、the promise of which Nokias Symbian system, Motorolas Linux system, but is still one of the sudden emergence of Googles 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
5、 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
6、 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 brows
7、er, Android platform, Java technology 基于Android的文件浏览器的开发与实现摘 要3G时代已经慢慢的融入了我们的日常生活,随着国家的通信政策以及各大运营商的宣传的影响,3G手机已经随处可见,面对全球信息、技术空前高速发展,信息高速化发展更是社会进步的一个标志。在全球信息化的今天,手机已经成为人们日常生活中不可缺少的一部分,尤其是在电子产品日新月异的今天,我们在平时随处可见的电子产品中,手机无疑是一个最大的用户集,而各大厂商智能手机则依旧是电子市场的一颗耀眼的明星。其中的代表作有诺Nokia的塞班系统,摩托罗拉的Linux系统,但是其中异军突起的仍然是G
8、oogle的Andriod系统以其开放的源代码和方便简洁的操作必然是未来智能手机领域的领头羊。这次毕业设计我们选择基于Andriod的文件浏览器一定会使我们在以后的工作中提供更多的机会。随着新技术的不断开发与应用,近年来Java技术发展十分迅速,一个以Java应用为主的新技术革命浪潮正在蓬勃兴起。而基于Andriod的软件开发是一个前景很大的技术,通过这次毕业设计,能使我们从对软件的设计中体会到实际中软件开发的过程,提高我们的专业能力,经过小组团队的合作,我们能学到团队精神,最终能够获得很强的专业知识。关键词:文件浏览器,Android平台,Java技术目录1 绪 论12文件浏览器可行性分析2
9、2.1开发前景22.2市场可行性22.3技术可行性21.3.1Android技术:31.3.2Android应用程序组成61.3.3Java技术简介83文件浏览器的需求分析143.1目的143.2项目意义143.3产品背景明细143.4本工程描述143.5应用环境143.6开发环境153.7系统组件的搭建153.8 Android一些专有名词164文件浏览器的总体设计184.1总体设计概述184.1.1项目目的184.1.2项目模块分配184.2基本功能要求194.3扩展功能需求194.4性能需求194.5安全保密需求194.6项目进度安排及要求204.7项目各模块简介214.7.1本地模块简
10、介214.7.2远程模块简介214.7.3视图查看模块简介214.7.4文件传输模块215基本功能模块设计225.1功能模块设计概述225.2文件浏览器的各项功能225.2.1资源管理功能225.2.2任务管理功能225.3其他功能236项目测试256.1项目部分代码以及注释256.1.1文件目录显示代码及注释256.1.2返回上一级目录代码及注释276.1.3浏览指定目录代码及注释276.1.4代开指定文件及以扩展名打开部分代码及注释286.1.5按照不同扩展名打开部分代码及注释286.1.6创建文件浏览器菜单部分代码及注释296.2项目测试部分306.2.1文件的几种基本操作图示30总结3
11、2致谢33参考文献34毕业设计说明书(论文)缩写稿35The Abbreviation Version of the Thesis of Undergraduates391 绪 论目前android平台手机渗透到我们生活,20世纪末,电子技术获得了飞速的发展,在其推动下,基于android平台手机的现代电子产品在我们生活的各个角落都能见到,有力地推动了社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。基于android平台手机的发展趋势,本设计以android平台手机为核心制作了一个文件浏览器。本次设计运用android平台手机作为研究开发对象,配合Jav
12、a语言程序设计以及面向对象思想设计了一种手机文件浏览器。本设计完成后,能够实现以下功能:文件的浏览、文件属性的修改、文件的一些基本操作,一些远程模块的调用、根据不同文件扩展名来实现文件只能的打开,同时给以后的一些实用软件留下了借口、可以实现与手机之间的通讯。以及电脑之间的共享。在设计时,按照设计的要求,从可靠性、经济性、安全性三个方面进行考虑,通过设计方案的比较,确定出来一套即经济又可行的方案。本次设计是对所学知识的综合运用,把理论知识和实践相结合。在本次设计与检验过程中遇到了许多实际问题,比如android平台手机及其运行环境的选择,不熟悉myeclipse和eclipse软件的使用方法,不
13、熟悉开发技巧,可能会发生一些微小功能不能实现、软件运行不稳定,如何设计软件的最佳外观效果等。所有的这些问题,我们都通过查阅资料,咨询老师一一解决了,为设计的成功提供了保障。本文通过方案确认,介绍了设计中所用到的技术、开发思想,以及android平台的简介,通过清晰的程序流程图,给程序的理解提供了方向。还介绍了程序调试软件和硬件调试软件,最后对本设计的软件做了一个概述。2文件浏览器可行性分析2.1开发前景随着新技术的不断开发与应用,近年来Java技术发展十分迅速,一个以Java应用为主的新技术革命浪潮正在蓬勃兴起。而基于Andriod的软件开发是一个前景很大的技术,然而市面上基于Android的
14、文件浏览器虽然有不少种,各种的文件浏览器都能实现文件浏览的功能的应用,但是由于版本繁多,开发思路不同,加之Google开放的源代码,Android的SDK的版本不同,API不同使得各种文件浏览器的版本、实现的功能也进而不同。所以基于Android的文件浏览器卡发显得非常必要,以下基于几方面介绍关于基于Android文件浏览器的各个方面的可行性分析。到今年6月,全世界已经有大约1亿部Android手机在使用,除中国大陆外共有53个移动运行商正式推出了基于Android技术的无线数据增值服务。中国移动通信集团已经建立了无线Android增值服务体系,并推出了“百宝箱”等服务品牌,包括游戏百宝箱、娱
15、乐百宝箱、商务百宝箱、生活百宝箱等,已经于2003年7月10日开始正式商用。2.2市场可行性随着科技的发展信息时代的到来,3G技术发展日益成熟随之而来的是3G手机的出现,基于Android操作系统的手机市场逐渐发展壮大,愈来愈多的人选择谷歌的Android手机逐渐形成一种趋势,因此这个市场的商业价值很高,所以我们选择开发基于Android平台的文件浏览器,由于普通手机用户的手机都是应用Symbian操作系统所以都有手机自带的文件管理功能,而Android系统中却找不到相关的功能提示,正是出于这样的原因我们决定研发文件浏览器,我们所研发的文件浏览器不但支持本地文件管理,方便用户对手机和SD卡上的
16、文件/文件夹进行各种操作,还提供了任务管理,程序管理功能,用户随时查看当前的任务进程,或者卸载手机中的应用程序。除此之外我们的浏览器还提供本地和远程网络共享功能,用户可以通过本地共享,FTP远程和蓝牙等三种模式,用户可以在手机远程在移动和桌面终端之间分享文件,传输操作;软件能独立打开媒体文件,浏览图片,编辑文本,甚至可以远程播放媒体文件。因此我们的研发具有巨大的商业价值是一个历史性的进步,这样可以在很大程度上增加Android手机用户的市场份额。所以从市场角度来看,十分有必要开发基于Android的文件浏览器。2.3技术可行性我们已经系统的学习过Java技术,并且对软件的开发流程有一定的了解,
17、进而学习了与Android相关的一些技术,以及一些简单的xml技术,随着对这几种技术的掌握,结合市场上基于Android的文件浏览器种类虽然繁多,但真正能让用户满意的缺少的情况,从技术角度我们决定开发基于Android的文件浏览器。本项目需要用到Sun公司开发的Java技术以及Google公司开发的Android技术在Myeclipse环境下进行开发。下面对Android技术以及Java技术进行简单的介绍和必要的阐释。2.3.1Android技术:(1)Android简介android一词的本义指“机器人”,当时同时Android也是Google于07年11月5日宣布的基于Linux平台开源手
18、机操作系统名称,该平台由操作系统、中间件、用户界面和应用软件组成,Android是基于JAVA并运行在Linux内核上的操作系统,这个操作系统是轻量级的,但是功能很全面。而且在这个操作系统上,Google公司已经内置了很多有用的软件,如打电话、发短信等,号称是首个为移动终端打造的真正开放和完整的移动软件。2008年9月22日,美国运营商T-Mobile USA在纽约正式发布第一款Google手机T-Mobile G1。该款手机为宏达电制造,是世界上第一部使用Android操作系统的手机,支持WCDMA/HSPA网络,理论下载速率7.2Mbps,并支持Wi-Fi。Android 是Google开
19、发的基于Linux平台的开源手机操作系统。它包括操作系统、用户界面和应用程序 移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。谷歌与开放手机联盟合作开发了 Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达和 T-Mobile 在内的 30 多家技术和无线应用的领军企业组成。通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,我们希望借助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。我们认为此举必将推进更好、更快的创新,为移动用户提供不可预知的应用和服务。运用android的File类里面的各种方法来对文件
20、进行操作。文件浏览器主界面的设计:运用android的View来对文件浏览器的主界面进行布局。使用现行布局与表格布局来对文件浏览器的菜单进行布局。可以是有android的一些布局小工具Android平台包括一个被 Android 系统中各种不同组件所使用的 C/C+ 库集,Linux 内核也同时作为硬件和软件堆栈之间的硬件抽象层,下面进行全面的说明介绍。(2)Android在中国截至目前,国内三大运营商、中兴通讯和华为等厂商以及来自产业链细小领域的业务提供商都已经加入该联盟,据统计,OHA的中国成员数量已达到12家,占据总成员席位的近1/5。“应该说,谷歌公司的强大号召力在中国得到了很好体现,
21、前瞻的技术、可靠的价值链、持续的创新意识让中国很多企业一致看好Android。”GartnerIT系统高级分析师沈哲怡表示。广东移动数据部人士也表示,“Android在实践免费经营模式的同时,也为移动终端领域的后进入者打开了一扇大门,彻底的开源和免费无疑是降低了市场进入门槛。”从产业发展角度看,Android产业在中国的迅速蔓延本质上也存在一定的市场需求。在加入OHA的中国成员中,无论是终端厂商还是业务提供商。在终端领域的市场份额并不占据优势,而国内运营商对手机定制的紧密程度也与国外相差甚远,因此中国成员大部分都充当了全球市场挑战者的角色。另外,还有一个群体值得关注山寨手机产业,尽管其身份还有
22、颇多质疑,但从规模和经济收益角度。中国的山寨产业已经成为手机市场不可忽视的“潜在力量”,但受制于成本和正版的限制,手机山寨产业对于手机操作系统的渴求更加强烈。但无论是对正牌或山寨的手机制造商、业务提供商还是电信运营商而言,他们的瓶颈都在于“拥有自主开发的手机操作平台并非易事”,即便是处于产业核心层面的电信运营商也不例外。一位从事智能手机应用软件开发的杨姓项目经理告诉记者,开发手机操作平台是一项庞大的工程,“靠公司规模和资金实力并不能解决这一难题,这项工程考验的是企业对网络和IT技术的理解力和创造力”。而谷歌适时推出的开源、免费的手机操作平台Android正好满足了这一市场需求,为产业链相关企业
23、提供了延伸业务领域的可能性,更为移动互联网领域的后进入者提供了开拓市场的有力武器。android在中国的前景十分广阔,首先是有成熟的消费者,在国内,android社区十分红火,这些社区为android在中国的普及做了很好的推广作用。国内厂商和运营商也纷纷加入了android阵营,包括中国移动,中国联通,华为通讯,联想等大企业,同时不仅仅局限于手机,国内厂家也陆续推出了采用android系统的MID产品,比较著名的包括由Rockchip和蓝魔推出的同时具备高清播放和智能系统的音悦汇W7,我们可以预见android也将会被广泛应用在国产智能上网设备上,将进一步扩大Andorid系统的应用范围。另一
24、方面,由于国内政策的限制,导致Android的部分功能(如Android market)在国内无法正常使用,目前常用的解决方法是使用类似A8VPN的VPN服务来访问。OHA的成员可以任意使用和修改Android的SDK文档进行再开发,由此形成适应自身业务需要的“定制版本”。Android的这种开源特征很快得到了中国运营商的响应,中国移动、中国联通、中国电信相继加入OHA联盟。“在OPhone的研发中,中国移动对Android平台的上层应用、界面风格以及按键设置进行了大量修改。替换了很多与中国移动自身增值业务相冲突的业务应用,使中国移动的自身属性得以体现,这是Android的开放性所致。也是运营
25、商选择Android的理由。”前述广东移动人士表示。据了解,中国联通基于Android平台的Uphone也在紧张研发当中。“Android平台的技术结构比较紧凑,市场推进有张有驰,再加上谷歌公司长期具备的创新精神,确实值得国内很多厂商信赖。”前述分析师沈哲怡表示。据了解,国内终端厂商和运营商看好Android,很大程度上也是因为其背后推动者谷歌对互联网趋势的深刻见解;同时也因为Android具备合理的系统内核设计,并拥有成熟的市场推广模式。而在这方面,同样是倡导“开放”的开源平台Linux,其市场表现却与Android有着天壤之别。截至2009年,Linux应用在桌面操作系统中只占据1%的市场
26、份额,始终难成操作系统的主流。专家对此表示,仅仅是技术开源还不够,如果操作系统开发企业缺乏必要的市场化运作和整体推动力,忽视用户界面体验,最终其产品将无人问津,而Android在此方面则是一个成功案例。据了解,谷歌近年来还积极推进版本更新,不断完善其系统性能,在2010年1月13日,谷歌公布了Android2.1版本的SDK文档,也就是说开发人员甚至可以对谷歌自有品牌手机NexusOne进行修改和业务程序开发,有外媒评论,“此举真正体现了Android平台的开放和平等”。而在Android的设计理念中,开放和平等也有所体现。“开放性接口为应用程序的研发提供了一个宽阔平台,业务提供商不必担心技术
27、垄断造成的压迫和威胁。”前述杨姓项目经理表示。其实Android平台的很多底层技术取自Linux,而在底层技术流的选择上,大部分的程序开发人员骨子里都有一种“反Windows”观念,“如果让一种技术处于长期垄断地位是十分可怕的,垄断者的轻微举动会对产业上下游造成很大影响,因此大部分技术人员会更倾向于开放的Android。”而从系统整体性角度,Android平台也提供了完备的解决方案,OHA的成员甚至可以拿来直接使用。如此讨巧的平台设计在中国迅速聚拢了一批通信领域的“明星企业”,像华为、中兴这类专注于通信领域,但已具备IC(集成电路)能力的厂商能够凭借此平台快速切入终端领域,降低成本且缩短了研发
28、时间。巨头的选择让OHA在中国的发展更加明朗华为、中兴、联想等国内终端厂商以及国内三大运营商的加盟,让很多产业相关环节的厂商看到了趋势,于是,代工厂商、芯片厂商以及手机配套应用厂商源源不断地加入其中。“很明显,谷歌的开放模式既然得到了产业链主要成员的认可,那些不具有话语权的小厂商当然也会紧紧跟随,它们认为巨头往往代表产业发展趋势,如果不及时跟进,难免就会掉队,比如来自中国台湾地区的联发科、宏基、威盛、富士康、华硕都已经成为了OHA的成员,“中国台湾地区属于电子产品的高密地区,拥有很多手机代工商和芯片制造商,因此这种特征也尤为明显”。Android 应用程序框架开发者也完全可以访问核心应用程序所
29、使用的API框架。该应用程序架构用来简化组件软件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。该应用程序重用机制使得组件可以被用户替换。 2.3.2Android应用程序组成以下所有的应用程序都由一系列的服务和系统组成,包括: 一个可扩展的视图(Views )可以用来建应用程序,包括列表(lists),网格(grids),文本框(text boxes),按钮(buttons),甚至包括一个可嵌入的web浏览器 内容管理器(Content Providers )使得应用程序可以访问另一个应用程序的数据(如联系人数据库)
30、,或者共享它们自己的数据。 一个资源管理器 (Resource Manager)提供非代码资源的访问,如本地字符串,图形,和分层文件( layout files )。 一个通知管理器 (Notification Manager)使得应用程序可以在状态栏中显示客户通知信息。 一个活动类管理器 (Activity Manager)用来管理应用程序生命周期并提供常用的导航回退功能。 有关更多的细节和怎样从头写一个应用程序,请参考 写一个 Android 应用程序 部分。 Android 程序库Android 包括一个被 Android 系统中各种不同组件所使用的 C/C+ 库集。该库通过 Andro
31、id 应用程序框架为开发者提供服务。以下是一些主要的核心库: 系统 C 库 - 一个从 BSD 继承来的标准 C 系统函数库( libc ),专门为基于 embedded linux 的设备定制。 媒体库 - 基于 PacketVideo OpenCORE;该库支持录放,并且可以录制许多流行的音频视频格式,还有静态印像文件包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG。 Surface Manager - 对显示子系统的管理,并且为多个应用程序提供2D和3D图层的无缝融合。 LibWebCore - 一个最新的web浏览器引擎用来支持Android浏览器和一个可
32、嵌入的web视图。 SGL - 一个内置的2D图形引擎 3D libraries - 基于OpenGL ES 1.0 APIs实现;该库可以使用硬件3D加速(如果可用)或者使用高度优化的3D软加速。 FreeType - 位图(bitmap)和向量(vector)字体显示。 SQLite - 一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。 (1)Android 运行库 Android 包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik是针对于同时高效地运行多个V
33、Ms来实现的。Dalvik虚拟机执行.dex的Dalvik可执行文件,该格式文件针对最小内存使用做了优化。该虚拟机是基于寄存器的,所有的类都经由JAVA汇编器编译,然后通过SDK中的dx工具转化成.dex格式由虚拟机执行。Android上的应用程序可以通过标准 API 访问核心移动设备功能。它最大的特点就是与互联网紧密联系,在该系统上运行的大部分程序都依赖于互联网,这保证了信息的实时更新。配合上手机中自带的WIFI网络模块可以让手机一尺处于高速网络下。但是由于目前中国正处在2G通信技术和3G通信技术的过渡期,因此全部依赖于网络的Android或许不能表现出所有的性能和便利,因此中移动推出了基于
34、该系统修改的OMS操作系统,OMS系统的底层和Android完全相同,只是在界面层经过中国人审美观的定制,并去除了Google的各种服务,加入了中移动的服务,因此对于高速网络的依赖性也不是特别强了。 与目前的智能手机平台霸主Symbian相比,反应快,界面好,支持的程序也多,有着众多实力雄厚的手机制造商和程序开发商作为坚实的后盾。最重要的是支持多任务并行处理。 至于前景问题,由于Google的先期大力推广,加上众多手机制造商的极力配合,基于Android操作系统的设备更是层出不穷,甚至著名的Windows Mobile手机制造商HTC已经公开称在2010年将会把基于该系统的智能手机的出货量调节
35、至总出货量的50%或者更多。Android 运行库 Android 包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik是针对于同时高效地运行多个VMs来实现的。Dalvik虚拟机执行.dex的Dalvik可执行文件,该格式文件针对最小内存使用做了优化。该虚拟机是基于寄存器的,所有的类都经由JAVA汇编器编译,然后通过SDK中的dx工具转化成.dex格式由虚拟机执行。 Dalvik虚拟机依赖于linux的一些功能,比如线程机制和底层内存管理机制。 Linux 内核Androi
36、d 的核心系统服务依赖于 Linux 2.6 内核,如安全性,内存管理,进程管理,网络协议栈和驱动模型。 Linux 内核也同时作为硬件和软件堆栈之间的硬件抽象层。未来发展 老牌智能手机软件平台制造商Symbian发言人则表示:Google的android只不过是另一个linux,symbian对其它软件与其形成的竞争并不感到担心。除了北美之外,Symbian在其它地区智能手机市场都占有大部分市场份额。 与iPhone相似,Android采用WebKit浏览器引擎,具备触摸屏、高级图形显示和上网功能,用户能够在手机上查看电子邮件、搜索网址和观看视频节目等,比iPhone等其他手机更强调搜索功能
37、,界面更强大,可以说是一种融入全部Web应用的单一平台。 但其最震撼人心之处在于Android手机系统的开放性和服务免费。Android是一个对第三方软件完全开放的平台,开发者在为其开发程序时拥有更大的自由度,突破了iPhone等只能添加为数不多的固定软件的枷锁;同时与Windows Mobile、Symbian等厂商不同,Android操作系统免费向开发人员提供,这样可节省近三成成本。在我的理解中,对开发者来说,写J2SE的程序和J2ME的程序相比,最大的区别不是他们API或者是其他一些规则、限制等的不同,更多的是两者程序界面(或者说UI)方面的区别。我们写任何一段程序,都是需要有UI的,因
38、为我们的程序最终是给用户去用的,即使我们写了一个工具,没有任何显式IO,我们也还是需要暴露必要的方法来提供别人使用,在此情景下,这些方法似乎也可以看作是UI。 对J2SE来说,一般都不会需要GUI,因为我们很少去写SWING、SWT程序,即使Sun力推的JavaFX,好像涉及的也不多,而对于 J2ME来说,最大的困难可以就是那些GUI的实现,以及如何将程序的功能绑定到那些界面上,从界面中接收用户的输入,或者是用合适、合理的方式向界面输出,无论是通过文本,或是曲线、图形。同理,如果有J2EE的经验,服务后台的代码往往是相对易读、易懂、系统并且内聚的,这些代码看起来是如此的和谐、整洁、干净。而如果
39、涉及到界面,就会陡然复杂的多,即使各种各样的framework试图要解决View与Model、Control的协作问题,结果却让大家更加的迷惑于各种配置之间。总是有GUI的程序都会看起来有些凌乱同样,对于Android开发来说,用户界面的实现应该是比较重要的和复杂的一环。好消息是,到目前为止,“Google没有发现其他更好的用户界面实现方式,所以说如果有HTML设计经验,或者说有Swing,Flash等图形设计经验,那么理解Android的UI设计,会容易的多,甚至会有似曾相识的感觉。AbsoluteLayout,绝对定位的布局方式,在它内部嵌套的元素必须指定具体的位置。FrameLayout
40、,帧布局方式,说帧不太容易理解,可以说成是层布局方式,也就是说,在它内部的元素,是一层一层的叠加在一起的。如果用过Photoshop,或者 Flash,这里面的层的概念是和他们一致的。如果最上层的元素是不透明的,并且比下面的元素尺寸要大,那么将看不到下面的元素,只能看到顶层元素。这些层的顺序是:最新声明的放到最前面。可以这样理解,Android按文件的书写顺序来组织这个布局,先声明的放在第一层,再声明的放到第二层,最后声明的放在最顶层。LinearLayout,线性布局方式(真不知道这该怎么翻译,其实很多技术名词还是不翻译的好),这种布局比较常用,也比较简单,就是每个元素占一行,当然也可能声明
41、为横向排放,也就是每个元素占一列。RelativeLayout,相对定位的布局方式,这个比较好玩,在元素的位置的时候,使用相对位置,可以相对其他元素,也可以相对这个布局,就像我说:我现在站在pawa和 tempest的中间;或者说,我站在队伍的中间。前者就是相对其他元素来定义位置,后者是相对整个布局来定义位置。1.3.3Java技术简介到今年6月,全世界已经有大约1亿部Java手机在使用,除中国大陆外共有53个移动运行商正式推出了基于Java技术的无线数据增值服务。中国移动通信集团已经建立了无线Java增值服务体系,并推出了“百宝箱”等服务品牌,包括游戏百宝箱、娱乐百宝箱、商务百宝箱、生活百宝
42、箱等,已经于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(JavaP
43、latform,MicroEdition)是为机顶盒、移动电话和PDA之类嵌入式消费电子设备提供的Java语言平台,包括虚拟机和一系列标准化的JavaAPI。它和JavaSE、JavaEE一起构成Java技术的三大版本,并且同样是通过JCP(JavaCommunityProcess)制订的。目前阶段,JavaME最流行的应用是游戏软件。因为与需要昂贵的专用设备和开发工具的竞争对手(如索尼和任天堂)相比,JavaME程序可以在PC机上开发和仿真运行,然后很容易地部署到目标机上,从而使其开发、测试和发布的变得容易(1)Java程序的基本结构:Java程序的基本结构有:类、类的属性、对象、方法、组成
44、,其中公共类名必须与Java源程序名相同,其命名规则为每个单词首字母大写,不能以数字开头。必须声明类属性的数据类型。java要求文件名与类名相同,将多个类放在一起时,要保证类名不能重复。当声明的类很多时,类名就有可能冲突,这就需要一种机制来管理类名,这就是包。在源程序中可以声明类所在的包,就像保存文件时要说明文件保存在哪个文件夹中一样。同一个包中类名不能重复,不同包中可以有相同的类名。当源程序中没有声明类所在的包时,Java将类放在默认包中,即运行编译器的当前文件夹中。这时,不能出现重复的类名。Java下的包都是用来解决类的重名问题的,一般的命名方式都是采用域名倒置的方法,例如package
45、com.baidu;在Java源程序的头部第一个语句用关键字package声明包,指明该源文件定义的类所在的包。包声明格式如下:package 包名;这个语句的作用范围是整个源文件,而且同一个package声明可以放到多个源文件中,所有定义在这些源文件中的类和接口的.class文件都属于这个包。包名由“.”来分隔。我们一般都是使用Sun公司已经写好的包,例如一个源程序创建的时候,系统自动默认导入java.lang包,进而进行控制台的输出,如果要进行程序的控制台输入。则必须导入java.util.Scanner包等等。(2)Java中的接口:所谓接口可以看作是没有实现的方法和常量的集合。接口与抽
46、象类相似,接口中的方法只是做了声明,而没有定义任何具体的操作方法。使用接口是为了解决Java语言中不支持多重继承的问题。接口可以供其他的类来实现,如果一个类要实现一个接口,就必须实现这个接口下的所有方法,在实现接口时,要实现所有接口中定义的所有方法,方法的实现可以具有具体的实现内容,也可以是空的方法,即只有方法名或参数,没有变量,没有具体操作语句,只有一对打括号 的空方法。(3)继承的概念:类是具有继承性的。继承一般是指子女从父母那里得到父母所拥有的东西。在程序设计中,在已有类的基础上构造一个新的类,这就称为继承,也可称作派生。继承而得到的类称为原来类的子类或派生类。原来的类称为父类或超类。类
47、的继承具有传递性。子类对父类的继承关系体现了现实世界中特殊和一般的关系。通过继承可以更有效地组织程序结构,明确类与类之间的关系,并且可以充分利用已经写好的类,实现软件模块的重用。Java中的继承是通过extends关键字来实现的。在类定义的时候,在类名后面用extends来指明新定义类的父类,这样就在两个类之间建立了继承关系。Java的继承只能是单继承,一个类最多只能有一个父类,所以extends后面只能有唯一的一个父类名。两个类之间能否建立继承关系首先要看父类能否被子类访问。如果该类被public修饰,则可以被任何类继承;否则该类只能由同包类继承。此外,还要看该类是否被关键字final修饰,能不能派生子类。子类可以把父类的成员当作自己的成员,如果子类要调用父类中成员,就像调用自己的成员一样直接调用,或者用super关键字。子类继承父类之后,子类对象就拥有了父类的成员。继承并不是把父类成员复制到子类。而是在程序执行加载类时,父类和子类分别加载各自的成员,当在生成子类对象时才把父类成员复制到子类对象。定义好一个类就要创建它的对象。系统会自动调用构造函数对所属成员变量进行初始化。继承自父类的