- 浏览: 336514 次
最新评论
-
ax003d:
你好,我使用这种方法,在gridview里显示图片,当图片数量 ...
ScrollView嵌套GridView、ListView的解决办法 -
yunzhu:
Firefox下有Xmarks书签同步插件,很好用,可以方便地 ...
开发人员应该具备的工具----欲善其事,先利其器 -
mjlixm:
Android入门:ContentProvider 学习了! ...
Android入门:ContentProvider -
bluesky329:
很好收益匪浅!
一个软件工程师的经验之谈 -
qinglongyun:
每天工作4小时的程序员
第一章 什么是Android
什么是Android - 嵌入式设备编程的历史-第一章(1)
暂时可以这样说,传统的桌面应用程序开发者已经被惯坏了。这个不是说桌面应用程序开发比其他开发很简单。总之作为桌面应用程序开发者,我们已经有能力按照我们的想法创造出各种应用程序。包括我自己,因为我也是从做桌面程序开始的。一方面,我们已经使得桌面程序更容易的与桌面操作系统来进行交互,并且和任何底部的硬件很自由的交互。这种类型独立自主的程序编制其实对于很小的开发者团体来说是不敢贸然趟手机开发这趟浑水的。
注意:
在本部分讨论中,我提到两种不同的开发者:传统的桌面应用程序开发,他们能使用任何的编程语言,而且最终的产品和程序是用来运行“桌面”操作系统的;还有就是Android的程序开发者,为Android平台开发程序的JAVA程序员。我不是想说谁更好或者其它的意图。区别仅仅在于想说明并比较桌面操作系统环境的开发风格,工具。
有很长一段时间,手机的开发者由大的著名开发组中的少数人组成,作为嵌入式设备的开发者。相对于桌面开发或者后续的网络开发,被视作更少“魅力”,而且嵌入式设备的开发通常因为硬件和操作系统而处于劣势。因为嵌入式设备的制造商们太小气,他们要保护他们硬件方面的秘密,所以他们给开发者们非常有限的库来运行。
嵌入设备与桌面系统显著不同的一部分是嵌入设备是个“芯片上的电脑”。例如:说起你的标准电话遥控。这个并不是一个非常强大并且复杂性的技术。当任何的按钮被按下去,一个芯片解释一个信号以一种方式已经被编程进了设备。这个允许设备知道什么是从输入设备(键盘)来的需要。并且如何的响应这些命令(比如,打开电视机)。这个是一个简单的嵌入式设备的编程。总之,不管你相不相信,像这样的简单设备绝对的和早期的手机和开发有着紧密的联系。
大多数的嵌入式设备运行(有些还在运行)在私有的操作系统。原因是选择并创建一个私有的操作系统而不同定制的系统是产品必然选择。简单的设备不需要非常健全和优化的操作系统。
作为一个产品的演化,更多复杂的嵌入式设备,如早期的PDA,家庭安全系统和GPS等。5年前某种程度上都转移标准的操作系统平台上。小的操作系统如Linux,或者一个微软的嵌入式平台,已经在嵌入设备上变得普遍了。设备演变的那些时间里,手机已自己的路径开始分支出去。这个分支是显而易见的。
差不多开始的时候,手机作为一个外围设备并且运行私有软件,而这些软件被制造商们所拥有和控制,而且几乎可以被认为是一个“关闭”的系统。习惯使用私有操作系统主要是制造商自己开发硬件,或者至少定义了开发的目的只是用来运行手机。最终的结果就是使开放成为不可能。现有的软件包或者解决方案会可靠的和他们的硬件交互。而且,制造商想要保护他们硬件的商业秘密。以防允许进入而发现设备软件的水准。所以风尚就是,而且大多数仍然是使用完全私有并且关闭的软件来运行他们的设备。任何人想为手机开发程序必须需要详尽的私有环境来运行软件的知识。而解决方案就是直接从制造商那里购买昂贵的开发工具。这就孤立了很多的“自制软件”的开发者。
注意:
一个关于自制软件开发的文化包含了手机程序的开发。“自制软件”是指开发者通常不是工作在手机开发公司内,通常利用自己的时间在他们的设备上生产小的,一次性的产品。
另外,使手机开发无法出手的是硬件制造商对于“内存和需要”左右为难的解决方案。直到最近,手机才能执行比打出和接听电话,查找联系人,发送和接收短消息。不是今天“瑞士军刀”的技术。及时在2002年,在消费者的手上,带照相机的手机还是不多见。在1997年,小的应用程序如计算器和游戏爬进了手机内,但是强大的功能仍然是手机的拨号盘本身。手机还不想今天一样是一个多用途,多功能工具。没有人预见互联网浏览的需求,MP3播放,或者更多的是我们今天定制的功能。在1997年,手机制造商们没有预见消费者需要的是一个一体化的设备。但是,即使这个需求展现出来,设备内存和存储容量还是一个需要克服的大的障碍。更多的人可能想要他们的设备是一个多功能一体化的工具,但是制造商们不许跨越他们的障碍。
让问题变得简单,就要在任何的设备让内存来存储并运行程序,包括手机。手机作为一个设备,直到最近还没有足够多内存来执行“额外”的程序。在最近的两年里,内存的价格已经达到了非常低的水平。设备制造商们有足够的能力压低价格来包含更多的内存。很多的现在的手机标准内存已经超过了90年代中期电脑内存。于是,现在我们有需求,而且有内存。我们可以直接跳到为手机开发酷的应用程序了,对吗?不完全是这样。设备的制造商们仍然紧密的保护他们的操作系统。有一些在手机上开放JAVA为基础的小运行环境。更多的是不允许。即使允许运行JAVA应用程序但还是不允许进入核心的系统。而这些是桌面开发者习惯于拥有的。
开放手机联盟和Android-(2)
这个对于应用程序开发的障碍开始在2007年的11月份被打破,当Google在开放手机联盟下发布Android。开放手机联盟是一个硬件和软件开发者的集合,包括谷歌,NTT DoCoMo,Sprint Nextel和 HTC。他们的目标是创建一个更多的开放手机环境。在开放联盟第一个被发布的产品就是移动设备操作系统Android。(更多关于开放手机联盟的信息,见:www.openhandsetalliance.com)。
对于这个Android的发布,谷歌使很多开发工具和向导成为可能来帮助在新系统上可能的开发者。帮助系统,平台软件开发包(SDK),甚至一个开发者的论坛,可以在谷歌的Android的网站上找到,http://code.google.com/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布局。XML UI布局对普通桌面开发者是一个非常新的概念。我会在本书的相关章节里描述XML UI布局和程序化UI开发。
Android 另一个更令人激动和关注的特点是因为它的样式,第三方应用程序——包括“自制的”——会和系统捆绑的有着同样的优先权。这是和大多数系统不同之处,但是给了嵌入式系统程序一个比由第三方开发者创建的线性优先权大的优先执行权。而且,每一个应用程序在虚拟计算机上以一个非常轻量的方式按照自己的线路执行。
除了大量的SDK和成型的类库可以用之外,对激动人心的特性对于Android的开发者来说是我们现在可以进入到操作系统可以进入的地方。也就是说,如果你要创建一个应用程序打一个电话,你已经进入到电话的拨号盘。加入你要创建一个应用程序来使用电话内部的GPS(如果安装了),你已经进入了。对于开发者创建动态和令人好奇的程序已经敞开大门。
和上面这些可用的特点相同,谷歌已经非常迫切的奉送一些特性。Android的开发者可以将自己的应用程序和谷歌提供的如谷歌地图和无所不在的谷歌搜索绑在一起。假设你要写程序在谷歌地图上显示一个来电话者的的位置,或者你要储存一般的搜索结果到你的联系人中。在Android中,这个门已经完全打开。
第二章开始你Android的开发旅程。你会学到如何和为什么使用特定的开发环境或者综合的开发环境(IDE),而且你会下载并且安装JAVA IDE Edipse.
问专家:
Q:谷歌和开放手机联盟的区别在哪里?
A:谷歌是开放手机联盟的一个成员。谷歌在收购了Android的原开发后,在开放手机联盟发布了操作系统。
Q:Android有能力运行任何的Linux软件吗?
A:没必要。我坚信会有一种方式绕开大多数的开源系统和应用程序用Android SDK编译而用于Android。主要原因是Android程序执行特定的文件格式,这会在后续的章节中讨论。
Android示例 - 第四章(4)
Android示例在SDK/SAMPLES内,包含了6个示例可以很好的描述Android的一些功能:
● API Demos
● Hello, Activity!
● Lunar Lander
● Note Pad
● Skeleton App
● Snake
这些示例由谷歌提供来给你一个快速的印象,那就是如何快速的开发Android的应用程序。每一个应用程序描述Android不同功能的一块。你可以用Eclipse打开并且运行这些应用程序。下面是对于每一个示例的简要描述。
API Demos
这个API示例应用程序说明在一个单独的Activity内如何展示多个API功能的示例。
提示:
一个Activity是一个Android的应用程序。Activities会在后续的章节中深入展开。
如下图(略)所示的,这个API示例应用程序包好了很多的,小的不同的Android功能的例子。这些例子包含3-D图形变换,列表,过程对话框和一个手指-画图示例。
运行API样本示例应用程序
使用Eclipse,装载API示例应用现场作为一个Android项目。要做到这个,在Eclipse菜单选择文件|新建|项目,一个新的Android项目向导会启动。现在不用担心向导页面上的一些选项。只是选择从现有的项目中创建项目就好了,并且浏览到API示例所在的目录,点击这个示例。当项目装载好了,选择运行,在Android模拟器中来查看。用你自己的方式去查看超过40个示例吧,使用每一个示例去熟悉这些术语和功能。
Android的几个示例 - 第四章(5)
Hello, Activity!
Hello, Actoviry 应用程序,是一个简单的Hello World风格的应用程序。虽然设计简单,但是它展示了平台的能力。在下一章,你会创建自己的Hello World!风格的程序。
Lunar Lander月球登陆
Lunar Lander是一个在Android模拟器上玩的游戏。这个游戏是2-D的游戏它在Android上工作是多么的简单。控制非常的简单,而且游戏不是非常的复杂。总之,对游戏开发来说是一个良好的开始。
月球登陆执行一个简单控制方案(上,下,左,右)。游戏同时显示相关的非固定的图形并且对平台来说,令人印象深刻。复杂游戏的理论如冲突检出是以一个简单的方式使用的。虽然本书没有包含Android平台游戏编程的内容,加入你有兴趣来做这个,你或许可以从月球登陆中获得某些启发。
Note Pad写字板
Note Pad, 允许你打开,创建并且编辑小的笔记。写字板不是一个全功能的字符编辑器,所以不要期待是和Windows Mobile中word的竞争对手。但是,作为一个演示工具,使用非常少的代码就能实现这个效果已经非常的棒了。
Skeleton App框架应用
Skeleton App这是一个基本的程序,展示了几个不同的应用程序功能。如字体,按钮,图形和表格。如果你想自己运行Skeleton App,真的不应当把它排除在外,参考Skelete App,它会提供不少关于如何执行特定的条款。
Snake 蛇
最有一个在Android SDK的示例就是这个蛇了。这是一个小的SNAFU风格游戏,比月球登陆复杂。
注意:
如果你打开每一个示例应用程序的文件夹,你会看到一个文件夹命名为src。这个是给出示例源代码的文件夹。你可以为其他任何的应用程序来查看,编辑并且重新编译这些代码。利用这些源代码来学一些Android平台技巧和提示。
发表评论
-
Android入门:ContentProvider
2012-07-02 00:06 1981一、ContentProvider介绍 Cont ... -
Android入门:监听ContentProvider数据改变
2012-07-02 00:06 1440一、监听ContentProvider主要步骤 1 ... -
android 使用广播接收者监听短信和拦截外拨电话
2012-06-27 23:31 2217如果你想监听自己或者别人接收到的短信,设置黑名单等功能, ... -
android 广播接收者--BroadcastReceiver
2012-06-27 23:30 3574BroadcastReceiver初识: ... -
一个项目只使用一个Activity初探
2012-06-27 23:29 997提供一个简单案例: 1,新建一个项目 修改和添加 ... -
android 之访问WebService显示手机号码归属地
2012-06-27 23:27 1497发送XML 通过URL封装路径打开一个HttpURLC ... -
Android开发从入门到精通(8) _9
2012-04-24 21:45 2480Spinner 第八章(9) 在本节中将为Spinne ... -
Android开发从入门到精通(8) _8
2012-04-24 21:44 997RadioGroup 第八章(8) 在本章中将为Rad ... -
Android开发从入门到精通(8) _7
2012-04-24 21:43 988EditText 第八章(7) 在本节中,和上一节很类 ... -
Android开发从入门到精通(8) _6
2012-04-24 21:43 872CheckBox 第八章(6) 在本节中,将为Chec ... -
Android开发从入门到精通(8) _5
2012-04-24 21:42 906按钮 第八章(5) 看看下面的代码。这段代码代表了四个 ... -
Android开发从入门到精通(8) _4
2012-04-23 22:18 1087为AutoComplete创建一个 ... -
Android开发从入门到精通(8) _3
2012-04-23 22:17 1214使用菜单 第八章(3) 在本节中,你将建造一个应用 ... -
Android开发从入门到精通(8) _2
2012-04-23 22:17 1121修改AndroidManifest.xml文件 第八章( ... -
Android开发从入门到精通(8) _1
2012-04-23 22:16 917列表,菜单和其它Views 第八章(1) 关键技能 & ... -
Android开发从入门到精通(7) _8
2012-04-23 22:16 1116试试这个:修改AndoridPhoneDialer项目 ... -
Android开发从入门到精通(7) _7
2012-04-22 15:14 1021执行一个EditText View 第七章(7) ... -
Android开发从入门到精通(7) _6
2012-04-22 15:13 1156修改AndroidPhoneDialer 第七章(6) ... -
Android开发从入门到精通(7) _5
2012-04-22 15:13 931编辑活动许可 第七章(5) 大多数的Activit ... -
Android开发从入门到精通(7) _4
2012-04-22 15:12 1024在本节中你将会 ...
相关推荐
书号:ISBN:9787894300874 Android开发从入门到精通
在Android开发领域,掌握基础知识是至关重要的,而这套"Android开发从入门到精通【视频教程+课程源码】"提供了一条系统学习的路径。它不仅包括了详细的视频讲解,还有配套的源代码,旨在帮助初学者从零开始,逐步...
《Android开发从入门到精通》是一本针对Android Studio的详细开发指南,旨在帮助初学者和有一定基础的开发者深入了解和掌握Android应用开发的核心技术。在学习Android开发的过程中,Android Studio是官方推荐的集成...
"Android开发从入门到精通光盘源代码"是一个很好的学习资源,提供了随书配套的详细代码示例,帮助开发者深入理解Android应用开发的各个环节。这里我们将围绕这个主题,深入探讨Android开发中的关键知识点。 首先,...
Android应用开发从入门到精通-源码和课件.rar
《Android开发从入门到精通》是一本专门为Android编程新手量身打造的教程。这本书全面覆盖了Android开发的基础知识,旨在帮助读者快速掌握Android应用开发的核心技能。以下是对书中的主要知识点进行的详细解读: 1....
从给定的文件信息来看,这是一本名为《Android开发从入门到精通》的书籍,作者为扶松柏,版本为扫描版。虽然标签部分似乎有些混乱,将本书标记为"C++经典书籍",但根据标题和描述,我们可以确定这实际上是一本关于...
Android开发应用从入门到精通 朱桂英 中国铁道出版社 本书循序渐进地讲解了android技术的基本知识,并通过实例直观地演示了android在各个领域中的具体应用。本书内容新颖、知识全面、讲解详细,全书分为4篇17章,第...
Android开发从入门到精通是扶松柏编著的一本关于Android应用程序开发的书籍。该书面向初学者,旨在通过简洁明了的语言和生动的实例,详细介绍Android应用开发中所需掌握的各种技术。书中可能覆盖的内容包括但不限于...
在本资源中,我们聚焦于"Android开发从入门到精通"这一主题,特别是关于第9章的源码。这表明该压缩包包含了Android应用开发的一个关键章节的学习资料,特别是实战案例,这对于初学者和进阶者都极具价值。以下是根据...
《Android开发从入门到精通-扶松柏版》这本书籍是Android开发领域中一本专门针对初学者的教程书籍。它以通俗易懂的方式介绍Android开发的基础知识,帮助读者逐步掌握如何使用Android Studio这个集成开发环境来创建和...
《Android开发从入门到精通源码》是一套全面解析Android应用开发的教程,涵盖了从基础知识到高级技巧的全过程。此教程分为两个部分,第一部分包括第2至6章,第二部分涵盖第7至12章,旨在帮助初学者快速掌握Android...
本款android从入门到精通pdf是由明日科技编著,是一本android入门书籍。全书由浅入深,循序渐进,以初、中级程序员为对象,从了解Android和搭建开发环境学起,再学习Android开发的基础技术,然后学习Android开发的...
Android开发从入门到精通第二版项目案例+视频讲解
"android开发从入门到精通光盘源代码第二章"提供的资源正是为了帮助初学者系统学习并深入理解这一平台的编程技术。本章节可能涵盖了Android应用的基础架构、UI设计、事件处理、数据存储等多个方面,通过实际的源代码...
#### Android开发入门:初探与实践 ##### Android开发简介 Android不仅是一个移动平台,更是集成了移动、无线、计算机及通信技术的综合性平台。借助于Android Eclipse插件,开发者能够在Eclipse环境中高效构建...
在本章节"Android开发从入门到精通"中,我们将深入探讨Android应用开发的关键概念和实践技巧,这将有助于初学者迅速提升技能,并为有经验的开发者提供深入理解的平台。第7章通常涵盖的是Android应用架构中的某一核心...