Android系统外文翻译.docx_第1页
Android系统外文翻译.docx_第2页
Android系统外文翻译.docx_第3页
Android系统外文翻译.docx_第4页
Android系统外文翻译.docx_第5页
免费预览已结束,剩余5页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

附录1: 外文原文What Is Android?It can be said that, for a while, traditional desktop application developers have been spoiled. This is not to say that traditional desktop application development is easier than other forms of development. However, as traditional desktop application developers, we have had the ability to create almost any kind of application we can imagine. I am including myself in this grouping because I got my start in desktop programming.One aspect that has made desktop programming more accessible is that we have had the ability to interact with the desktop operating system, and thus interact with any underlying hardware, pretty freely (or at least with minimal exceptions). This kind of freedom to program independently, however, has never really been available to the small group of programmers who dared to venture into the murky waters of cell phone development.For a long time, cell phone developers comprised a small sect of a slightly larger group of developers known as embedded device developers. Seen as a less “glamorous” sibling to desktopand later webdevelopment, embedded device development typically got the proverbial short end of the stick as far as hardware and operating system features, because embedded device manufacturers were notoriously stingy on feature support. Embedded device manufacturers typically needed to guard their hardware secrets closely, so they gave embedded device developers few libraries to call when trying to interact with a specific device.Embedded devices differ from desktops in that an embedded device is typically a “computer on a chip.” For example, consider your standard television remote control; it is not really seen as an overwhelming achievement of technological complexity. When any button is pressed, a chip interprets the signal in a way that has been programmed into the device. This allows the device to know what to expect from the input device (key pad), and how to respond to those commands (for example, turn on the television). This is a simple form of embedded device programming. However, believe it or not, simple devices such as these are definitely related to the roots of early cell phone devices and development.Most embedded devices ran (and in some cases still run) proprietary operating systems. The reason for choosing to create a proprietary operating system rather than use any consumer system was really a product of necessity. Simple devices did not need very robust and optimized operating systems. As a product of device evolution, many of the more complex embedded devices, such as early PDAs, household security systems, and GPSs, moved to somewhat standardized operating system platforms about five years ago. Small-footprint operating systems such as Linux, or even an embedded version of Microsoft Windows, have become more prevalent on many embedded devices. Around this time in device evolution, cell phones branched from other embedded devices onto their own path. This branching is evident when you examine their architecture.Nearly since their inception, cell phones have been fringe devices insofar as they run on proprietary softwaresoftware that is owned and controlled by the manufacturer, and is almost always considered to be a “closed” system. The practice of manufacturers using proprietary operating systems began more out of necessity than any other reason. That is, cell phone manufacturers typically used hardware that was completely developed in-house, or at least hardware that was specifically developed for the purposes of running cell phone equipment. As a result, there were no openly available, off-the-shelf software packages or solutions that would reliably interact with their hardware. Since the manufacturers also wanted to guard very closely their hardware trade secrets, some of which could be revealed by allowing access to the software level of the device, the common practice was, and in most cases still is, to use completely proprietary and closed software to run their devices. The downside to this is that anyone who wanted to develop applications for cell phones needed to have intimate knowledge of the proprietary environment within which it was to run. The solution was to purchase expensive development tools directly from the manufacturer. This isolated many of the “homebrew” developers.Another, more compelling “necessity” that kept cell phone development out of the hands of the everyday developer was the hardware manufacturers solution to the “memory versus need” dilemma. Until recently, cell phones did little more than execute and receive phone calls, track your contacts, and possibly send and receive short text messages; not really the “Swiss army knives” of technology they are today. Even as late as 2002, cell phones with cameras were not commonly found in the hands of consumers.By 1997, small applications such as calculators and games (Tetris, for example) crept their way onto cell phones, but the overwhelming function was still that of a phone dialer itself. Cell phones had not yet become the multiuse, multifunction personal tools they are today. No one yet saw the need for Internet browsing, MP3 playing, or any of the multitudes of functions we are accustomed to using today. It is possible that the cell phone manufacturers of 1997 did not fully perceive the need consumers would have for an all-in-one device. However, even if the need was present, a lack of device memory and storage capacity was an even bigger obstacle to overcome. More people may have wanted their devices to be all-in-one tools, but manufacturers still had to climb the memory hurdle.To put the problem simply, it takes memory to store and run applications on any device, cell phones included. Cell phones, as a device, until recently did not have the amount of memory available to them that would facilitate the inclusion of “extra” programs. Within the last two years, the price of memory has reached very low levels.Device manufacturers now have the ability to include more memory at lower prices. Many cell phones now have more standard memory than the average PC had in the mid-1990s. So, now that we have the need, and the memory, we can all jump in and develop cool applications for cell phones around the world, right? Not exactly.Device manufacturers still closely guard the operating systems that run on their devices. While a few have opened up to the point where they will allow some Java-based applications to run within a small environment on the phone, many do not allow this. Even the systems that do allow some Java apps to run do not allow the kind of access to the “core” system that standard desktop developers are accustomed to having.This barrier to application development began to crumble in November of 2007 when Google, under the Open Handset Alliance, released Android. The Open Handset Alliance is a group of hardware and software developers, including Google, NTT DoCoMo, Sprint Nextel, and HTC, whose goal is to create a more open cell phone environment.The first product to be released under the alliance is the mobile device operating system, Android. (For more information about the Open Handset Alliance, ) With the release of Android, Google made available a host of development tools and tutorials to aid would-be developers onto the new system. Help files, the platform software development kit (SDK), and even a developers community can be found at Googles Android website, /android. This site should be your starting point, and I highly encourage you to visit the site.While cell phones running Linux, Windows, and even PalmOS are easy to find, as of this writing, no hardware platforms have been announced for Android to run on. HTC, LGElectronics, Motorola, and Samsung are members of the Open Handset Alliance, under which Android has been released, so we can only hope that they have plans for a few Android-based devices in the near future. With its release in November 2007, the system itself is still in a software-only beta. This is good news for developers because it gives us a rare advance look at a future system and a chance to begin developing applications that will run as soon as the hardware is released. Android, as a system, is a Java-based operating system that runs on the Linux 2.6 kernel. The system is very lightweight and full featured. Figure 1-1 shows the unmodified Android home screen.Figure 1-1 The current Android home screen as seen on the Android EmulatorAndroid applications are developed using Java and can be ported rather easily to the new platform. If you have not yet downloaded Java or are unsure about which version you need, I detail the installation of the development environment in Chapter 2. Other features of Android include an accelerated 3-D graphics engine (based on hardware support), database support powered by SQLite, and an integrated web browser.If you are familiar with Java programming or are an OOP developer of any sort, you are likely used to programmatic user interface (UI) developmentthat is, UI placement which is handled directly within the program code. Android, while recognizing and allowing for programmatic UI development, also supports the newer, XML-based UI layout. XMLUI layout is a fairly new concept to the average desktop developer. I will cover both the XML UI layout and the programmatic UI development in the supporting chapters of this book.One of the more exciting and compelling features of Android is that, because of its architecture, third-party applicationsincluding those that are “home grown”are executed with the same system priority as those that are bundled with the core system.This is a major departure from most systems, which give embedded system apps a greater execution priority than the thread priority available to apps created by third-party developers. Also, each application is executed within its own thread using a very lightweight virtual machine.Aside from the very generous SDK and the well-formed libraries that are available to us to develop with, the most exciting feature for Android developers is that we now have access to anything the operating system has access to. In other words, if you want to create an application that dials the phone, you have access to the phones dialer; if you want to create an application that utilizes the phones internal GPS (if equipped), you have access to it. The potential for developers to create dynamic and intriguing applications is now wide open.On top of all the features that are available from the Android side of the equation, Google has thrown in some very tantalizing features of its own. Developers of Android applications will be able to tie their applications into existing Google offerings such as Google Maps and the omnipresent Google Search. Suppose you want to write an application that pulls up a Google map of where an incoming call is emanating from, or you want to be able to store common search results with your contacts; the doors of possibility have been flung wide open with Android. Ask the ExpertQ: What is the difference between Google and the Open Handset Alliance?A: Google is a member of the Open Handset Alliance. Google, after purchasing the original developer of Android, released the operating system under the Open Handset Alliance.Q: Is Android capable of running any Linux software?A: Not necessarily. While I am sure that there will be ways to get around most any open source system, applications need to be compiled using the Android SDK to run on Android. The main reason for this is that Android applications execute files in a specific format; this will be discussed in later chapters.Reference:1Hello Android. Introducing Googles Mobile Developmeng Platform 3rd.Edition,Ed Burnette,The Pragmatic Bookshelf2The.Android.Developers.Cookbook Building Applications with the Android SDK,James Steele Nelson,Addison-Wesley3 Pro Android Media. Developing Graphics,Music,Video and Rich Media Apps for Smartphones and Tablets,Shawn Van Every,Apress4 Professional.Android.2.Application.Development.(Wrox,.2010,.0470565527)附录2:外文译文什么是 Android?可以说,于此同时,传统的桌面应用程序开发人员已经被宠坏了。当然这并不是说,传统的桌面应用程序开发比其他形式的开发更简单。然而,作为传统的桌面应用程序开发人员,我们有能力创建几乎任何类型的应用程序,我们可以想像。包括我自己在内,因为我以前就开始桌面编程。一方面,我们已经有足够的能力去和桌面操作系统互动,已经使桌面编程开发更易接受,从而与任何底层的硬件交互。相当自由(或者一最小的例外)。这种自由、独立地编程,已经不再是那些敢于冒险跳进手机开发黑水中的小数量的开发者能够获得的。很长一段时间,手机开发者构成了一个认作是嵌入式设备开发者的小的稍微大点的派别。理解成一个小的具有魅力的桌面家族成员-后来的网络Web-开发,嵌入式设备开发代表性地得到闻名的短的结局,远至硬件和操作系统特色,因为嵌入式设备制造业在特色支持方面恶名昭彰地吝啬。嵌入式设备制造厂商典型地需要封闭地保护他们硬件的机密,因此,当嵌入式设备开发者试着去与特殊的设备互动时嵌入式设备制造厂商给他们很少的函数库去调用。嵌入式设备不同于桌面系统是一个嵌入式设备是一个典型的“片上计算机”。例如:考虑你的标准电视机的远程控制。它不是真正看上去像一个无法实现的复杂技术的实现。当任何一个按钮按下,芯片以一种方法解释信号(已经编程嵌入到设备中)。这允许设备从输入设备(键盘)知道用户期望干什么,和如何对这些命令响应(例如,打开电视机)。这是一个来自嵌入式设备的编程例子。然而,信或不信,诸如这些简单的设备被明确涉及到早期手机设备和开发的根源。大多数嵌入式设备运行(在一些情况仍然运行)在专有的操作系统上。选择创建一个专有的操作系统而不是使用任何消费者系统的理由是:这是一个产品正真必需的。简单的设备不需要很耐用、完善的操作系统。作为一种设备产品的发展,大约2年前左右,许多复杂的嵌入式设备,例如早期的PDAs,家庭安全系统,和和GPSs,被移植到有点标准化的操作系统平台上。小体积的操作系统如Linux,或甚至嵌入式版本的MicrosoftWindows,已经是在许多嵌入式设备上很流行了。围绕这个时间段的设备发展,手机从其他的嵌入式设备分支成他们己的路线。当你查看他们的业绩时,这个分支显得很明显。几乎从他们起初,当运行专有的软件(被制造厂商拥有和控制,几乎也总是被考虑是“封闭”系统)时,手机就已经成为终端设备的范围内。制造厂商使用专有的操作系统的实践开始比其他任何理由更加不必要。这是因为手机制造商代表性的使用完全在内部开发出的硬件。或至少硬件是为运行手机设备特别开发出来的,结果,这些硬件、专有系统不是开发地可获得的,空架的软件包,或者解答(这些都是能够确切与他们硬件互动的)。自制造商想更可靠地保护他们的硬件交易机密(通过允许接近设备软件水平可以显露出来),通常的实践是(在多数情况下仍然是)通过完全专用的和封闭的软件来运行他们的设备。接下来就是,任何想为手机开发能够在上面运行的应用程序的人不得不去揭秘专有系统环境。解决方法是直接向制造商购买昂贵的开发工具。这孤立了很多“业余爱好”的开发者们。其他的,更多强制的“必需品”是硬件制造商对于“内存对照需求”困境的解答(这使天天进行手机开发的开发者难以入手)。直到最近,手机不是比实现多一点点,接收电话,跟踪你的联系,并且可能的发送和接收文本短信;当今他们不是真正的“瑞士军刀”技术。甚至迟到2002年,带有照相机的手机在消费者的手上一般的也没有见到。到1997年,小应用程序例如计算器和游戏(俄罗斯方块,举例)缓慢地在手机上爬行他们的发展路线,但是这些无法实现的功能仍然是电话拨号程序本身。手机还没有成为今天它们的多样的,多功能的个人工具。这是可能的,1997年,手机制造商完全没有意识到消费者需求是所有功能集聚一个设备上。不过,即使这个需求是目前的,设备的内存缺乏,存储能力是一个更大的要去克服的障碍。更多的人可能已经想过他们的设备变成聚集所有功能为一身的工具,但是制造商仍然不得不攀爬内存障碍。为了使问题简单,这使得任何设备上让内存去存储和运行应用程序,包括手机。手机,作为一种设备,直到最近都还没有使手机容易包含额外程序的大量内存。在最近两年里,内存价格已经达到很低的水平了。设备制造商现在有能力以更低的价格包含更多的内存。现在很多手机拥有比1990世纪中期普通PC机更标准的内存。因此,现在我们有了需要、内存,我们可以深入,并且在世界范围里为手机开发酷的应用程序,对不?不是确切的。设备制造商仍然封闭地保护运行在他们设备上的操作系统。而一些对这一点已经开放,他们允许一些以Java为基础的应用程序在手机上的小环境里运行,许多的都不允许这样做。甚至某些不允许运行一些Java应用程序的系统不允许接近标准桌面开发者习惯去拥有的核心系统。在2007年11月,当Google,在开放手机联盟下,发布Android,这个对于应用程序开发者的障开始消失。开放手机联盟是一个硬件和软件开发者组织,它包 括 Google 、NTT DoCoMo ,Sprint Nextel, 和 HTC,它的目标是创建一个更 开放的手机环境。在开放手机联盟组织下发布的第一个产品是Android-移动设备操作系统。(获得更多关于开放手机联盟的信息,登陆)和Android发行一起,Google开发了可获得的主要开发工具和指南去帮助要成为新系统开发者的人。帮助文档、平台软件开发包(SDK)和甚至在Google的Android网站上能被找到的一个开发者社区,/android.这个网站应该是你的入门点,我十分鼓励你去访问该网站。 而运行在Linux、Windows、甚至PalmOS上的手机能轻易找到,到写这书为止,没有硬件平台被宣布专门为Android所运行。HTC、LG电子、Motorola和Samsung都是开放手机联盟的成员,在Android已经被发布之下,我们只希望他们为Android-based设备在未来有计划实行。在它2007年11月发行,这系统本身仍然只是一个测试版软件。这对于开发者是一个好消息,因为它给我们一个展望未来系统珍贵的进步发展和一个开始开发将会很快在被发布的硬件上运行的应用程序的机会。Android作为一个系统,是一个运行在Linu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论