面向嵌入式领域Android教学方法探讨.docVIP

面向嵌入式领域Android教学方法探讨.doc

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向嵌入式领域Android教学方法探讨

面向嵌入式领域Android教学方法探讨   摘要:根据Android系统本身的开源特性以及脱胎于Linux系统的继承特性,提出一种横向借鉴Linux系统知识进行扩展、纵向挖掘Android系统知识进行延伸的教学方法,说明教学思路,结合实例阐述教学过程。   关键词:Android教学;Linux系统;Android系统;横向借鉴;纵向挖掘   引言   物联网的发展如火如荼,大有赶超互联网的势头,而物联网本身基于物物相联的理念,催生了众多的智能嵌入式设备。但是,智能嵌入式设备并不是空中楼阁,而是基于低功耗精简指令的硬件设备辅以高度可定制化开源系统的一种软硬结合体。Android作为一种开源且专门面向移动嵌入式设备的系统,无疑成为众多智能嵌入式设备的首选,成为物联网不可或缺的一个环节。因此,Android相关教学日益凸显其重要性。   不过,目前的Android教学多注重系统层面之上APP开发的实践,而没有深入Android系??内部,学生往往知其然不知其所以然,对底层的知识没有完整系统的概念。这种教学显然无法适应当前物联网迅猛发展、智能嵌入式设备呈井喷之势的现状。因为不管是物联网还是智能嵌入式设备,其关注的不仅仅是上层的APP应用,更需要深入Android系统的底层,在完全了解其机制的基础上,才能定制开发出适应嵌入式物联网需求的智能设备,更好地实现物物相联的理念。另外,传统的嵌入式设备多以Linux作为首选系统,而Android系统脱胎于Linux系统,二者之间有着千丝万缕的联系。面对老牌的嵌入式可定制系统Linux,在进行Android系统的教学和实践时,肯定存在许多可以举一反三的例子。因此,Android相关教学除了可以在应用开发的层面深入系统底层,还可以从Linux的教学中汲取更多的知识。   1教学思路   图1是Android系统结构图,可以看到Android的底层是Linux内核,中间层是和Linux兼容的标准C库,同时加入核心库和虚拟机构成Android特有的runtime环境。目前的Android教学一般只关注最上层的应用程序及其需要调用的应用程序框架接口,并没有深入Android系统的底层。不过Android系统本身是开源的,这为我们深入其底层提供了前提条件。另外,从图1可以看到,Android系统是基于Linux内核的衍生版本,许多Linux系统的理念可以直接借鉴,这就为深入理解Android系统提供了一面镜子。基于上述想法,我们设计开发了以全智A20为核心的教学实验板,同时兼容Linux和Android两套系统,且可以很方便地进行系统切换。在实际教学过程中,应以此实验板为基础,进行从应用到底层的全方位的知识传授。   由于Android系统以及其上的应用都是实践性很强的知识,因此我们采用项目驱动的教学模式,将诸多知识点分散于各种项目需求中。针对项目需求,通过对Android系统的深入理解以及对Android和Linux关系的完整把握,我们首先分析该需求所要实现的功能如何在Linux系统上通过调用库函数以及使用脚本来实现:然后考虑如何在Android的应用层调用应用程序框架的接口完成上述功能,最后综合上述两个方案,研究如何深入Android系统的内部,在系统层面借鉴Linux的思想,通过修改底层源代码来实现项目需求的功能。对于每个项目需求,都可以从三方面来分析和实现,最终可以实现借鉴Linux的系统知识、融会贯通Android的上层应用开发、深入理解Android系统底层原理的教学目的。   2教学实例   前述的教学实验板,可以用外接电池供电,且Linux和Android系统的底层均实现了电源管理模块的驱动,另外板载一组5个LED灯;通过GPIO与核心A20连接。下面就以LED灯显示电池电量为例,分别从3个方面进行教学方法的分析,其中在Linux系统下主要用udev规则和shell脚本实现。在Android系统下实现电池电量的管理,主要有两种方案:一是直接在应用层开发App,另外一种是在Android系统的源码层寻求突破。这两种方案的本质是一样的,都是被动地获得电池电量变化的信号,来改变LED的显示。   1)Linux系统的电池电量管理实现。   Linux系统分为内核态和用户态,在用户态运行的程序调用底层的c库。如图2所示,Udev是Linux系统用户态的一个守护进程,用来动态管理外部设备。系统启动后,它就一直在后台运行,与内核保持socket通讯,监听内核上报的uEvent事件。一个很直观的例子是,如果有U盘插入USB接口,内核就会上报acRon=add的事件。而此处,如果电池电量发生了变化,负责监控电池的芯片就会上报powersupply事件。相应的处理方法是在udev

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档