首页 > 评测 > NXP i.MX7D与AndroidThings系列之三:AndroidThings工程入门
NXP i.MX7D与AndroidThings系列之三:AndroidThings工程入门
- [导读]
- 本文将为大家演示如何给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
最新的Androd Studio版本为3.1.3,Android Studio提供了许多新的特性,主要包括Instant Run,更快的模拟器等特性。AS支持Windows/Linux/MacOS平台,本文使用Windows平台。
具体安装过程就不赘述了,先介绍具体开发过程中非常重要的Peripheral交互API。
我们平时说安装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及串口通信,下面是三种常见接口的主要特点
Android Things集Android与Peripheral I/O于一体,在Google强大的技术支持背景下,以统一的平台,统一的API接口来进行嵌入式或物联网产品开发的新方式。
i.MX7D上布署了Android Things系统,在PC端也安装好了Android Studio开发工具后,接下来就可以开始真正的Android Things程序开发了!
正如Arduino降低了硬件入门的门槛一样,Android Things也将这一技术向菜鸟及软件工程师打开了一道全新的大门!
接下来我们建立一个空白的AndroidThings工程。
启动Android Studio,首次启动会弹出如下对话框
点击“Start a new Android Studio project”,就可以创建一个新的AS工程,这里也可以打开已有的工程文件,其它的一些设置例如配置AS的工作环境,也可以在此进行。如果以前打开过工程,那么可以使用主窗口的File/New/New Project...菜单来新建一个全新的工程。
这里指定工程文件的名称,公司域名及工程所在的位置,需要注意的是工程名称及公司域名将会组合起来生成Package name,这是不同的APP之间的唯一标识,例如Google Player市场就是以此来区别不同的APP。
平台选择,AS支持手机、平板、可穿戴、电视及AndroidThings等不同类型的硬件平台,此处一定要选中AndroidThings选项。
这里选择添加的Activity类型,目前可用的类型只有空白和外设两种类型的Activity。Activity是Android设备与用户交互的区域,但是许多AndroidThings设备是不连接显示器的,不过这不影响APP的运行,在HEADLESS模式下,Activity主要用来管理生命期的一些操作如初始化硬件设备、释放设备等操作。
这里选择空白Activity。
接下来设置Activity的名称及是否生成layout文件,layout用来对显示界面进行布局。这是典型的UI与代码分离的设计模式,在Android开发中几乎都是如此。
- 本文系21ic原创,未经许可禁止转载!
网友评论
- 联系人:巧克力娃娃
- 邮箱:board@21ic.com
- 我要投稿
-
欢迎入驻,开放投稿
-
人均百万?英伟达中国员工收入曝光! 2024-08-29
-
《黑神话:悟空》玩家硬盘升级攻略:提升游戏体验,畅享3A大作 2024-08-29
-
数睿数据参加《系统与软件工程 低代码开发平台通用技术要求》国家标准编制 2024-08-29
- NRF52810蓝牙数字耳机找人定制
预算:¥30005天前
- 125KW模块式PCS软硬件外包开发
预算:¥1100000015小时前
- 12V汽车启动电源项目BMS设计
预算:¥50000023小时前
- 数据可视化软件 开发
预算:¥5000023小时前
- PLC项目调试修改
预算:¥100001天前
- 起动电机控制器开发
预算:¥1100001天前