# **概览** Android Things通过提供相同的Android开发工具,让开发者在手机上成功的优秀Android框架和Google API,使得开发连接嵌入式设备变得容易。 ![](https://box.kancloud.cn/4c5c8eea78704186ba2e82407b4ec438_700x244.png) 嵌入设备应用比手机和平板电脑使开发者更接近硬件外设和驱动程序。另外,嵌入式设备通常为用户展现单个应用体验。这个文档主要讨论核心Android和Android Things之间主要的增加和删除; Android Things继承了核心Android框架,和由Things Support Library提供的额外API。这些API允许应用集成在移动设备上没有的新的硬件; Android Things平台也精简为单个应用使用。不存在系统app,并且你的app在开机自动启动,来让你的用户沉浸在app的体验中; ## **Things Support Library** #### **外设I/O API** 外设I/O API使用行业标准的协议和接口,让你的app和传感器和执行器进行通信。下面的接口都支持:GPIO,PWM,I2C,SPI,UART; #### **用户驱动API** 用户驱动集成了目前的Android框架服务,并且允许App将硬件事件注入框架,是的其它应用程序可以使用标准的Android API进行访问; ## **行为的改变** #### **核心应用程序** Android Things不包含系统应用程序的标准套件和Content Provider。在你的应用中避免使用常见的Intent和下面的Content Provider API: 1. CalendarContract 2. ContactsContract 3. DocumentsContract 4. DownloadManager 5. MediaStore 6. Settings 7. Telephony 8. UserDictionary 9. VoicemailContract #### **显示是可选的** Android Things支持图形用户界面,使用与传统Android应用程序相同的UI toolkit。在图形模式,应用程序窗口占用了全部显示区域。Android Things没有系统状态栏或者导航按钮,给应用程序视觉用户体验的完全控制; 然而,Android Things不要求显示。在没有图形显示的设备上,Activity仍然是你的Android Things的App的主要组件。这是因为框架将所有输入事件分发给前台具有焦点的Activity。你的应用无法通过其他应用程序组件如Service获取key Evenet或者Motion Event; #### **支持主Activity** Android Things期望应用程序在它的订单文件中声明“主Activity”,作为系统的主要入口在开机自动启动。这个Activity必须包含一个包含CATEGORY_DEFAULT和IOT_LAUNCHER的Intent Filter; 为了便于开发,所有的Activity应该包含CATEGORY_LAUNCHER Intent Filter,以至于Android Studio在开发和调试的时候可以作为默认的Activity启动它; ~~~ <application android:label="@string/app_name"> <activity android:name=".HomeActivity"> <!-- Launch activity as default from Android Studio --> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> <!-- Launch activity automatically on boot --> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.IOT_LAUNCHER"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> </activity> </application> ~~~ #### **支持Google服务** Android Things支持Google API for Android的一个子集。按照一般规则,要求用户输入或者验证证书的API不适用于应用程序。下面的表格列举了在Android Things中支持的API: #### **权限** 不支持在运行时请求权限,因为嵌入式设备不能保证有UI来显示运行时对话框。你需要在你的应用的清单文件中声明生命权限。在你的应用的清单文件中声明的所有正常和危险的权限在安装的时候授予; #### **通知** 因为在Android Things中没有系统级别的状态栏和窗口,所以不支持通知。避免在你的应用中调用NotificationManager; * * * * *1.抛弃各种找元器件的烦恼,来“1024工场”旗舰店,一次性买到你所想要的:树莓派套装—专为Android Things打造。* ![树莓派套装](http://img.blog.csdn.net/20170731000628095?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcDEwNjc4Njg2MA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) *电脑用户,点击如下链接进入淘宝宝贝页面:* <a href="https://item.taobao.com/item.htm?&id=549263158263">https://item.taobao.com/item.htm?&id=549263158263</a> *手机用户,打开淘宝客户端扫描二维码:* ![宝贝二维码](http://img.blog.csdn.net/20170731001203829?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcDEwNjc4Njg2MA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) *2.完整和持续更新的《使用Android打开物联网开发大门——Andoid Thigns开发》文档,欢迎大家阅读!* [https://www.kancloud.cn/workshop1024/android_things_develop/360773](https://www.kancloud.cn/workshop1024/android_things_develop/360773) ![这里写图片描述](http://img.blog.csdn.net/20170729191051052?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcDEwNjc4Njg2MA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) *3.新技术,新未来!欢迎大家关注“1024工场”微信服务号,时刻关注我们的最新的技术讯息。(甭客气!尽情的扫描或者长按!)* ![服务号](http://img.blog.csdn.net/20170411145712154?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcDEwNjc4Njg2MA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) *4.加入“Android Things开发”QQ讨论群,一起学习一起Hi。(甭客气!尽情的扫描或者长按!)* ![qq群](http://img.blog.csdn.net/20170411145816560?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcDEwNjc4Njg2MA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)