安卓开发教程

上传人:jiups****uk12 文档编号:38474222 上传时间:2018-05-02 格式:DOC 页数:152 大小:471KB
返回 下载 相关 举报
安卓开发教程_第1页
第1页 / 共152页
安卓开发教程_第2页
第2页 / 共152页
安卓开发教程_第3页
第3页 / 共152页
安卓开发教程_第4页
第4页 / 共152页
安卓开发教程_第5页
第5页 / 共152页
点击查看更多>>
资源描述

《安卓开发教程》由会员分享,可在线阅读,更多相关《安卓开发教程(152页珍藏版)》请在金锄头文库上搜索。

1、1什么是什么是 Android - 嵌入式设备编程的历史嵌入式设备编程的历史-第一章第一章暂时可以这样说,传统的桌面应用程序开发者已经被惯坏了。这个不是说桌面应用程序开发比其他开发很简单。总之作为桌面应用程序开发者,我们已经有能力按照我们的想法创造出各种应用程序。包括我自己,因为我也是从做桌面程序开始的。一方面,我们已经使得桌面程序更容易的与桌面操作系统来进行交互,并且和任何底部的硬件很自由的交互。这种类型独立自主的程序编制其实对于很小的开发者团体来说是不敢贸然趟手机开发这趟浑水的。 注意: 在本部分讨论中,我提到两种不同的开发者:传统的桌面应用程序开发,他们能使用任何的编程语言,而且最终的产

2、品和程序是用来运行“桌面”操作系统的;还有就是 Android 的程序开发者,为 Android 平台开发程序的 JAVA 程序员。我不是想说谁更好或者其它的意图。区别仅仅在于想说明并比较桌面操作系统环境的开发风格,工具。有很长一段时间,手机的开发者由大的著名开发组中的少数人组成,作为嵌入式设备的开发者。相对于桌面开发或者后续的网络开发,被视作更少“魅力”,而且嵌入式设备的开发通常因为硬件和操作系统而处于劣势。因为嵌入式设备的制造商们太小气,他们要保护他们硬件方面的秘密,所以他们给开发者们非常有限的库来运行。嵌入设备与桌面系统显著不同的一部分是嵌入设备是个“芯片上的电脑”。例如:说起你的标准电

3、话遥控。这个并不是一个非常强大并且复杂性的技术。当任何的按钮被按下去,一个芯片解释一个信号以一种方式已经被编程进了设备。这个允许设备知道什么是从输入设备(键盘)来的需要。并且如何的响应这些命令(比如,打开电视机) 。这个是一个简单的嵌入式设备的编程。总之,不管你相不相信,像这样的简单设备绝对的和早期的手机和开发有着紧密的联系。大多数的嵌入式设备运行(有些还在运行)在私有的操作系统。原因是选择并创建一个私有的操作系统而不同定制的系统是产品必然选择。简单的设备不需要非常健全和优化的操作系统。作为一个产品的演化,更多复杂的嵌入式设备,如早期的 PDA,家庭安全系统和 GPS 等。5 年前某种程度上都

4、转移标准的操作系统平台上。小的操作系统如 Linux,或者一个微软的嵌入式平台,已经在嵌入设备上变得普遍了。设备演变的那些时间里,手机已自己的路径开始分支出去。这个分支是显而易见的。差不多开始的时候,手机作为一个外围设备并且运行私有软件,而这些软件被制造商们所拥有和控制,而且几乎可以被认为是一个“关闭”的系统。习惯使用私有操作系统主要是制造商自己开发硬件,或者至少定义了开发的目的只是用来运行手机。最终的结果就是使开放成为不可能。现有的软件包或者解决方案会可靠的和他们的硬件交互。而且,制造商想要保护他们硬件的商业秘密。以防允许进入而发现设备软件的水准。所以风尚就是,而且大多数仍然是使用完全私有并

5、且关闭的软件来运行他们的设备。任何人想为手机开发程序必须需要详尽的私有环境来运行软件的知识。而解决方案就是直接从制造商那里购买昂贵的开发工具。这就孤立了很多的“自制软件”的开发者。注意:一个关于自制软件开发的文化包含了手机程序的开发。 “自制软件”是指开发者通常不是工作在手机开发公司内,通常利用自己的时间在他们的设备上生产小的,一次性的产品。另外,使手机开发无法出手的是硬件制造商对于“内存和需要”左右为难的解决方案。直到最近,手机才能执行比打出和接听电话,查找联系人,发送和接收短消息。不是今天“瑞士军刀”的技术。及时在 2002 年,在消费者的手上,带照相机的手机还是不多见。在 1997 年,

6、小的应用程序如计算器和游戏爬进了手机内,但是强大的功能仍然是手机的拨号盘本身。手机还不想今天一样是一个多用途,多功能工具。没有人预见互联网浏览的需求,MP3 播放,或者更多的是我们今天定制的功能。在 1997年,手机制造商们没有预见消费者需要的是一个一体化的设备。但是,即使这个需求展现出来,设备内存和存储容量还是一个需要克服的大的障碍。更多的人可能想要他们的设备是一个多功能一体化的工具,但是制造商们不许跨越他们的障碍。让问题变得简单,就要在任何的设备让内存来存储并运行程序,包括手机。手机作为一个设备,直到最近还没有足够多内存来执行“额外”的程序。在最近的两年里,内存的价格已经达到了非常低的水平

7、。设备制造商们有足够的能力压低价格来包含更多的内存。很多的现在的手机标准内存已经超过了 90 年代中期电脑内存。于是,现在我们有需求,而且有内存。我们可以直接跳到为手机开发酷的应用程序了,对吗?不完全是这样。设备的制造商们仍然紧密的保护他们的操作系统。有一些在手机上开放 JAVA 为基础的小运行环境。更多的是不允许。即使允许运行 JAVA 应用程序但还是不允许进入核心的系统。而这些是桌面开发者习惯于拥有的。2开放手机联盟和开放手机联盟和 Android-(2)这个对于应用程序开发的障碍开始在 2007 年的 11 月份被打破,当 Google 在开放手机联盟下发布 Android。开放手机联盟

8、是一个硬件和软件开发者的集合,包括谷歌,NTT DoCoMo,Sprint Nextel 和 HTC。他们的目标是创建一个更多的开放手机环境。在开放联盟第一个被发布的产品就是移动设备操作系统 Android 对于这个 Android 的发布,谷歌使很多开发工具和向导成为可能来帮助在新系统上可能的开发者。帮助系统,平台软件开发包(SDK),甚至一个开发者的论坛,可以在谷歌的 Android 的网站上找到,http:/ 这个网站应该是你的起点,而且我极度推荐你去访问。注意:谷歌为了推动这个新的 Android 操作系统,甚至为寻找新的 Android 程序而设立了 1000 万美元的奖金。运行 L

9、inux, Windows 或者即使 PalmOS 的手机是很容易找到,如本文所述,没有硬件平台已经宣告可以来运行Android.HTC,LG 电子,摩托罗拉和三星都是开发手机成员,在 Android 的发布下,我们希望在不久的将来有一些 Android 为基的设备。在 2007 年 11 月发布时,系统自身还仍旧是一个测试版的程序。这是个对开发者的好新闻因为它给了我们一个罕见的提前看到将来的设备和有机会来开始开发应用程序,而当硬件发布时就可以运行。注意: 这个策略明确的给了开放手机联盟一个大的优势,超越其它手机操作系统开发者。因为当第一代设备发布时会有数不尽的可用开发程序可以运行。 介绍介绍

10、 Android 第一章第一章(3)Android,作为一个系统,是一个运行在 Linux2.6 核心上的 JAVA 基础的操作系统。系统是非常轻量型的而且全特性。图 显示了一个未经修改的 Android 桌面屏幕。Android 应用程序用 JAVA 开发而且很容易被放置到新的平台上。如果你没有下载 JAVA 或者不确定那一个版本你需要,我在第二章详细列出了开发环境的安装。其他 Android 的特点包括一个加速 3-D 图形引擎(基于硬件支持) ,被 SQLite 推动的数据库支持,和一个完整的网页浏览器。如果你熟悉 JAVA 编程或者是任何种类的 OOP 开发者,你可能使用程序用户接口(

11、UI)开发-那就是,UI 安置是直接在程序代码中有句柄的。Android,识别并许可 UI 开发,而且支持新生,XML 为基础的 UI 布局。XMLUI 布局对普通桌面开发者是一个非常新的概念。我会在本书的相关章节里描述 XML UI 布局和程序化 UI 开发。Android 另一个更令人激动和关注的特点是因为它的样式,第三方应用程序包括“自制的”会和系统捆绑的有着同样的优先权。这是和大多数系统不同之处,但是给了嵌入式系统程序一个比由第三方开发者创建的线性优先权大的优先执行权。而且,每一个应用程序在虚拟计算机上以一个非常轻量的方式按照自己的线路执行。除了大量的 SDK 和成型的类库可以用之外,

12、对激动人心的特性对于 Android 的开发者来说是我们现在可以进入到操作系统可以进入的地方。也就是说,如果你要创建一个应用程序打一个电话,你已经进入到电话的拨号盘。加入你要创建一个应用程序来使用电话内部的 GPS(如果安装了) ,你已经进入了。对于开发者创建动态和令人好奇的程序已经敞开大门。和上面这些可用的特点相同,谷歌已经非常迫切的奉送一些特性。Android 的开发者可以将自己的应用程序和谷歌提供的如谷歌地图和无所不在的谷歌搜索绑在一起。假设你要写程序在谷歌地图上显示一个来电话者的的位置,或者你要储存一般的搜索结果到你的联系人中。在 Android 中,这个门已经完全打开。下载和安装下载

13、和安装 Eclipse 总则总则 - 第二章(第二章(1)-关键技能 public final class R public static final class attr public static final class drawable public static final int icon=0x7f020000; public static final class layout public static final int main=0x7f030000; public static final class string public static final int app_na

14、me=0x7f040000; 注意:R.java 文件的注释部分提供了关于这个文件起源的解释。它说明文件由 aapt 工具创建。在第六章,当你创建命令行版本的15Hello World 时,你将用命令行工具创建所有自动产生的文件。.java 文件在 src 目录下,你会花费大多数时间在这个文件上。本例是 HelloWorldText.java.这个是你的创建新的Android 程序向导时由 Androidplugin 创建并与活动名称匹配来命名的。不像本部分大多数你已经看过的文件,这个文件完全可以编辑。事实上,如果你不修改代码,它会为了做一点点的事情。Package android_progr

15、ammers_guide.HelloWorldText; import android.app.Activity; import android.os.Bundle; public class HelloWorldText extends Activity /* Called when the activity is first created. */ Override public void onCreate(Bundle icicle) super.onCreate(icicle); setContentView(R.layout.main); 在文件上面的三行是标准预处理器指令那就是,如

16、大多数的编程语言,在程序处理前声明是指令到编译然后运行。在本例中,你在 package android_programmers_guide.HelloWorldText.有了定义和包含。下两行通过 android.java 从 Android SDK 中导入特别的包装。import android.app.Activity; 和 import android.os.Bundle;这些行告诉项目去包括所有你程序里面的代码之前包括所有来自导入包装的代码。这两行对于基本的 Android 程序非常的重要并且不应当被移除。提示:如果你在项目里没有看到.android.os.Bundle 的输入声明,在开发窗口展开树形。Eclipse 会给出在第一个下面所有输入的声明,所以你必须展开树形结构来看其余的声明。现在让我们关注到你的类 HelloWorldText,你会看到它扩展了 Activityclass.Activity 被从前一行导入。所有的程序源于Activity

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号