首页 > 评测 > NXP i.MX7D与AndroidThings系列之三:AndroidThings工程入门

NXP i.MX7D与AndroidThings系列之三:AndroidThings工程入门

NXP   i.MX7D   AndroidThings   安卓   谷歌   物联网   
  • 作者:SATURN
  • 来源:21ic
  • [导读]
  • 本文将为大家演示如何给i.MX7D安装Android Things以及介绍具体开发过程中非常重要的Peripheral交互API。

 和MCU的裸机开发模式不同,Android Things开发需要先在硬件平台上安装Android Things系统。首要的准备工作就是先在硬件上安装Android Things系统。在Android Things的大一统之下,硬件细节被抽象了,开发者使用Android Things提供的API来对硬件进行操作。至于开发工具,Google官方推荐使用Android Studio。在Google的努力下,Android Studio已逐渐蚕食了原本Eclipse占据的市场,基本成了为Android平台独树一帜的开发工具。

欢迎加入Android Things交流群:452863046

COVER.jpg

最新的Androd Studio版本为3.1.3,Android Studio提供了许多新的特性,主要包括Instant Run,更快的模拟器等特性。AS支持Windows/Linux/MacOS平台,本文使用Windows平台。

具体安装过程就不赘述了,先介绍具体开发过程中非常重要的Peripheral交互API。

rId22.png

我们平时说安装Android Studio,其实有点简单化了。这个过程除了编辑器之外,最重要的就是SDK,另外当然还有一系列的工具的安装。其中真正的核心是SDK,有了SDK,甚至不需要图形化的GUI也能用来开发Android程序。

我们对Android设备应该不会陌生,毕竟现在基于Android的产品太多,例如手机、平板及机顶盒,各种播放器等等。这些产品都有一个共同的特征:需要一个显示设备!而Android Things对于显示设备则不是必备的,一般称为Headless工作模式。

Android Things是Android的一个子集,继承了Android的大部分核心功能,而将与Android Things不相关的部分去掉了。另外Android Things中添加了与外设操作相关的一组API,也就是所谓的Peripheral API。

Android Things核心主题包括上图中的一些内容,我们可以看到,除了网络、摄像头等组件,GUI仍然是一个不可或缺的要素,毕竟,许多Android Things应用也是需要界面的。

Peripheral I/O功能提供了Android Things与传感器进行交互的接口及操作,主要包括如下几类

• GPIO,在嵌入式领域,GPIO提供了简单的开/关操作,另外GPIO也复用为其它设备如I2C/SPI等设备的实际物理接口

• PWM,PWM主要在电机控制,调光等应用中广泛使用,这是使用数字信号在模拟领域的另外一种用法。

• 串行通信,该应用主要包括I2C、SPI及串口通信,下面是三种常见接口的主要特点

rId23.png

Android Things集Android与Peripheral I/O于一体,在Google强大的技术支持背景下,以统一的平台,统一的API接口来进行嵌入式或物联网产品开发的新方式。

i.MX7D上布署了Android Things系统,在PC端也安装好了Android Studio开发工具后,接下来就可以开始真正的Android Things程序开发了!

正如Arduino降低了硬件入门的门槛一样,Android Things也将这一技术向菜鸟及软件工程师打开了一道全新的大门!

接下来我们建立一个空白的AndroidThings工程。

启动Android Studio,首次启动会弹出如下对话框

rId24.png

点击“Start a new Android Studio project”,就可以创建一个新的AS工程,这里也可以打开已有的工程文件,其它的一些设置例如配置AS的工作环境,也可以在此进行。如果以前打开过工程,那么可以使用主窗口的File/New/New Project...菜单来新建一个全新的工程。

rId25.png

这里指定工程文件的名称,公司域名及工程所在的位置,需要注意的是工程名称及公司域名将会组合起来生成Package name,这是不同的APP之间的唯一标识,例如Google Player市场就是以此来区别不同的APP。

rId26.png

平台选择,AS支持手机、平板、可穿戴、电视及AndroidThings等不同类型的硬件平台,此处一定要选中AndroidThings选项。

rId27.png

这里选择添加的Activity类型,目前可用的类型只有空白和外设两种类型的Activity。Activity是Android设备与用户交互的区域,但是许多AndroidThings设备是不连接显示器的,不过这不影响APP的运行,在HEADLESS模式下,Activity主要用来管理生命期的一些操作如初始化硬件设备、释放设备等操作。

这里选择空白Activity。

rId28.png

接下来设置Activity的名称及是否生成layout文件,layout用来对显示界面进行布局。这是典型的UI与代码分离的设计模式,在Android开发中几乎都是如此。

  • 本文系21ic原创,未经许可禁止转载!

网友评论