1. Android Things 概述
Android Things开发类似于传统的Android移动端设备的开发,涉及使用Android框架和工具编写应用程序。所有需要的是一个Flash中安装有Android Things OS的开发板和所需的外设。
Android Things相对于核心的Android操作系统,Android Things有几个核心的关键不同点。需要通过后面不断的学习来了解关键概念。
Android Things
通过与Android移动端应用开发使用相同的集成开发工具、开发框架、谷歌API,因此使基于嵌入式设备的 Android Things 应用开发变得非常容易。
Android Things在核心Android框架之外的扩展了 Things Support Library的API。这些API允许应用程序在移动设备上,集成所没有的新类型的硬件。
Android Things平台为满足单一应用程序使用场景而进行了精简。所以不像Android系统上存在系统app。
2. Android Things支持库
2.1 Peripheral I/O API
Peripheral I/O API 让开发的应用程序,使用工业标准协议和接口与传感器和执行器进行通信。支持接口包括:GPIO、PWM、I2C、SPI、UART
。
2.2 User Driver API
用户驱动程序扩展现有的 Android框架服务,并允许应用程序注入硬件事件的框架,其他应用程序可以访问使用标准的Android API。
3. Android Things特点
3.1 核心应用程序包
Android Things不包含系统应用程序的标准套件和Content Provider。在你开发的应用中也应避免使用常见的Intent和下面的Content Provider API:
-
-
- CalendarContract
-
-
-
- ContactsContract
-
-
-
- DocumentsContract
-
-
-
- DownloadManager
-
-
-
- MediaStore
-
-
-
- Settings
-
-
-
- Telephony
-
-
-
- UserDictionary
-
-
-
- VoicemailContract
-
3.2 用户界面是可选的
Android Things支持图形用户界面,使用与传统Android应用程序相同的UI toolkit。在图形模式,应用程序窗口占用了全部显示区域。Android Things没有系统状态栏或者导航按钮。 然而,Android Things不要求显示。在没有图形显示的设备上,Activity仍然是Android Things的应用程序App的主要组件。这是因为框架将所有输入事件分发给前台具有焦点的Activity。应用无法通过其他应用程序组件如Service获取key Evenet或者Motion Event。
3.3 支持主Activity
Android Things需要应用程序在它的manifest 文件中声明“Home Activity”,作为在开机自动启动时,系统的主要入口。这个Activity必须同时包含一个CATEGORY_DEFAULT和IOT_LAUNCHER的Intent Filter。为了便于开发,所有的Activity应该包含CATEGORY_LAUNCHER Intent Filter,以便于使用Android Studio在开发和调试的时候,可以作为默认的Activity启动它。
<applicationandroid:label="@string/app_name">