Computing continues to become more “personal,” increasingly accessible anytime,anywhere. At the forefront of this development are handheld devices that are transforming into computing platforms.
处理,继续变得更加人性化了,更加容易“随时,随地”。手持设备发展领导潮流,它正在转化成一个处理事物的平台。
Mobile phones are no longer just for talking they have been capable of carrying data and video for some time. Significantly, the mobile device is becoming so capable of general-purpose(多方面,多功能 ) computing that it’s destined to become the next PC (Personal Computer). It is also anticipated that even a number of traditional PC manufacturers such as ASUS, HP, and Dell will be producing devices of various form factors based on the Android OS. The battle lines between operating systems, computing platforms, programming languages, and development frameworks are being shifted and reapplied to mobile devices.
移动电话不再仅仅只是打电话了,在很多情况下,它已经有能力去携带一些数据和视频文件。
值得关注的,移动设备已经成为了有能力去多方面的处理,它注定成为下一个“个人电脑”。它也提前被一些PC制造厂商如:ASUS,HP,DELL等,这些制造商们,已经在制造一些基于Android系统的电子设备。这条战线,将在操作系统,处理平台,开发语言,和开发框架的发展之间,这些都将成为再转化和再运用到移动设备。
We are also expecting a surge in mobile programming in the IT industry as more and more IT applications start to offer mobile counterparts. To help you profit from this trend,we’ll show you how to use Java to write programs for devices that run on Google's Android Platform (http://developer.android.com/index.html), an open source platform for mobile development. We are excited about Android because it is an advanced platform that introduces a number of new paradigms in framework design (even with the limitations of a mobile platform).
我们将期待在IT行业里一大批的移动开发,更多IT应用程序开始邀请移动设备的伙伴。去帮助你从这股热潮中获益,我们将展示给你看如何使用JAVA语言去进行对基于Android平台的设备的代码的编写。(Google Android开发论坛),对于移动开发方面的一个开源的平台。我们对于Android很兴奋,那是因为它是一个更加超前平台,在框架设计上它包括一些新的范式(对手机平台还是有限制)。
In this chapter, we’ll provide an overview of Android and its SDK, give a brief overview of key packages, introduce what we are going to cover in each chapter briefly, show you how to take advantage of Android source code, and highlight the benefits of programming for the Android Platform.
在这一章节,我们将提供一个Android概况和它的SDK,还会给一个关于重要工具包的简短的概况。我们将会简短的覆盖到第一个章节,给你展示如何去使用Android的源代码,并且会突出一些基于Android平台的程序设计的优势。
A New Platform for a New Personal Computer
做为一个新的个人电脑的全新的平台
The fact that hitherto dedicated devices such as mobile phones can now count themselves among other venerable general-computing platforms is great news for programmers (see Figure 1–1). This new trend makes mobile devices accessible through general-purpose computing languages, which increases the range and market share for mobile applications.
事实是到目前为止,专用的设备像这样的移动手机能就目前的对他们自身与其它普通的处理平台相比较而言来说更有价值,更值得受到敬佩,对于程序员们来说是一条很棒的新闻。这是新的趋势通过多功能处理语言使移动设备容易接近,对于移动应用程序,它更扩大了范围并且能够通过market进行共享这些应用程序。
Figure 1–1. Handheld is the new PC.
The Android Platform embraces the idea of general-purpose computing for handheld devices. It is a comprehensive platform that features a Linux-based operating system stack for managing devices, memory, and processes. Android’s libraries cover telephony, video, graphics, UI programming, and a number of other aspects of the device.
Android平台,抓住了手持设备也能够多方面的进行处理的这样的一个想法。它是一个综合性的平台,特点就是为一个Linux-based操作系统堆栈来管理设备,内存还有进程。Androiid的工具库里面包含了电话,视频,图形,UI的设计以及设备的其它方面。
NOTE: Although built for mobile devices, the Android platform exhibits the characteristics of a full-featured desktop framework. Google makes this framework available to Java programmers through a Software Development Kit (SDK) called the Android SDK. When you are working with the Android SDK, you rarely feel that you are writing to a mobile device because you have access to most of the class libraries that you use on a desktop or a server—including a relational database.
注意:尽管为移动设备所构造,但Android平台也展示出了一个做为以全方位桌面框架的特性。Google使这个框架带给JAVA程序员更便利的使用软件开发工具(SDK),也叫做Android SDK。当你是从事Android SDK工作时,你很少感觉到你的东西是写到移动设备里面去,因为你可以最大的访问工具库里面的类,这就像你使用桌面或者服务器,它们之间存在一个有联系的数据库。
The Android SDK supports most of the Java Platform, Standard Edition (Java SE) except for the Abstract Window Toolkit (AWT) and Swing. In place of AWT and Swing, Android SDK has its own extensive modern UI framework. Because you’re programming your applications in Java, you could expect that you need a Java Virtual Machine (JVM) that is responsible for interpreting the runtime Java byte code. A JVM typically provides the necessary optimization to help Java reach performance levels comparable to compiled languages such as C and C++. Android offers its own optimized JVM to run the compiled Java class files in order to counter the handheld device limitations such as memory, processor speed, and power. This virtual machine is called the Dalvik VM, which we’ll explore in a later section “Delving into the Dalvik VM.”
Android SDK 支持很多的JAVA平台,除了这个抽象的Windows 工具包(AWT)和Swing之外还是一个标准版本(JAVA SE)代替AWT和SWING,Android SDK有它自己全面的新式的UI框架。因为你用JAVA设计你的应用程序,你可能除了需要JAVA的虚拟机,它是负责解释运行时JAVA字节代码的。一个JAVA虚拟机通常提供这个必要的优化去帮助JAVA联络执行级别来适合去编译语言,就像C和C++.Android主动提供,它自身就已经优化JVM,并去运行这个被编译的JAVA类文件为了对这个手持设备计数限制像这样的有内存,进程速度,电源。这个虚拟机被叫做Dalvik VM,我们会再以后的”Delving into the Dalvik VM“章节中来探讨。