-
Android 框架图
650) this.width=650;">
Android系统主要分成四层:
Linux Kernel:是Linux的核心,主要继承了显示驱动、相照驱动、蓝牙、闪存、USB驱动等等,是基本的系统驱动程序。
Library&&Android Runtime:该层主要包含了C,C++程序包 以及 Android 的运行环境。其中Android运行环境包括核心包和Google虚拟机,这个是专门用于手机上。
Application Framework:该层是应用程序框架,主要用java编程的,我们编写程序都是通过调用该层的。
Applications:这一层就是我们开发人员所编写的,而我们所用到的类都是调用Application Framework层中的类库。 -
Android的王国历史
2005年Google收购刚成立公司22个月的Android公司。
2007年11月5日,以Google为首的34家公司宣布成立开放手机联盟。
2008年9月22日,美国运营商T-Mobile USA在纽约正式发布第一款Google手机T-Mobile G1 -
Android 建国纲领
随时随地都可以提供个人信息650) this.width=650;">
- Android vs IPhone
650) this.width=650;">
-
Android 之四大天王
其一Activity:我是整个应用程序的门面,当然要涨得漂亮哦。我主要负责应用程序当中的数据展示。也就是Activity是构造应用程序的界面。现在Android SDK2.2的版本界面非常漂亮,如图:650) this.width=650;">
其二Intent:我是运输大队长,应用程序当中的所有数据都是通过我来传递的。他主要在整个应用程序中传递数据,界面与界面之间的传递,页面与页面之间的传递,都是通过Intent来完成,我们可以用下面的图来很形象的展示:650) this.width=650;">
其三Service:我是Android里面的劳模,你们虽然看不到我,但是我承担着大部分数据处理的工作。我们也用图片来形象展示Service的担任的角色:650) this.width=650;">
其四Content Provider:我是Android王国的国家档案馆,我负责存储数据,并允许有需要的应用程序访问这些数据。我们也通过图片来形象展示Content Provider担任的角色:650) this.width=650;">
-
Android 的开发工具
Android SDK 2.2:我们通常把Android SDK 比喻成屠龙刀。
Eclipse + ADT插件:我们通过将这个工具比喻成Android的倚天剑。
为什么要这样比喻,其一就是让大家更容易去理解和记忆,其二就是这两个比喻很形象的表达了Android开发工具的特点,这个需要自己慢慢体会吧。 -
Android王国的金矿
第一座金矿:就是出售应用程序来赚钱。
第二座金矿:就是应用程序免费使用,但可以在应用程序中添加广告来赚钱。
总之,这两种赚钱的方法都可以,只是我个人觉得第二种方式更好,更容易销售。
Activity是最基本的模版,被称之为"活动"。在应用程序中,一个Activity通常就是一个单独的屏幕。每一个Activity都被实现为一个独立的类,并且从Activity基类中继承而来。Activity类将会显示由视图控件组成的用户接口,并对事件作出响应。大多数的应用程序都是由多个Activity组成。可以这样理解,Activity代表一个用户所能看到的屏幕,主要用于处理应用程序的整体性工作,例如:监听系统事件(按键事件等),为用户显示指定的View,启动其他Activity等。
Intent类用于描述应用的功能。在Intent的描述结构中,有两个最重要的部分:动作和动作对应的数据,主要的动作类型有MAIN、VIEW、PICK、EDIT,而动作所对应的数据则以URI的形式表示。通过解析各种Intent,实现在Activity与Activity之间切换是很简单的。当向前导航时,Activity将会调用startActivity(Intent intent)方法,系统就会在所有已安装的的应用程序中定义的IntentFilter中查找,找到最匹配的intent的Intent对应的Activity,新的Activity接受到intent的通知后开始运行。
Service被称之为"服务",既然是服务,那么Service将是一个生命周期长且没有用户界面的程序。也就是说,它一直都是在后台运行的。
Content Provider是一个特殊的储存数据的类型,它提供了一套标准的接口用于获取和操作数据。Android自身提供了一些现成的Content Provider,这包括Contacts、Browser、CallLog、Settings、MediaStore。应用可以通过唯一的ContentResolver界面来使用具体的某个Content Provider,然后就可以用ContentResolver提供的方法来使用你需要的Content Provider了。
在Android中,默认使用SQLite作为系统的数据库。Android应用能够将它们的数据保存到文件和SQLite数据库中,甚至是任何有效的设备中。但在Android中,每个应用程序都运行在各自的进程中,当一个应用需要访问其他应用的数据时,也就是数据需要在不同的虚拟机之间传递,这样的情况操作起来很困难。Content Provider也正式用来解决在不同应用之间共享数据的工具。