您的位置:网站首页 > 电器维修资料网 > 正文 >
Android软硬件巧妙整合的开发技巧
来源: 日期:2013-12-4 20:48:36 人气:标签:
android一词的本义指“机器人”,同时也是google于2007年11月5日宣布的基于linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。
android是基于linux内核的操作系统,是google公司在2007年11月5日公布的手机操作系统。早期由原名为“android”的公司开发,谷歌在2005年收购“android.inc”后,继续进行对android系统开发运营,它采用了软件堆层(software stack,又名软件叠层)的架构,主要分为三部分。底层linux内核只提供基本功能,其他的应用软件则由各公司自行开发,部分程序以java编写。2011年初数据显示,仅正式上市两年的操作系统android已经超越称霸十年的塞班系统,使之跃居全球 受欢迎的智能手机平台。现在,android系统不但应用于智能手机,也在平板电脑市场急速扩张。采用android系统主要厂商包括台湾的htc,(第一台谷歌的手机g1由htc生产代工)美国摩托罗拉,se等,另外还有中国大陆厂商如:华为、中兴、联想等。
android以java为编程语言,从接口到功能,都有层出不穷的变化,其中activity等同于j2me的midlet,一个 activity 类(class)负责创建视窗(window),一个活动中的activity就是在 foreground(前景)模式,背景运行的程序叫做service。两者之间通过由serviceconnection和aidl连结,达到复数程序同时运行的效果。如果运行中的 activity 全部画面被其他 activity 取代时,该 activity 便被停止(stopped),甚至被系统清除(kill)。
view等同于j2me的displayable,程序人员可以通过 view 类与“xml layout”档将ui放置在视窗上,android 1.5的版本可以利用 view 打造出所谓的 widgets,其实widget只是view的一种,所以可以使用xml来设计layout,htc的android hero手机即含有大量的widget。至于viewgroup 是各种layout 的基础抽象类(abstract class),viewgroup之内还可以有viewgroup。view的构造函数不需要再activity中调用,但是displayable的是必须的,在activity 中,要通过findviewbyid()来从xml 中取得view,android的view类的显示很大程度上是从xml中读取的。view 与事件(event)息息相关,两者之间通过listener 结合在一起,每一个view都可以注册一个event listener,例如:当view要处理用户触碰(touch)的事件时,就要向android框架注册view.onclicklistener。另外还有image等同于j2me的bitmap。
随着科技的快速演进,现代人对移动通信、无线上网与多媒体娱乐的需求更甚以往,所谓的智能手机(smart phone)便成了炙手可热的个人消费电子产品之一,从apple不断推出iphone企图颠覆消费者对手机的想象、rim推出主打商务功能的黑莓机、google的android系统让众家手机厂商争食大饼,到微软屡败屡战的从winmo一路开发到wp7,智能手机的这块战场可说是打的如火如荼。然而在这些众家竞争者中,android可说是目前行情看俏的一套操作系统,以国际市调研究机构gartner 新出炉2010年第三季的调查为例,采用android操作系统的智能手机在过去一年以来成长幅度 高,光是市占率便是前一年同期的七倍之多,销售量更是达到14倍的成长,同时也一举从市占率排名的第六名窜升到第二名。
*gartner 2010 q3 worldwide smartphone sales
android在过去一直扮演后起之秀的角色,切入智能手机的速度似乎慢了苹果的ios一步,但与apple相同的是,它也成功的将其应用从手机移植到了平板电脑(tablet pc)上。android开放源代码(open source)的特性,能轻易地提高厂商对自家产品的接受度,更不用提背后google的强力撑腰能带来多大的经济效益。目前可见包括手机厂商htc、摩托罗拉(motorola)、三星(samsung),以及电脑大厂惠普(hp)与戴尔(dell)等皆投向android的怀抱,android被广泛应用可说是势在必行。
尽管android系统的普及看似指日可待,但在实际的产品应用上,也有其可能产生的问题风险。android作为一个开放式的操作系统,是google提供厂商的操作系统参考架构(reference design),厂商能有充足的发挥空间,以android为基础向上开发设计自家产品,但也因为这样的开放性与自由性,让厂商在软硬件结合的这个环节必须下更大的功夫,像是如何挑选合适的硬件包括基频处理器、通信芯片、触控感应芯片、天线与存储器模组等,以及如何调整出 适当的软件设定等,更重要的是如何将软硬件整合,开发出差异化的产品。这中间所有的细节都会对产品 终样貌产生莫大的影响,像是其功能的完整度、使用接口的设计、效能表现(例如触控滑动画面、开启程序所需时间)、品质可靠度、甚至是后续的固件升级动作等等。
一、解构android基本技术架构
首先我们先来看到android的基本技术架构,android是以linux为核心,并采用软件堆迭(software stack)的架构延伸发展的一套软件平台与操作系统。根据下图可以看出,其基本架构分为五层:
*android structure by google
·linux核心(linux kernel):以linux开发提供 底层的核心系统服务,包括安全性(security)、存储器管理(memory management)、进程管理(process management)、网路堆迭(network stack)与驱动程序模型(driver model)。
·android执行环境(android runtime):透过core libraries(核心函式库)以及暂存器型态的dalvik virtual machine(dalvik虚拟机器)来执行程序。
·系统函式库(library):使用c/c++函式库的系统组件以供呼叫使用,开发者可透过上层的应用程序框架来运用这些功能,这也是主要android设备的效能关键。
·应用程序框架(application framework):被设计来简化组件的再运用,开发者能完整存取使用与核心应用程序(core application)相同的api,应用程序可以发布功能并为其它应用程序所使用(需受限于其安全性限制),开发者也可运用同样的机制来新增与置换组件。
- 1
- 2
- 3
- 下一页
【看看这篇文章在百度的收录情况】
相关文章
- 上一篇: 简单的单片机的流水灯程序
- 下一篇: 电容式触摸传感器原理