Android Things 专题4 SDK框架

变化
Android Things主要在Android的核心框架中扩展了一些支持物联的API。开发者可以利用这些API直接与自定义的硬件打交道,Android Things同时也简化了单个程序的应用,开机可以自动运行用户程序。
这里写图片描述

核心应用包

Android Things不包括标准的system app和content provider。也会在下面的content provider API中避免使用common intent。
CalendarContract
ContactsContract
DocumentsContract
DownloadManager
MediaStore
Settings
Telephony
UserDictionary
VoicemailContract

可选的显示

Android Things支持Android的通用框架,比较传统的Android布局,少了状态栏和导航按钮,用户只能以全屏方式来体验应用。
Android Things的应用仍然要包含Activity,这是因为Activity要接收前置应用的焦点用于触发。Android Things不能通过非前端的应用组件(比如服务)来获取按键、或者是移动信息。

Home Activity
Android Things只支持单应用,应用总入口为”home activity”。AndroidManifest.xml文件中,intent filter必须包括两项内容:
category.DEFAULT和category.IOT_LAUNCHER用于支持iot;
category.LAUNCHER用于Android Studio的调试或者是布署时启动应用。
这里写图片描述

Google Service

Android Things支持Google Service的一个子集,下表列出了Android Things支持哪些API,不支持哪些API。

Supported APIs
Cast
Drive
Firebase Analytics
Firebase Cloud Messaging (FCM)
Firebase Crash Reporting
Firebase Realtime Database
Firebase Remote Config
Firebase Storage
Fit
Instance ID
Location
Nearby
Places
Mobile Vision
Unavailable APIs
AdMob
Android Pay
Firebase App Indexing
Firebase Authentication
Firebase Dynamic Links
Firebase Invites
Firebase Notifications
Maps
Play Games
Search
Sign-In
权限
Android Things无法在运行时申请权限。
通知
Android Things不支持NotificationManager。

Things Support Library

Android Things添加了单独的API,即Things Support Library,这组API包括两个主要部分。Peripheral I/O和User-space Drivers。

这里写图片描述
这两部分API是Android的标准SDK中没有的。
我们还是先看看Peripheral IO里面有哪些东西
这里写图片描述
GPIO可以用于传感器的控制,也可以用于工业标准协议。Native PIO可以用C/C++去操作GPIO(Developer Preview 2版本添加了NDK的支持)。
PWM用于对电机,灯等外设做细粒度控制。
最重要的一块,就是硬件协议的支持。
三种通信协议,各有各的好。其中I2C和SPI协议是同步信号,SPI比I2C的控制稍微复杂一点,SPI多了片选信号,一般是用拨码开关来做SPI的片选信号。UART属于异步信号,主要用于低速传输。三种协议刚好满足了三种不同场景的速度要求。值得一提的是,国内许多协议模块,还有总线模块,都能够用串口进行转发,而传感器模块,也都支持I2C或者是SPI接口。Android Things支持了这三种通用的串行协议,也就意味着支持了大量的传感器或者是其它外设。
然后接下来看看User-space Divers是个什么鬼
这里写图片描述
这些不是传统Android的基本的API么,为啥在Android Things中需要单独的列为一类API支持呢?回到先前的我们比较Android Things和传统的Android的差异性上来,Android Things是不支持Service用于后台广播的,当我们需要监听设备时,需要在Service上面封装Driver,然后在Activity中去响应事件。
GPS提供高精度的物理定位信息,我们可以把GPS的数据结合Wi-Fi,或者是 Fused Location Provider,最终得到定位信息的结果。
利用INPUT接口,我们可以把嵌入式设备中的触摸屏、键盘、游戏手柄等设备,与拖拽、手指滑动等操作结合起来,让用户和设备进行简单交互。
Sensor可以测量和报告物理环境的状态,Android Things的传感器框架sensor fusion可以把多种物理传感器的原始数据转化成统一的虚拟传感器数据。这里稍微补充一下,sensor fusion在Android中已经有API了,网上也有许多代码做参考,就不在这儿展开了。在实际的代码实现中,开发者自己实现sensor的驱动,然后与sensor fusion结合起来,把数据再进行相应的处理,是个不错的思路。

阅读全文
下载说明:
1、本站所有资源均从互联网上收集整理而来,仅供学习交流之用,因此不包含技术服务请大家谅解!
2、本站不提供任何实质性的付费和支付资源,所有需要积分下载的资源均为网站运营赞助费用或者线下劳务费用!
3、本站所有资源仅用于学习及研究使用,您必须在下载后的24小时内删除所下载资源,切勿用于商业用途,否则由此引发的法律纠纷及连带责任本站和发布者概不承担!
4、本站站内提供的所有可下载资源,本站保证未做任何负面改动(不包含修复bug和完善功能等正面优化或二次开发),但本站不保证资源的准确性、安全性和完整性,用户下载后自行斟酌,我们以交流学习为目的,并不是所有的源码都100%无错或无bug!如有链接无法下载、失效或广告,请联系客服处理!
5、本站资源除标明原创外均来自网络整理,版权归原作者或本站特约原创作者所有,如侵犯到您的合法权益,请立即告知本站,本站将及时予与删除并致以最深的歉意!
6、如果您也有好的资源或教程,您可以投稿发布,成功分享后有站币奖励和额外收入!
7、如果您喜欢该资源,请支持官方正版资源,以得到更好的正版服务!
8、请您认真阅读上述内容,注册本站用户或下载本站资源即您同意上述内容!
原文链接:https://www.shuli.cc/?p=2074,转载请注明出处。
0

评论0

显示验证码
没有账号?注册  忘记密码?