




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计(论文)外文资料翻译 Android程序员指南第1章 什么是Android?关键技能和概念嵌入式设备编程的历史开放手机联盟的解释首先看看Android主屏幕可以说,暂时性的,传统的桌面应用程序开发商已经被宠坏了。这并不是说,传统的桌面应用程序的开发比其他的形式相比甚是容易。然而,作为传统的桌面应用程序开发人员,我们有能力创造几乎任何类型的应用程序,这是我们可以想象的。包括我自己在内,因为我的编程生涯也是从桌面编程开始的。一方面我们已经有能力去跟桌面操作系统相互沟通,因此,我们能够自由操作任何底部的硬件。然而,对于很小的开发者团体来说是不敢冒险的去搞手机开发这样浑浊的技术。注我指的是两种不同的开发商在此讨论:传统的桌面应用程序开发人员,几乎能在任何语言下工作,最终的产品和程序是用来运行“桌面”操作系统的;Android开发者,那些开发Android平台开发工具的JAVA程序开发人员。这不是说相比下来谁好谁坏。其实,区别目的仅仅在于想说明并比较Android桌面操作系统环境的开发风格,工具。嵌入式设备编程简史很长一段时间,手机的开发者由大型著名嵌入式的开发团队中的少数人组成。和桌面开发或者后续的网络开发相比,手机开发具有更少的魅力,而嵌入式产品的开发通常由于硬件和操作系统而处于不利的地位。嵌入式产品制造商保护他们硬件方面的秘密,所以他们给开发者们非常有限的库去运行。嵌入式设备不同于台式机,嵌入式设备通常是一个“在一个芯片上的计算机”。我们拿标准的电视遥控举个例子,这个并不是一个非常强大而且复杂的技术。当任何按钮被按下时,芯片转换信号,并且编译实现设备的响应。这允许器件知道从输入设备(键盘)接收命令,如何响应这些命令(例如,打开电视)。这是一个嵌入式设备编程的简单形式。然而,不管相不相信,像这样的简单设备绝对的和早期的手机设备开发的根源有着紧密的联系。以前大多数嵌入式设备运行(现在有些仍然还在运行)专有操作系统。原因是选择创建一个私有的操作系统而不是用任何消费系统是产品的需要。简单的设备并不需要很健全和优化的操作系统。随着产品的演化,许多更复杂嵌入式设备出现人们的世界中,例如早期的PDA,家庭安全系统和GPS装置,大约五年前,都在一定程度上转移到标准的操作系统平台上。体积小巧的操作系统,如Linux,甚至是嵌入式版本的Microsoft Windows,已经在嵌入式设备上普遍存在。在设备改革的这段时间里,手机从其他嵌入式设备中分支出去,走上了自己的轨道,当审视他们的体系结构,这个分支是显而易见的。在他们最初开始的时候,手机作为一个外围设备并且运行私有软件,而这些软件被制造商们所拥有和控制,而且几乎可以被认为是一个封闭的系统。制造商习惯用私有操作系统,因为制造商自己开发硬件,或者规定了开发的目的只是为了运行手机。这就使开放成为了不可能。现成的软件包和他们的硬件解决方案很难进行可靠的交互。而且,制造商想要保护他们硬件的商业秘密,防止因为允许进入而发现了设备的底细。所以,惯常的做法是,嵌入式设备使用完全专有和封闭的软件。任何人想为手机开发程序必须需要详尽的私有环境运行软件的知识,而解决方案就是直接从制造商那里购买昂贵的开发工具。这就孤立了很多的“自制软件”的开发者。注自制软件开发包含了手机程序的开发。“自制软件”是指开发者通常不是工作在手机开发公司内,通常利用自己的时间在他们的设备上生产小的,一次性的产品。另外,使手机开发困难的是硬件制造商对于“内存和需求”左右为难的解决方案。直到最近,手机才能执行比打出和接听电话,查找联系人,发送和接收短消息。即使在2002年,在消费者的手上,带照相机的手机还是不多见。在1997年,小的应用程序如计算器和游戏进入手机内,但是强大的功能仍然是手机的拨号盘本身。手机还不像今天一样是一个多用途,多功能工具。没有人预见互联网浏览,MP3播放,以及我们今天定制的功能。在1997年,手机制造商们没有预见消费者需要的是一个一体化的设备。但是,即使这个需求展现出来,设备内存和存储容量还是一个需要克服障碍。更多的人可能想要他们的设备是一个多功能一体化的工具,但是制造商们不许跨越他们的技术壁垒。为了简化问题,就要在任何设备上让内存来存储并运行程序,包括电话。电话作为一个移动设备,直到最近才有足够的内存运行额外的程序。在过去的两年内,内存的价格已经达到了非常低的水平。设备制造商现在有能力以较低的价格在移动设备中包含更多的内存。许多手机现在的标准内存,比曾在20世纪90年代中期的PC还高。于是,现在我们有需求,而且有内存。我们可以直接跳到为手机开发酷的应用程序了,对吗?不完全是这样。设备的制造商们仍然在保护他们的操作系统。有一些在手机上开放JAVA为基础的小运行环境。更多的是不允许。即使允许运行JAVA应用程序但还是不允许进入核心系统。开放手机联盟和Android当2007年11月Google在开放手机联盟下发布Android,手机应用程序开发的障碍被打破。开放手机联盟是一个硬件和软件开发者的集合,包括谷歌,NTT DoCoMo, Sprint Nextel和HTC。他们的目标是创建一个更多的开放手机环境。在开放联盟第一个被发布的产品就是移动设备操作系统Android。(更多关于开放手机联盟的信息,见:)。对于这个Android版本,谷歌使很多开发工具可以帮助开发者。帮助系统,平台软件开发包(SDK),甚至开发者的论坛,都可以在谷歌的Android网站上找到,/android.这个网站应该是起点,我强烈鼓励访问这个网站。注谷歌为了推动这个新的Android操作系统,甚至为寻找新的Android程序而设立了1000万美元的奖金。运行Linux,Windows和甚至PalmOS的手机虽然很容易找到,但是,截止这篇文章之前,没有硬件平台可以运行Android上系统。HTC,LG,摩托罗拉,三星是开放手机联盟的成员,我们希望,不久的将来有些基于安卓系统手机的出现。在2007年11月发布时,系统自身还仍旧是一个测试版的程序。对于开发人员来说,这是个好消息,因为它给我们提前看看未来的系统,并有机会开始开发应用程序。注这个策略明确的给了开放手机联盟一个大的优势,超越其它手机操作系统开发者。因为当第一代设备发布时会有数不尽的可用开发程序可以运行。介绍AndroidAndroid,作为一个系统,是一个基于Java的操作系统上运行的Linux 2.6内核。该系统是轻便而且功能齐全的。Android应用程序是用Java开发的,可以容易移植到新的平台。如果没有下载JAVA或者不确定那一个版本,我在第二章详细列出了开发环境的安装。其他功能Android的包括加速3D图形引擎(基于硬件支持),由数据库支持SQLite和一个集成的Web浏览器。如果熟悉Java编程,或任何形式的是一个面向对象的开发,很可能擅长编程用户界面(UI)开发,UI布局直接处理程序内的代码。Android识别并许可UI开发,而且支持新生的基于XML为基础的UI布局。XMLUI布局对普通桌面开发者是一个非常新的概念。我会在本书的相关章节里描述XMLUI布局和程序化UI开发。Android的更加精彩和引人注目的特点之一是,由于其架构,第三方应用程序会比较多。这是和大多数系统不同之处,但是给了嵌入式系统程序一个比由第三方开发者创建的线性优先权大的优先执行权。另外,每个应用程序内执行自己的线程中使用一个非常轻量级的虚拟机。除了大量的SDK和成型的类库可以用之外,最令人兴奋的是,我们现在有Android开发可以进行任何操作系统访问。换句话说,如果想创建一个应用程序拨打电话,可以访问到手机的拨号,已经进入到电话的拨号盘。加入要创建一个应用程序来使用电话内部的GPS(如果安装了)。这些对开发者敞开了大门。Android的一些特征和上面这些可用的特点相同,谷歌已经非常迫切的奉送一些特性。Android的开发者可以将自己的应用程序和谷歌提供的如谷歌地图和无所不在的谷歌搜索绑在一起。假设要写程序在谷歌地图上显示一个来电话者的位置,或者要储存一般的搜索结果到联系人中。在Android中,这个门已经完全打开。第2章开始Android开发旅程。将学习如何使用特定开发环境或集成开发环境(IDE),将下载并安装的Java IDE Eclipse的。问:谷歌和开放手机联盟之间的区别是什么?答:谷歌是一个开放手机联盟的成员。谷歌在收购了Android的原开发后,在开放手机联盟发布了操作系统。问:是Android能够运行任何Linux软件吗?答:不一定。但是我坚信会有一种方式绕开大多数的开源系统和应用程序用Android开发包编译而用于Android。主要原因是Android程序执行特定的文件格式,这会在以后的章节中讨论。第5章 应用程序:Hello World!关键技能和概念创建新的Android项目使用视图使用一个TextView修改main.xml文件Android模拟器上运行应用程序在本章中,将创建第一个Android的活动。这一章从头到尾的检查应用程序的创建过程,我将演示怎么去创建一个Android项目在Eclipese,在最初的文件里添加代码,并且在Android虚拟机上运行最终的应用程序,在Android环境下运行的最终结果的应用将是一个完全的功能项目实际上,当看到这一章,将不止创建一个Android的活动,在计算机编程的传统规定中,第一个应用将是典型的Hello World!应用程序,所以在第一节的内容中将创建一个标准的Hello World!应用程序,仅仅使用一个空白的背景和一个“Hello World!”文本。然后,为了更好的了解该语言,下一节详细的解释Android的Hello World!应用程序自动的产生文件。在这个活动中将创建两个重复的过程,每一个都是使用不同技术显示在屏幕上,而且创建两个不同版本的Hello World!应用程序将展示“Hello World!”信息的画面,一个很好的介绍关于Android的控制和内部的工作。注经常看到“application”和“Activity”相互交换着应用。他们两个之间的不同就是应用程序可以有多个活动,但是一个应用程序必须至少有一个活动。的应用程序的每一个窗口或者是屏幕就是一个分开的活动。因此,如果创建了一个相当简单的应用程序仅仅使用了一个屏幕的数据(就像在这一章中的Hello World!应用程序),那就只有一个活动,在后来的章节里面将创建许许多多的活动。为了确保可以完全很好的看到Android程序的整体,在第六章将在Android软件开发包命令行编译在微软windows和Linux环境下同时创建这些应用程序。换句话说在这一章中包含了在Eclipse环境下创建项目的全过程。第六章也包含了利用命令行编译工具创建项目的过程。因此,在继续学习之前,应当检查Eclipse环境是否配置的正确。复习第三章中为Android开发包配置PATH变量的步骤,也应当确保JRE中的PATH变量是否正确。提示如果还有任何配置相关的问题的话,可以去看第二章和第三章的内容,或者是看看Android开发包的文档。在Eclipse上创建第一个Android项目开始第一个Android项目,打开Eclipse。当第一次打开Eclipse,它打开到一个空的开发环境中,这是开始。第一项任务是建立并命名为工作区。选择File | New | Android项目,这就是运行新的Android项目的向导。注意不要从“新建”菜单中选择Java Project。虽然Android应用程序是用Java语言写的,这个方式是创建一个标准的Java应用程序,选择Android项目就是创建一个Android特有的应用程序。如果没有看到Android项目的选项,这表明Android插件Eclipse并没有完全或正确安装。学习第3章安装Android的Eclipse的插件来纠正这一点。新的Android项目向导创建两件事情:一个绑住Android开发包的shell程序。这个将允许使用所有Android库和包来进行编码工作,并且允许在合适的环境中调试程序。新程序的第一个壳文件。这些壳文件包含一些必要的支撑将要编写程序的文件。就如同一个在VisualStudio中,它会在文件中产生的一些代码。使用Eclipse中的Android项目向导产生一些初始的程序文件和一些Android创建的代码。此外,新的Android项目向导包含几个选项,显示必须设置Android项目启动设置。在项目的名称那个字段,只是为了举例,使用Hello World!Text这个名字,这个名字非常的容易把这个Hello World!项目从其它将要在本章中创建的项目分别开。在内容那个区域,保持系统默认的选择:在工作区中创建一个新的项目这个选项按钮必须被选中。并且使用系统默认的位置这个选择框也应当被选中。这个将允许Eclipse在系统默认的工作区路径中创建项目。这样做的好处是十分容易项目进行排序,管理和查找。例如,如果在工作在一个Unix基础的开发环境中,这个路径指向Home路径。如果
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024法律硕士模考模拟试题附参考答案详解(能力提升)
- 2025医疗卫生系统人员通关考试题库必考附答案详解
- 教育机构教务工作总结
- 家政服务养老护理培训课程
- 江西省吉安永丰县联考2026届九上化学期中预测试题含解析
- 土地拆迁工作汇报
- 2026届陕西省西安电子科技大附中九年级化学第一学期期末达标检测模拟试题含解析
- 内蒙古呼伦贝尔市扎兰屯市实验小学2024-2025学年六年级下学期期中考试英语试题(无答案)
- 湖南省永州市2026年高考第一次模拟考试地理试题(含答案)
- 腔镜规范化操作理论考试试题及答案
- 光伏项目投标方案(技术方案)
- GB/T 44395-2024激光雷达测风数据可靠性评价技术规范
- 公厕保洁服务投标方案
- 模块化炼化设备的设计与集成
- JJF(皖) 174-2024 重点用能单位能源资源计量在线审查规范
- 儿童口腔健康宣教课件
- 工程造价咨询手册模板
- 设备维护服务方案(2篇)
- 医院检验科实验室生物安全程序文件SOP
- 监所防疫知识培训
- DL∕T 781-2021电力用高频开关整流模块-PDF解密
评论
0/150
提交评论