安卓开发教程

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1什么是Android-嵌入式设备编程的历史-第一章暂时可以这样说,传统的桌面应用程序开发者已经被惯坏了。这个不是说桌面应用程序开发比其他开发很简单。总之作为桌面应用程序开发者,我们已经有能力按照我们的想法创造出各种应用程序。包括我自己,因为我也是从做桌面程序开始的。一方面,我们已经使得桌面程序更容易的与桌面操作系统来进行交互,并且和任何底部的硬件很自由的交互。这种类型独立自主的程序编制其实对于很小的开发者团体来说是不敢贸然趟手机开发这趟浑水的。注意:在本部分讨论中,我提到两种不同的开发者:传统的桌面应用程序开发,他们能使用任何的编程语言,而且最终的产品和程序是用来运行“桌面”操作系统的;还有就是Android的程序开发者,为Android平台开发程序的JAVA程序员。我不是想说谁更好或者其它的意图。区别仅仅在于想说明并比较桌面操作系统环境的开发风格,工具。有很长一段时间,手机的开发者由大的著名开发组中的少数人组成,作为嵌入式设备的开发者。相对于桌面开发或者后续的网络开发,被视作更少“魅力”,而且嵌入式设备的开发通常因为硬件和操作系统而处于劣势。因为嵌入式设备的制造商们太小气,他们要保护他们硬件方面的秘密,所以他们给开发者们非常有限的库来运行。嵌入设备与桌面系统显著不同的一部分是嵌入设备是个“芯片上的电脑”。例如:说起你的标准电话遥控。这个并不是一个非常强大并且复杂性的技术。当任何的按钮被按下去,一个芯片解释一个信号以一种方式已经被编程进了设备。这个允许设备知道什么是从输入设备(键盘)来的需要。并且如何的响应这些命令(比如,打开电视机)。这个是一个简单的嵌入式设备的编程。总之,不管你相不相信,像这样的简单设备绝对的和早期的手机和开发有着紧密的联系。大多数的嵌入式设备运行(有些还在运行)在私有的操作系统。原因是选择并创建一个私有的操作系统而不同定制的系统是产品必然选择。简单的设备不需要非常健全和优化的操作系统。作为一个产品的演化,更多复杂的嵌入式设备,如早期的PDA,家庭安全系统和GPS等。5年前某种程度上都转移标准的操作系统平台上。小的操作系统如Linux,或者一个微软的嵌入式平台,已经在嵌入设备上变得普遍了。设备演变的那些时间里,手机已自己的路径开始分支出去。这个分支是显而易见的。差不多开始的时候,手机作为一个外围设备并且运行私有软件,而这些软件被制造商们所拥有和控制,而且几乎可以被认为是一个“关闭”的系统。习惯使用私有操作系统主要是制造商自己开发硬件,或者至少定义了开发的目的只是用来运行手机。最终的结果就是使开放成为不可能。现有的软件包或者解决方案会可靠的和他们的硬件交互。而且,制造商想要保护他们硬件的商业秘密。以防允许进入而发现设备软件的水准。所以风尚就是,而且大多数仍然是使用完全私有并且关闭的软件来运行他们的设备。任何人想为手机开发程序必须需要详尽的私有环境来运行软件的知识。而解决方案就是直接从制造商那里购买昂贵的开发工具。这就孤立了很多的“自制软件”的开发者。注意:一个关于自制软件开发的文化包含了手机程序的开发。“自制软件”是指开发者通常不是工作在手机开发公司内,通常利用自己的时间在他们的设备上生产小的,一次性的产品。另外,使手机开发无法出手的是硬件制造商对于“内存和需要”左右为难的解决方案。直到最近,手机才能执行比打出和接听电话,查找联系人,发送和接收短消息。不是今天“瑞士军刀”的技术。及时在2002年,在消费者的手上,带照相机的手机还是不多见。在1997年,小的应用程序如计算器和游戏爬进了手机内,但是强大的功能仍然是手机的拨号盘本身。手机还不想今天一样是一个多用途,多功能工具。没有人预见互联网浏览的需求,MP3播放,或者更多的是我们今天定制的功能。在1997年,手机制造商们没有预见消费者需要的是一个一体化的设备。但是,即使这个需求展现出来,设备内存和存储容量还是一个需要克服的大的障碍。更多的人可能想要他们的设备是一个多功能一体化的工具,但是制造商们不许跨越他们的障碍。让问题变得简单,就要在任何的设备让内存来存储并运行程序,包括手机。手机作为一个设备,直到最近还没有足够多内存来执行“额外”的程序。在最近的两年里,内存的价格已经达到了非常低的水平。设备制造商们有足够的能力压低价格来包含更多的内存。很多的现在的手机标准内存已经超过了90年代中期电脑内存。于是,现在我们有需求,而且有内存。我们可以直接跳到为手机开发酷的应用程序了,对吗?不完全是这样。设备的制造商们仍然紧密的保护他们的操作系统。有一些在手机上开放JAVA为基础的小运行环境。更多的是不允许。即使允许运行JAVA应用程序但还是不允许进入核心的系统。而这些是桌面开发者习惯于拥有的。2开放手机联盟和Android-(2)这个对于应用程序开发的障碍开始在2007年的11月份被打破,当Google在开放手机联盟下发布Android。开放手机联盟是一个硬件和软件开发者的集合,包括谷歌,NTTDoCoMo,SprintNextel和HTC。他们的目标是创建一个更多的开放手机环境。在开放联盟第一个被发布的产品就是移动设备操作系统Android。(更多关于开放手机联盟的信息,见:)。对于这个Android的发布,谷歌使很多开发工具和向导成为可能来帮助在新系统上可能的开发者。帮助系统,平台软件开发包(SDK),甚至一个开发者的论坛,可以在谷歌的Android的网站上找到,这个网站应该是你的起点,而且我极度推荐你去访问。注意:谷歌为了推动这个新的Android操作系统,甚至为寻找新的Android程序而设立了1000万美元的奖金。运行Linux,Windows或者即使PalmOS的手机是很容易找到,如本文所述,没有硬件平台已经宣告可以来运行Android.HTC,LG电子,摩托罗拉和三星都是开发手机成员,在Android的发布下,我们希望在不久的将来有一些Android为基的设备。在2007年11月发布时,系统自身还仍旧是一个测试版的程序。这是个对开发者的好新闻因为它给了我们一个罕见的提前看到将来的设备和有机会来开始开发应用程序,而当硬件发布时就可以运行。注意:这个策略明确的给了开放手机联盟一个大的优势,超越其它手机操作系统开发者。因为当第一代设备发布时会有数不尽的可用开发程序可以运行。介绍Android第一章(3)Android,作为一个系统,是一个运行在Linux2.6核心上的JAVA基础的操作系统。系统是非常轻量型的而且全特性。图显示了一个未经修改的Android桌面屏幕。Android应用程序用JAVA开发而且很容易被放置到新的平台上。如果你没有下载JAVA或者不确定那一个版本你需要,我在第二章详细列出了开发环境的安装。其他Android的特点包括一个加速3-D图形引擎(基于硬件支持),被SQLite推动的数据库支持,和一个完整的网页浏览器。如果你熟悉JAVA编程或者是任何种类的OOP开发者,你可能使用程序用户接口(UI)开发-那就是,UI安置是直接在程序代码中有句柄的。Android,识别并许可UI开发,而且支持新生,XML为基础的UI布局。XMLUI布局对普通桌面开发者是一个非常新的概念。我会在本书的相关章节里描述XMLUI布局和程序化UI开发。Android另一个更令人激动和关注的特点是因为它的样式,第三方应用程序——包括“自制的”——会和系统捆绑的有着同样的优先权。这是和大多数系统不同之处,但是给了嵌入式系统程序一个比由第三方开发者创建的线性优先权大的优先执行权。而且,每一个应用程序在虚拟计算机上以一个非常轻量的方式按照自己的线路执行。除了大量的SDK和成型的类库可以用之外,对激动人心的特性对于Android的开发者来说是我们现在可以进入到操作系统可以进入的地方。也就是说,如果你要创建一个应用程序打一个电话,你已经进入到电话的拨号盘。加入你要创建一个应用程序来使用电话内部的GPS(如果安装了),你已经进入了。对于开发者创建动态和令人好奇的程序已经敞开大门。和上面这些可用的特点相同,谷歌已经非常迫切的奉送一些特性。Android的开发者可以将自己的应用程序和谷歌提供的如谷歌地图和无所不在的谷歌搜索绑在一起。假设你要写程序在谷歌地图上显示一个来电话者的的位置,或者你要储存一般的搜索结果到你的联系人中。在Android中,这个门已经完全打开。下载和安装Eclipse总则-第二章(1)-关键技能&概念-选择一个开发环境-下载Eclipse-安装和配置EclipseAndroid应用程序是在JAVA下开发的。Android自身不是一个语言,但是是一个运行应用程序的环境。这样,理论上你可以使用任何发布或者综合开发环境(IDE)来开始你的开发。事实上,你可以选择非IDE开发。提示:3在本章稍后,我会介绍不使用IDE或者“命令行接口”(CLI)来开发Android应用程序。这期间,我不会在书中的每一个例子都使用这种技术,你将会学到如何在CLI里开发的基础知识。假如你对使用JAVA的IDE比较舒服,如Borland的JBuilder或者开源NetBeans,你可以尽管去使用。有了中等的水平的经验,你应当可以适应本书大部分的例子。但是,开放手机联盟和谷歌认同一个JAVA的IDE,那就是:Eclipse.注意:如果你选择不用Eclipse来跟从本书的例子,你需要看看你的IDE文档关于编译和测试你的Android的程序。书中的例子只给了如何在Eclipse中编译和测试程序的说明,在Eclipse中使用Android的plugin。本章简明的描述了如何下载和安装Eclipse以及所要求的JAVARuntimeEnvironment(JRE)。很多的时候,安装向导和教材趋向于跳过简单的步骤。我已经发现跳过简单的步骤经常忽略重要的条目。因为这个原因,我在本章内包含了从下载到安装的所有步骤。为什么是Eclipse?为什么Eclipse是推荐的Android程序开发的IDE呢?对这个特定的认同有一些原因:1、为了保持开发手机联盟真正开放移动开发市场的宗旨,Eclipse是有着同样显著特点的,免费的JavaIDE可以使用。Eclipse同样容易使用,最少的学习时间。这些特性让Eclipse对于固定的,开放的Java开发成为吸引人的IDE。2、开发手机联盟已经为Eclipse发布了一个Android的plugin,允许你来创建Android-定义项目,编译它们,并且使用Android模拟器来运行和调试程序。当你开发你的第一个Android程序时,这些工具和能力将会是非常宝贵的。你还是可以用其它的IDE来创建Android程序,但是Android的plugin为Elipse创建某些元素——如,文件和编译设定。这些来自Android-plugin的帮助将缩短你宝贵的开发时间并减少学习的弯路,那就意味着你可以花费更多的时间来创建惊人的应用程序了。注意:Elipse同样也可用于苹果和Linux系统,有着强大的能力,在不同的操作系统,意味着几乎每个人可以在任何的电脑上开发Android的应用程序。不过,本书的例子和电脑截图觉来自与微软Windows版本的Eclipse。记住这一点,如果你使用其他的电脑操作系统。你的界面可能看上去会有轻微的不同,但是总体的功能不会改变。如果在Linux的Eclipse有一些主要的操作不同点的话,我会举例说明。我会举出一些在Linux上的列子。而主要的例子会是Linux/Android的命令行环境(CLE)。下载和安装JRE-第二章(2)在你下载和安装Eclipse之前,你必须确保在电脑上下载并安装了JavaRuntimeEnvironment(JRE)。因为Eclipse作为一个程序是由Java写成,它要求JRE来运行。如果JRE没有安装或被检测到,如果你试着打开Eclipse,你会看见下面的错误:如果你已经是一个Java的开发者并且已经在电脑上安

1 / 152
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功