您好,欢迎访问三七文档
编号:毕业设计(论文)外文翻译(译文)学院:计算机与信息安全学院专业:物联网工程学生姓名:黄宏大学号:1200390113指导教师单位:计算机与信息安全学院姓名:张会兵职称:讲师2016年6月5日第1页共8页1什么是Android1.1关键技术和思想●历史的嵌入式设备编程●开放手机联盟的解释●第一眼看到Android的主屏幕暂时可以这么说,传统的桌面应用程序开发者已经被惯坏了。这不是说桌面应用程序开发比其他形式的开发简单。然而,作为传统桌面的应用程序开发者,我们有能力创造任何我们所能想象到的各种应用程序。我把自己归类在这个团体中,因为我也是从做桌面程序开始的。一方面,我们已经有能力去跟桌面操作系统互动,这使得我们更容易理解桌面编程,从而可以很自由地(或者用最小的异常)与任何底层硬件进行互动。但是这种自由独立的编程类型,对于那些很小的又敢于冒险进入手机研发浑水的开发团体来说,是没有真正被使用的。注解:在此讨论中,我所提及的两种不同的开发者为:传统的桌面应用程序开发者,开发他们能在任何语言环境下工作,而且最终的产品和应用程序是用来运行在任何“桌面”操作系统的;另一种是开发Android平台的Android程序开发者和JAVA程序开发人员。其区别目的不是说谁好谁坏,而是在于比较Android桌面操作系统环境的开发风格和桌面操作系统环境的工具对移动操作系统环境的作用。1.2嵌入式设备编程的简史在很长一段时间,手机的开发者由一支被称为嵌入式设备大型开发团体中的小教派组成。相对于桌面开发或者后续的网络开发,嵌入式设备被认为缺少“魅力”,而且嵌入式设备的开发通常因为硬件和操作系统的特性而处于劣势。因为嵌入式设备的制造商们在功能支持方面是出了名的小气,他们要密切地保护他们硬件方面的秘密,所以当他们尝试去让一些特定的设备去相互作用时,他们给开发者们运行的库非常有限。嵌入设备与台式电脑显著不同的一部分是嵌入设备是个有特色的“芯片上的电脑”。例如:细想一下你的标准电视机遥控器。这个并不是一个非常强大并且复杂性的技术。当按下任何的按钮,一个芯片以一种方式解释一个信号时就已经被编程进了这个设备。这将允许设备知道什么是从输入设备(键盘)发出的请求,并且知道如何响应这些命令(比如,打开电视机)。这个是一个简单的嵌入式设备编程。总之,不管你是否相信,像这样的简单设备和早期的手机设备开发的根源绝对有着紧密的联系。大多数的嵌入式设备运行(有些仍然还在运行)专有的操作系统。选择创建一个专有的操作系统而不是用任何消费者系统的原因是产品的需要。简单的设备不需要非常健全和优化的操作系统。作为一个产品的设备演化,更多复杂的嵌入式设备,如早期的PDAs,家庭安全系统和GPSs等,大约在5年前都转移到某种程度上标准的操作系统平台上。内存占用小的操作系统如Linux,甚至一个微软版本的嵌入式平台,已经在很多嵌入设备上变得普遍了。设备改革的这段时间里,手机从其他嵌入式设备中分支出去,步入自己的轨道。当你去调查他们的体系结构时会发现这个分支是显而易见的。在他们最初开始的时候,手机因运行专有软件而成为一个外围设备。这些软件被制造商们所拥有和控制,而且几乎可以被认为是一个“封闭”的系统。制造商使用专有操作系统的实践比其他任何原因更有必要性。主要是手机制造商自己内部研发的硬件,或至少定义了用来运行手机装备的开发目的。最终的结果就是使开放成为不可能。现有的软件包或者解决方案会和他们的硬件进行可靠的互动。而且,制造商想要保护他们硬件的商业秘密以防因允许进入而发现他们设备的软件水准。所以常见的和大多数情况下仍然使用的做法是使用完全专有并且封闭的软件来运行他们的设备。任何想为手机开发程序的人必须要详细了解由专有环境来运行软件的知识。而解决方案就是直接从制造商那里购买昂贵的开发工具。这就孤立了很多的“自制软件”的开发者。注解:一个关于自制软件开发的日益增长的文化包含了手机程序的开发。“自制软件”是指实际上开发者并没有工作在手机开发公司内,常利用自己的时间在他们的设备上生产小的,一次性的产品。另外,最引人注目的“必要性”是使手机开发无法出手的是硬件制造商对于“内存和需要”左右为难的解决方案。直到最近,手机只能执行打出和接听电话,查找联系人,发送和接收短信。不是今天“瑞士军刀”的技术。甚至直到2002年,在消费者的手上,带照相机的手机还是不多见。在1997年,小的应用程序如计算器和游戏(比如俄罗斯方块)爬进了手机内,但是强大的功能仍然是手机的拨号盘本身。手机还没成为像今天一样的一个多用途,多功能的日常工具。没有人预见互联网浏览,MP3播放,或者是其他我们今天定制的功能需求。在1997年,手机制造商们没有充分意识到消费者需要的是一个一体化的设备。但是,即使这个需求展现出来,设备内存和存储容量仍然是一个需要克服的大障碍。更多的人可能想要他们的设备是一个多功能一体化的工具,但是制造商们仍然需要跨越他们的记忆障碍。第2页共8页想让问题变得简单,就要在任何的设备中让内存来存储并运行应用程序,包括手机。手机作为一个设备,直到最近还没有足够多内存来执行“额外”的程序。在最近的两年里,内存的价格已经达到了非常低的水平。设备制造商们有足够的能力在低价格中包含更多的内存。现在很多的手机标准内存已经超过了90年代中期电脑内存。所以,我们现在有需求,而且有内存。我们可以直接跳到为手机开发酷的应用程序了,对吗?不完全是这样。设备的制造商们仍然紧密的保护他们运行在设备上的操作系统。有一些制造商在手机上开放以JAVA为基础的小运行环境,但更多的是不允许。即使允许运行JAVA应用程序但还是不允许进入核心的系统。而这些系统是桌面开发者独有的。1.3开放手机联盟和Android在2007年的11月份,当Google在开放手机联盟下发布Android时,应用程序开发的障碍开始被打破了。开放手机联盟是一个硬件和软件开发者的集合,包括谷歌,NTTDoCoMo,SprintNextel和HTC在内。他们的目标是创建一个更多的开放手机环境。开放联盟第一个被发布的产品就是移动设备操作系统Android。(更多关于开放手机联盟的信息,见:)。对于这个Android的发布,谷歌使很多开发工具和向导在新系统上来帮助的开发者成为可能。帮助文件,平台软件开发包(SDK),甚至一个可以在谷歌的Android的网站上找到的开发者的论坛,这个网站应该是你的起点,而且我极度推荐你去访问。注解:谷歌为了推动这个新的Android操作系统,甚至为寻找新的Android程序而设立了1000万美元的奖金。当手机运行在Linux,Windows或者即使PalmOS的时候是很容易找到,如本文所述,没有硬件平台已经宣称可以支持Android运行.HTC,LG电子,摩托罗拉和三星都是开发手机联盟的成员,在Android的发布下,我们希望在不久的将来有一些以Android为基础的设备。在2007年11月发布时,系统自身还仍旧是一个测试版的软件。这对开发者来说是好事,因为它给了我们罕见提前看到将来的系统和机遇来开始开发应用程序,而只要硬件发布时就可以运行。注解:这个策略明确地给了开放手机联盟一个大超越其它手机操作系统开发者的优势。因为当第一代设备发布时就会有数不尽的可用开发程序可以运行。1.4介绍AndroidAndroid,作为一个系统,是一个运行在Linux2.6核心上的以JAVA为基础的操作系统。系统是非常轻量型且全特性。Android应用程序用JAVA开发而且很容易被放置到新的平台上。如果你没有下载JAVA或者不确定你需要哪一个版本,我在第二章详细列出了开发环境的安装。其Android的特点包括一个加速3-D图形引擎(基于硬件支持),它被SQLite数据库和一个完整的网页浏览器支持。如果你熟悉JAVA编程或者是一个任何种类的OOP开发者,你可能使用程序用户接口(UI)开发-那就是,UI安置是直接在程序代码中有处理的。Android,识别并许可编程的UI开发,而且支持新生,以XML为基础的UI布局。XMLUI布局对普通桌面开发者是一个非常新的概念。我会在本书的相关章节里描述XMLUI布局和程序化UI开发。Android另一个更令人激动和关注的特点是因为它的样式,第三方应用程序---包括“自制的”---被执行时会和那些被捆绑的系统有着同样的优先权。这是和大多数系统不同之处,但是给了嵌入式系统程序一个比由第三方开发者创建的线性优先权大的优先执行权。而且,每一个应用程序被自己的线程使用一个轻量级的虚拟计算机来执行。除了大量的SDK和成型的类库对我们开发是可用的之外,最激动人心的特性对于Android的开发者来说是我们现在可以访问到操作系统可访问的地方。也就是说,如果你要创建一个应用程序拨打一个电话,你就可以进入到电话的拨号盘。加入你要创建一个应用程序来利用电话内部的GPS(如果安装了),你就可以访问它了。为开发者创建动态和令人好奇的程序现在敞开了潜在的大门。Android的一些特征和上面这些可用的特点相同,谷歌已经非常迫切的奉送一些特性。Android的开发者可以将自己的应用程序和谷歌现有的产品捆绑在一起。如谷歌地图和无所不在的谷歌搜索。假设你要写程序在谷歌地图上显示一个来电话者的的位置,或者你要储存一般的搜索结果到你的联系人中。在Android中,这个门已经完全打开。2应用程序:HelloWorld2.1主要技巧和思想●创建新的Android项目●用View工作●用一个TextView●修改main.xml文件●在Android虚拟机上运行一个应用程序第3页共8页在这一章中,你将创建你的第一个Androidactivity,这一章从头到尾的检查应用程序的创建过程,我将在Eclipese给你演示怎么去创建一个Android项目,在最初的文件里添加代码,并在Android虚拟机上运行最终的应用程序,在Android环境下运行最终结果的应用将是一个完全的功能项目实际上,当你看完这一章,你将不止创建一个Android的activity,在计算机编程的传统规定中,你的第一个应用将是典型的HelloWorld!应用程序,所以在第一节的内容中你将创建一个标准的HelloWorld!应用程序,仅仅使用一个空白的背景和一个“HelloWorld!”文本。然后,为了让您更好的了解该语言,下一节详细的解释Android为你的HelloWorld!应用程序能自动的创建文件。在这个activity中你将创建两个重复的过程,每一个都使用不同技术显示信息在屏幕上,而且你建创建两个不同版本的HelloWorld!应用程序将展示“HelloWorld!”信息的画面,这将给你一个很好的介绍关于Android的控制和内部工作。注解:你将经常看到“application”和“Activity”相互交换着使用,他们两个之间的不同就是应用程序可以有多个activity。但是一个应用程序必须至少有一个activity。你的应用程序的每一个窗口或者是屏幕就是一个分开的Activity。因此,如果你仅仅使用了一个屏幕的数据来创建一个相当简单的应用程序(就像在这一章中的HelloWorld!应用程序),那就只有一个activity,在后来的章节里面你将用多个activities创建应用程序。为了确保你可以完全很好的看到Android程序的整体,在第六章,你要在Android软件开发包的命令行编译。在微软windows和Linux环境下同时创建这些应用程序。换句话说,在这一章中包含了在Eclipse环境下创建项目的全过程。第六章也包含了利用命令行编译工具创建项目的过程。因此,在继续学习之前,你应当检查你的Eclipse环境配置是否正确。复习第三章中为Android开发包配置PATH变量的步骤,你也应当确保你的JRE中的PATH变量是否正确。忠告:如果你还有任何配置相关的问题的话,你可以去看第二章和第三章的
本文标题:5外文翻译译文
链接地址:https://www.777doc.com/doc-2929323 .html