由于单位业务的需要正好有机会开始接触手机开发相关知识,直觉--当然,我想对很多朋友来说已经是常识了,手机开发离企业越来越近,许多公司应用都在开发相应的手机平台,这是一个充满机会的平台。个人喜好的原因最初是想从IPhone开发开始学习的,可惜的是读过好几篇文章并实际摸索后发现尽管也有朋友成功的结合VM7以及darwin.iso等引导文件成功的在Windows环境下安装了苹果的虚拟机,但失败的也不少。暂时放弃苹果的开发探索,先从Andorid开始。
Android平台构建于Linux内核环境上,Android包含一个构建在WebKit基础上的可嵌入浏览器,Andorid提供了多种连接选项,包括WiFi、蓝牙和通过蜂窝连接的无线数据传输(例如GPRS、EDGE和3G)。Android通过提供对2D和3D图形的内置支持,包括OpenGL库,提供了图形方面的支持,此外Android包括流行的开源SQLite数据库提供了数据存储的支持,下图是一个简化的Android软件层次架构:
其中Dalvik是Google公司自己设计用于Android平台的Java虚拟机。Dalvik虚拟机是Google等厂商合作开发的Android移动设备平台的核心组成部分之一。它可以支持已转换为 .dex(即Dalvik Executable)格式的Java应用程序的运行,.dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。Dalvik 经过优化,允许在有限的内存中同时运行多个虚拟机的实例,并且每一个Dalvik 应用作为一个独立的Linux 进程执行。独立的进程可以防止在虚拟机崩溃的时候所有程序都被关闭。
Android运行在Linux内核上,Android应用程序是用Java编程语言写的,它们在一个虚拟机(VM)中运行,每个Android应用程序都在Dalvik VM的一个实例中运行,这个实例驻留在一个由Linux内核管理的进程中,Android应用程序由一个或多个组件组成:
活动:具有可视UI的应用程序是用活动实现的,当用户从主屏幕或应用程序启动器选择一个应用程序时,就会开始一个动作;
服务:服务应用于任何需要持续较长时间的应用程序,例如网络监视器或更新应用程序;
内容提供程序:可以将内容提供程序看作数据库服务器,内容提供程序的任务是管理对持久数据的访问,例如SQLite数据库。如果应用程序非常简单,那么可能不需要创建内容提供程序,如果要构建一个较大的应用程序,或者构建需要为多个活动或应用程序提供数据的应用程序,那么可以使用内容提供程序实现数据访问;
广播接收器:Android应用程序可用于处理一个数据元素,或者对一个事件(例如接收文本信息)做出相应。
Android应用程序是连同一个AndroidManifest.xml文件一起部署到设备的,AnroidManifest.xml包含必要的配置信息,以便将它适当地安装到设备,它包含必须的类名和应用程序能够处理的事件类型,以及运行应用程序所需的许可。例如,如果应用程序需要访问网络----例如为了下载一个文件----那么manifest文件中必须显示地列出该许可。很多应用程序可能启用了这个特定的许可,这种声明式安全性有助于减少恶意应用程序损害设备的可能性
开发环境:
Android应用程序开发环境使用Eclipse IDE,Android开发可以在Microsoft Windows、Max OS X或Linux上进行,接下来尝试通过Eclipse IDE和用于Eclipse的Android Developer Tools插件来进行Android手机应用程序的开发。
(Mark:接下来将按照http://wenku.baidu.com/view/b163d650ad02de80d4d8402c.html的提示开始进行开发,下载JDK,Eclipse,Android SDK等)
参考:
如何在Windows环境中安装IPone开发环境:http://wenku.baidu.com/view/8a809fec0975f46527d3e113.html
IBM Developerworks Android开发简介:
http://www.ibm.com/developerworks/cn/opensource/os-android-devel/#resources