Worktile第三方Android客户端外文翻译资料

 2022-11-16 11:21:50

来源: Learn Android App Development - Wallace Jackson

Chapter 2

Exploring Android App Development: The Lingo of Android and Building Your First Hello World App!

Because this book is geared toward readers already familiar with computer programming principles and work processes, everyone is familiar with the universal concept of the Hello World programming example, which is used to show us all the basics regarding how any given programming language and platform gets its basic code structure up and functioning.

Because I want to fast-track our readers to an intermediate level as rapidly as possible within this book, I am going to get the Hello World app up and running here in the second part of the chapter. First, I will discuss the terminology used in Android application development. Wersquo;ll then use the Hello World app example to show you how Android structures its programming environment and expose you to the basic Android Application Development work process.

We will take a look at how to create a new Android application project inside Eclipse, how that project is structured and organized in the Eclipse Package Explorer, how Android uses XML mark-up to define data structures, project parameters, OS permissions and user interfaces quickly and easily, so that we donrsquo;t have to do this in Java, how our new media assets are named and stored in predefined logical resource folder hierarchies, and of course, how the Java programming language bootstraps and pulls it all together via Android Packages, Classes, Methods and Constants. Android Development is definitely unique.

First, however, we will need to spend a little time up-front learning about the various components of an Android Application. We will learn what the various Android components are termed inside of the Android environment. Android uses some very unique terminology or lingo to describe the various Android application components, and we will learn this lingo as well as how these components all work seamlessly together.

Then, in the next part of this chapter, we can get down to work and build our very first Android application, using some of this new terminology and some XML mark-up and the Java programming language.

Android Application Development Lingo

Android uses very unique terminology to describe the various components or areas of its application development. In this section, I define what these areas are, and what they most closely equate to in other common programming languages such as C or Java. Plus, Irsquo;ll give you a little more insight as to what open source technologies besides Java and XML drive Android under the hood, as well as how Android optimizes its Java into binaries for use on Embedded (Portable Consumer Electronics) Devices.

The Foundation of Android: The Linux 2.6 Kernel

The foundation of the Android OS is the Linux 2.6 Kernel; just like the Eclipse IDE runs on top of Java, Android runs on top of a full version of the latest Linux operating system. So yes, any and all Android devices are essentially fully functional Linux computers, which is why you see Android devices these days with dual-core, quad-core, and octa-core processors, just like “real” computers feature. The same thing goes for memory—most Android devices have at least one full gigabyte (1GB) of RAM (random access memory), and many feature 2GB, and soon you will see Android devices that have 3GB or 4GB of RAM.

The Android OS uses the core libraries of the Linux OS to do all the low-level things with files, memory, and processing that are done using any computer OS, and because Linux is so highly optimized, it can do this with less memory (more efficiently) than other OSes can. Why is the new Windows 8 OS so memory efficient all of a sudden? Because it has to compete with Linux (Android), thatrsquo;s why. It is rumored that Google has Android 4.2.2 running on top of the much more recent Linux 3.8 Kernel and that Android 5.0 will run on top of this more modern Linux Kernel later on in 2013.

Android Optimization: The Dalvik Virtual Machine (DVM)

An Android application developer uses the Android SDK and its Java programming language to access lower-level OS functions, as well as other higher-level functions that Android provides for using various new media assets, SQLite databases, and hardware features of the Android devices, such as cameras, gyroscopes, GPS, and the like.

When you compile your Java code and other assets (XML, audio, images, etc.) Android uses a DVM, or Dalvik Virtual Machine, technology to optimize these into a highly optimized binary format, much like an executable file, only even more optimized to run on smaller, more portable devices. If you look inside your Android APK file, you will see a .DEX file for your application in the root of your project. This is stands a Dalvik executable file.

DVM is not something an Android developer needs to be concerned with during day-to-day development, I am just mentioning it here so that if you happen to come across it on an Android-related Google search someday, yoursquo;ll have the context to know what it is and what the DVM is doing in the overall development process. Next letrsquo;s get into the lingo of Android and learn about each of the four major components of an Android application and what they are and how they work together to form a single cohesive Android app.

Android Activities: The Presentation Layer

Android uses the term Activity to describe the “front-end” screens of your application that your users view.

An Activity is a collection of design elements that, working together, compose each screen view of your application. These would include such things as user interface elements, text, background graphics, 3D, foreground content, digital video, pop-up menus, animated elements, and other visual design components

剩余内容已隐藏,支付完成后下载完整资料


第二章

探索Android应用开发:Android的隐语以及构建你的第一个Hello World应用!

因为这本书面向已经熟悉计算机编程原理和工作流程的读者,每个人都熟悉Hello World程序示例的普遍概念,这是用来向我们展示所有关于给定的编程语言和平台怎么让它基本的代码结构运作起来的基础。

因为我想在这本书中尽可能快的让我们读者达到一个中等水平,我会在这章的第二部分让Hello World应用构建并运行起来。首先,我会讨论在Android应用开发中使用的术语。我们将在接下来使用Hello World应用示例来向你展示Android是怎样架构它的编程环境并将你处在基础的Android应用开发工作流程中。

我们将看看如何在Eclipse中创建一个新的Android应用项目,这个程序在Eclipse包浏览器中是如何组织的,Android是怎样轻松而迅速地使用XML标记来定义数据结构,项目参数,系统权限以及用户界面的,这样我们就不需要在Java中完成这些,还有我们的新媒体资源是如何命名并存储在预定义的逻辑资源文件夹层次中,当然,还包括Java编程语言是如何引导并通过Android包,类,方法和常量将这一切组织在一起的。Android开发绝对是独特的。

但是,首先我们需要花一点时间学习一个Android应用的各种组成部分。我们将学习Android中各种组件在Android环境中的内部术语。Android使用非常特殊的术语或者行话来描述Android应用程序的组件,我们将学习这些术语,以及如何将这些组件一起无缝的协同工作。

然后,在这章的下一个部分,我们可以踏踏实实的工作并使用一些新的术语和一些XML标记和Java编程语言来建立我们的第一个Android应用程序。

Android应用程序开发隐语

Android使用十分特殊的术语来描述各种组件或者应用开发的部分。在这一部分中,我定义了这些区域是什么,以及它们最密切等同于在其他常见的编程语言如C 或Java中的部分。另外,我会给你多一些的洞察力来了解幕后除了Java和XML外是什么开源技术驱动的Android,也包含Android是如何优化它的Java成为二进制文件来给嵌入式设备使用(便携式消费类电子产品)。

Android的基础:Linux 2.6的内核

Android系统的基础是Linux 2.6的内核,就像Eclipse IDE是运行在Java上的一样,Android也是运行在一个完整的最新的Linux操作系统上的。所以是的,任何或者所有的Android设备都是完全的Linux电脑,这也是为什么你们最近能看到带有双核,四核和八核处理器的Android设备了,就像真实的电脑功能一样。内存也是一样的,大多数的Android设备至少有1GB的RAM(随机存取存储器),还有很多是2GB的,而且很快你将会看到带有3GB或者4GB的RAM的Android设备了。

Android系统使用Linux系统的核心库来完成包括文件,存储器这样的低级别事务,并且就像任何电脑系统一样去处理完成,因为Linux非常定制化,它可以使用比别的系统需要的少的存储器(更加高效的)来完成这些工作。为什么Windows 8系统突然在存储器上十分的高效,因为它需要和Linux(Android)来竞争。有传言称Google让Android 4.2.2运行在更加新版本的Linux 3.8内核上,并且Android 5.0将来2013年晚期运行在这个更加现代化的Linux内核上。

Android优化:Dalvik虚拟机(DVM)

一个Android应用程序开发者使用Android SDK和Java编程语言来使用低级别的低通功能,就像Android提供的使用许多新媒体资源,SQLite数据库和Android设备的硬件特性诸如摄像头,陀螺仪,GPS诸如此类的高级别功能

当你编译你的Java代码和其他资源(XML,音频,图片等)的时候,Android使用DVM或者Dalvik虚拟机技术来将这些东西优化成一个高度优化的二进制格式,很像一个可执行文件,只是更适合运行在小型更加便携化的设备上。如果你看一下你Android APK文件的内部,你会在你项目的根目录下发现发现一个.DEX文件这就代表了一个Dalvik可运行文件。

DVM不是一个Android开发者在每天的开发中需要关注的东西,我只是在这里提到万一你那天在Google搜寻Android相关的东西的时候遇到它,你需要知道它是什么以及DVM在整个开发流程中做了什么。接下来让我们进入Android的隐语并学习Android应用程序的四大核心组件,了解它们是什么,它们是怎样协同工作以形成一个有凝聚力的Andrid应用程序。

Android的活动:表示层

活动使用术语Activity来描述你的用户看到的应用的“前端”屏幕。

活动是协同工作,组成你的应用程序的每个屏幕视图的设计元素的一个集合。这包括了诸如用户界面元素,文本,背景图形,3D,前景内容,数字视频,弹出式菜单,动画元素和其他视觉设计组件,而这些组件全心全意为客户提供应用程序所处理的事务的接口,还包括了使用你的应用程序的终端用户。我们将在本书的前两部分深入学习活动的细节。

在活动的术语中,活动通常由将一系列称之为小组件的用户界面元素和你的应用程序的内容加载到预定义的屏幕区域的布局容器组成的。如果你想要加入图形元素来使你的设计更加引人注目的话,那你可以使用绘画元素,这是Android用来表示诸如图像和动画的图形元素的术语。

在Android中的动画同时使用小组件和绘画元素;绘画元素用来制作基于帧的动画(光栅动画),而小组件用来制作程序性或者补充间隔的动画(矢量动画),绘画元素同时也能制作矢量动画。令人惊讶的是,Android将动画称呼为它本来的名字:动画。在Android中还有一个术语也以它在其他编程语言里是什么就叫什么:事件。事件允许构成我们活动的续作元素使用事件处理代码来运行,就像在许多其他编程语言里一样。因为这本书的读者熟悉变成并且因为需要事件处理来保证用户交互设计在这本书的前半部分起作用,我打算在这本书中马上提到事件,这样我们可以更快的创造出更加健壮的应用程序。

我们将学习更多关于Android的活动类,并通过利用了第四章中视图组类的布局来设计屏幕布局。我们将通过利用了第五章视图类的Android小组件来学习更多关于用户交互设计的内容。最后,我们将在第六章中学习事件相关,第七章到第十章学习关于绘图元素,在那时候我们可以使用数字图像、数字视频和Android的动画来进行高级用户交互设计和图形设计的学习。

Android服务:处理层

当活动代表了你的应用程序的前端或者前台的时候,Android的服务则代表了后端,或者如果你愿意的话,代表了后台处理,处理繁重的事务。

Android服务类是用来创建处理重复运算任务的Java类,通常通过在后台成为循环或者数据获取过程比如流的编程结构实现,而你的用户同时通过应用程序的前端用户交互活动使用你的应用程序。一个好的例子是用户在使用你的应用程序的时候同时播放一个MP3音频文件。

在Android中有许多服务类的使用,播放MP3和MP4数码视频的娱乐,从远程服务器获取新的媒体文件,将文本转换成语音(语音合成)玩游戏时计算游戏逻辑,处理Android动态壁纸或者Android休息屏幕,在终端用户之间使用蓝牙或NFC来实时传输大的媒体文件,运行拼写检查程序,任何过于复杂的数学运算,3D渲染,以及任何其他需要多处理器(电量)消耗的会使活动和用户交互或者内容变得呆滞迟钝的东西都是明显而常见的一些用途。

幸运的是对于Android开发者来说,最现代的Android设备,比如智能手机,平板,电子阅读器,以及互动电视设备,最低硬件配置都配备了双核的(两个中央处理单元,或称之为CPU)处理器,而且很多拥有四核(四个CPU)的设备也可以使用了,甚至八核心(八个CPU)处理器的设备也出现在市场上了,这意味着有大量的处理能力可以负担你的Android服务类的需求。

把你的后台处理服务放在它自己的线程(我喜欢叫它茧子,但它在已知的编程术语中通常是一个处理)是让Android服务类更加强大的选择之一。在一个拥有很多CPU存在的Android设备上,这个选择可能实际上可以将你的服务类分配到它们自己的CPU核心中。

Android版还提供了许多特殊的从Android服务类派生的子类(我们将在第三章中学习这个Java术语)。比如,有拼写检查服务,壁纸服务,文字转语音服务,休息服务,目的服务,易用性服务,VPN服务和抽象输入法服务可以提供给Android开发者使用。我们将在本书的第17章学习这些服务。

Android的广播接受机:通信层

Android通过广播接收机在其应用程序结构内进行通讯。

这些通常用在应用程序内部通信,以及用于给你的用户提供警告,许多时候是从Android系统或Android设备自身发出的。举例来说,如果手机正在响铃,或者平板即将耗尽电池电量,Android系统发出一个你的程序逻辑可以用某种自定义的动作来响应的广播接收机。其它常见的消息和摄像头被用来拍照,时区的变化,数据下载的完成,语言偏好的改变,一个视频缓存完成了并且准备回放等事件相关。

和Android服务相似,广播接收器在后台运行,并且你可以配置你的应用程序来抓住任何类型你觉得对你应用程序是必需的广播接收器。一旦你的代码检测到它需要响应的广播接收器,它可以调用在合适的活动中的合适的用户界面元素,并提醒终端用户系统或者设备状态的变化。我们将在第十八章详细了解广播接收器。

Android的内容提供商:数据存储层

Android对一个共同的概念有一个独特的术语:数据存储。无论是存储在内存中,SD卡的文件中活在一个SQLite数据库中,Android中存储的数据都通过内容提供商进行访问。

存储并跨Android应用程序分享数据的主要(且最佳)方式是使用开源的SQL技术,这事Android操作系统的一部分。这就是SQLite数据库管理工具包。Android有一个完整的专门用于SQLite数据库管理的包范式,成为android.database.sqlite,其中包含了你需要用来创建并访问SQLite数据库的所有内容。

Android内容提供商的Sqlite数据库通过Android系统跨厂商用于Android设备用户定义数据存储空间。我们将在本书的之后内容中学习更多对于一个Android设备用户更加重要的数据库,rubin联系人数据库和日历数据库。在系统中也有用来追踪用户图像,音频文件,视频文件,播放列表等的新的媒体相关数据库。

Android的意图:程序内部的通信

一个Andorid应用程序内部通过意图在其主要的结构之间通信。

举例来说,你可以使用意图在你的活动和服务之间通信,并且做任何事,无论是启动新的任务或者活动,发送新的任务指令给一个现有的任务。

意图对象持有和应用程序组件所需要来进行被要求的任务的信息。这个信息包含了需要什么行动才能完成这项任务,这项任务使用来进行这个动作的数据的定义,数据的MIME类型以及任何标志位(设置)还有其他通过意图对象从一个Android应用程序送到另一个的可选的可能被用来完全转换成需要被完成的数据或信息。是的,意图是Android操作系统最复杂的地方之一,和它们的扩展类一样。

每种类型的Android组件,活动,服务,或者广播接收器,都有他自己的意图类型对象。这确保了意图不会混杂起来并且让一切仅仅有条。所以通过一个意图来启动服务,你通过你的意图传达了一个Context.startService(); Java方法的调用。对于一个活动来说,使用Context.startActivity();的Java方法调用,对广播接收器来说是使用了Context.sentBroadcast();方法的调用,我们将在第三章(Java)和第十六章(意图)中学习所有的这些内容。

Android清单:应用程序的权限定义

最后,Android使用术语清淡来描述“启动脚本”的XML文件,或者定义并启动任何给定的Android应用程序。Android使用XML来定义 许多东西,并且就像用来启动网站的index.html文件一样,Android应用程序通过他们项目的APK的AndroidManifest.xml文件来启动。

在任何Android引用的.apk文件的根目录下,你会发现一个名为AndroidManifest.xml文件,它包含了Android系统需要用来了解你的应用程序的所有XML标记。这包括了应用支持的Android系统版本,应用包含有什么活动,广播接收器和服务,应用需要什么权限来访问安全数据库以及互联网资源,还有需要被建立的意图过滤器,当然不仅仅包含这些内容。

我们将在我们需要定义特殊活动,服务,广播接收器或者给应用组件分配权限的时候讨论Android清单。这也意味着它会被分成几个部分,到那时候我们也到了这本书的结尾。

总结

在本章中,您在Android开发工具以及新的Android应用助手的一系列对话框的帮助下创建了你的第一个Hello World的Android应用程序。

我们

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[28829],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 30元 才能查看全部内容!立即支付

课题毕业论文、外文翻译、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。