Android Things新版本發(fā)布了鹃两,DP7中你需要知道的

昨天(2018.3.7)酪劫,Google發(fā)布了Android Things的新版本,Developer Preview 7版本从诲。

Developer Preview 7版本

Developer Preview 7
Date: March 2018?
Build Number: OIM1.180123.019
Play Services: 11.8.0

新版本同樣適用于NXP i.MX7D左痢、NXP i.MX6UL和Raspberry Pi 3開(kāi)發(fā)板。

New in Preview 7

API changes

The following structural changes have been made to the Android Things API:

Consistent API naming.?This release renames many of the existing Android Things API classes to provide a more consistent developer experience across the entire surface. See the updated?API reference?to review how package and class names have changed.

Better testability of Android Things apps.?The?Peripheral I/O?API now exposes interfaces instead of abstract classes, allowing local unit tests to replace these objects with mocks and stubs more easily.

Warning:?These introduce breaking changes from previous versions of the Android Things support library. To avoid throwing?NoSuchMethodErrorand?NoClassDefFoundError?in your app, be sure to review the updated?API reference?and update your code to target the?0.7-devpreview?version of the support library.

在這個(gè)版本中,有些Android Things的API的名稱做了更改俊性,因此原來(lái)在DP6.1版中程序略步,需要相應(yīng)做一些修改。同時(shí)定页,Peripheral I/O API趟薄,用interface替代了abstract class,這樣讓單元測(cè)試時(shí)用mock和stub替代這些對(duì)象更加方便典徊。

注意:因?yàn)檫@些改變杭煎,原來(lái)的APP可能會(huì)產(chǎn)生NoSuchMethodError和NoClassDefFoundError,這就需要對(duì)照API reference把代碼升級(jí)到可以適配0.7-devpreview卒落。

Note:?All apps must be updated to use the?0.7-devpreview?version of the Android Things support library. Previous versions are not compatible with Developer Preview 7.

在DP7環(huán)境下運(yùn)行的APP羡铲,都需要使用0.7-devpreview版本的Android Things support library。如果在build.gradle中儡毕,你引用的是指定版本的androidthings也切,那么你需要改成0.7版本,如果如下圖所示腰湾,你引用的是com.google.android.things.androidthings:+雷恃,那么就會(huì)自動(dòng)下載引用最新的0.7版本了。

build.gradle中引用 Android Things support library

API中有一個(gè)顯著改變是引用PIO的PeripheralManagerService被刪除了费坊,取而代之的是PeripheralManager倒槐,使用方法也從new一個(gè)service對(duì)象,更改成了通過(guò)PeripheralManager.getInstance()獲取單例附井。

PeripheralManagerService已被刪除
使用 PeripheralManager

注意: PeripheralManager是幾乎每個(gè)Android Things APP都需要修改的讨越!

官網(wǎng)Samples的代碼,Github上已經(jīng)升級(jí)為新版本了羡忘,我分享的一些案例代碼谎痢,也做了升級(jí),已下載的朋友可以更新一下代碼卷雕。

官網(wǎng)Samples Github:https://github.com/androidthings

我分享的案例代碼:https://github.com/sysolve

另外节猿,我在樹(shù)莓派3B中進(jìn)行了測(cè)試,新版本的屏幕分辨率可以支持1920*1080了漫雕,原來(lái)DP6.1版本只能支持1280*720滨嘱。

Improved camera performance

攝像頭的拍攝分辨率也有了提升,原來(lái)在樹(shù)莓派中只能支持640*480浸间,現(xiàn)在用我手上的樹(shù)莓派攝像頭實(shí)測(cè)太雨,dumpFormatInfo顯示可以支持2560*1440的拍攝分辨率。

dumpFormatInfo顯示攝像頭支持的分辨率

按照官網(wǎng)說(shuō)明:

Apps can now capture images from the device camera hardware at resolutions up to 3280x2464 for Raspberry Pi 3 and 1280x720 for NXP i.MX7D.

其他一些升級(jí)說(shuō)明魁蒜,官網(wǎng)原文引用如下:

MIDI API support

Use the?MidiManager?API to build a virtual MIDI device in your app or interface with external MIDI controllers. Try it out today with the existing AndroidMidiScope?and?MidiSynth?sample apps.

Bluetooth APIs

In addition to the existing?BluetoothProfileManager?used by apps to configure the active profiles on the device, the new?BluetoothConfigManagerenables control of the Bluetooth device class as well. Apps can also use the?BluetoothConnectionManager?API to take control of the pairing and connection process between Android Things and a remote device.

See the new?Bluetooth API guide?for more details.

Update manager channels

The?Android Things Console?now supports deploying releases to groups of devices for development or beta testing by way of update channels. Devices can subscribe to a Canary, Development, Beta, or Stable channel via?UpdateManager.

See the updated?Device Updates guide?and?console updates guide?for more details.

Resolved Issues

Screen brightness changes animate slowly.

HDMI overscan is disabled, causing UI not to extend to the edge of some displays.

Factory data reset does not fully remove installed apps.

GPIO pins cannot be used as an output if they were previously enabled as an input with an edge trigger enabled since the last reboot.


新版本相對(duì)之前版本囊扳,功能新增已不大吩翻,主要是修正錯(cuò)誤和優(yōu)化代碼架構(gòu),可以推測(cè)锥咸,離正式Release應(yīng)該不遠(yuǎn)了狭瞎。


Android Things入門(mén)

如果你還不了解Android Things,以下是一個(gè)摘要匯編搏予,幫助Android Things初學(xué)者梳理入門(mén)學(xué)習(xí)的知識(shí)和資源熊锭、所需的硬件和配件,循序漸進(jìn)的了解Android Things雪侥,并開(kāi)始動(dòng)手實(shí)踐之旅碗殷。

了解什么是Android Things

一句話說(shuō),Android Things就是讓開(kāi)發(fā)者可以使用Android開(kāi)發(fā)工具開(kāi)發(fā)嵌入式設(shè)備速缨。

If you can build an app, you can build a device.?

只要你會(huì)開(kāi)發(fā)APP锌妻,你就能開(kāi)發(fā)智能設(shè)備。

Build connected devices for a wide variety of consumer, retail, and industrial applications.

為各種各樣的消費(fèi)者旬牲、零售和工業(yè)應(yīng)用構(gòu)建連接的設(shè)備从祝。

圖片來(lái)自官網(wǎng)首頁(yè)

如官網(wǎng)視頻中Dave Smith的介紹,你可以使用你熟悉的Android開(kāi)發(fā)工具和Google產(chǎn)品進(jìn)行智能產(chǎn)品的開(kāi)發(fā)引谜。

圖片來(lái)自官網(wǎng)介紹視頻

推薦閱讀

我的文章:《Android Things是什么》,你將從中了解Android的應(yīng)用場(chǎng)景擎浴、特性员咽、優(yōu)勢(shì)和劣勢(shì)。

GDE王玉成的專題文章:《Android Things專題 1.前世今生》贮预,你將從中了解什么是物聯(lián)網(wǎng)贝室,Android Things產(chǎn)生的背景和過(guò)程。

官網(wǎng):《Android Things Overview

了解用Android Things能做什么

你可能已經(jīng)對(duì)Android Things躍躍欲試了仿吞,想要了解我到底能用Android Things能做什么滑频。

推薦閱讀

我的文章:《Android Things創(chuàng)客DIY第一課-用Android Things展示你的智能設(shè)備創(chuàng)意-基礎(chǔ)篇》,你將從中了解當(dāng)你有一個(gè)智能設(shè)備創(chuàng)意時(shí)唤冈,你要如何去表達(dá)和展示峡迷。

GDE王玉成的專題文章:《Android Things在 #io17》,你將從中看到在2017年的Google IO大會(huì)上展示的一些Android Things應(yīng)用你虹。

GDE王玉成的專題文章:《Android Things 專題6 完整的栗子:運(yùn)用TensorFlow解析圖像》绘搞,你將從中看到結(jié)合TensorFlow,Android Things可以非常方便的做好玩的人工智能圖像識(shí)別傅物。

http://hackster.io上的Android Things項(xiàng)目展示:https://www.hackster.io/google/products/android-things夯辖,從這里你將看到很多Android Things做的有趣的東西,大部分都是老外做的董饰。

如何開(kāi)始我的Android Things之旅

至此蒿褂,你一定已經(jīng)想馬上動(dòng)手圆米,自己嘗試Android Things了。這時(shí)候你需要有一塊運(yùn)行Android Things系統(tǒng)的開(kāi)發(fā)板啄栓。

Android Things開(kāi)發(fā)板

很多朋友已經(jīng)在去年的GDD上娄帖,或是Google和引力空間組織的Android Things沙龍上拿到了NXP i.MX7D Pico Pro Maker Kit,也就是上圖中的第一款谴供。

如果沒(méi)有拿到NXP的開(kāi)發(fā)板块茁,那么購(gòu)買上圖中最后一個(gè)——Raspberry Pi樹(shù)莓派是性價(jià)比極高的選擇,從硬件性能指標(biāo)來(lái)看桂肌,樹(shù)莓派3也優(yōu)于其他幾款数焊。

Android Things的開(kāi)發(fā)不同于手機(jī)、平板軟件的開(kāi)發(fā)崎场,你需要?jiǎng)邮秩タ刂朴布宥⑦B接一些指示燈、按鈕谭跨、傳感器干厚、執(zhí)行機(jī)構(gòu)等等,所以只有一個(gè)開(kāi)發(fā)板是不夠的螃宙。官網(wǎng)的案例中蛮瞄,就需要用到很多電子元件。

官網(wǎng)案例中通過(guò)面包板連接電子元件

為了方便開(kāi)發(fā)者學(xué)習(xí)Android Things開(kāi)發(fā)谆扎,我們將Android Things官網(wǎng)Samples開(kāi)發(fā)案例中所需的配件進(jìn)行了整理挂捅。精選優(yōu)品并搭配測(cè)試,提供了入門(mén)基礎(chǔ)配件套裝堂湖。

你可以從這里購(gòu)買配件套裝和樹(shù)莓派:

淘寶:https://sysolve.taobao.com

微店:https://weidian.com/?userid=954338999

更詳細(xì)的開(kāi)發(fā)板選型和對(duì)比資料可以閱讀:

我的文章《Android Things硬件

GDE王玉成的專題文章:《Android Things專題2 硬件介紹

拿到開(kāi)發(fā)板后闲先,需要把Android Things系統(tǒng)燒錄進(jìn)開(kāi)發(fā)板,根據(jù)你手上的開(kāi)發(fā)板无蜂,你可以閱讀:

Android Things入門(mén)防坑必讀-樹(shù)莓派硬件和系統(tǒng)下載安裝篇

Android Things在NXP Pico i.MX7D上安裝運(yùn)行

Android Things開(kāi)始動(dòng)手

當(dāng)你已有了Android Things開(kāi)發(fā)板和一些必要的配件伺糠,你就可以開(kāi)始動(dòng)手玩Android Things了。以下課程將幫助你一步步開(kāi)展你的動(dòng)手實(shí)踐之旅:

Android Things創(chuàng)客DIY第一課-用Android Things展示你的智能設(shè)備創(chuàng)意-基礎(chǔ)篇

Android Things創(chuàng)客DIY第二課-Android Things入門(mén)配件包開(kāi)發(fā)案例教程-報(bào)警燈

Android Things創(chuàng)客DIY第三課-Android Things入門(mén)配件包開(kāi)發(fā)案例教程-數(shù)碼管顯示

Android Things創(chuàng)客DIY第四課-Android Things入門(mén)配件包開(kāi)發(fā)案例教程-氣象站

Android Things創(chuàng)客DIY第五課-硬件開(kāi)發(fā)案例教程-PWM調(diào)色-觸摸開(kāi)關(guān)-數(shù)碼管顯示-OLED顯示

Android Things創(chuàng)客DIY第六課-Android Things入門(mén)配件包開(kāi)發(fā)案例教程-4位數(shù)碼管顯示

第四課和第五課中用到的溫度和氣壓傳感器斥季、OLED模塊训桶,都是I2C接口的,I2C是一種芯片間的通訊協(xié)議泻肯,案例中我們只介紹了封裝后的模塊驅(qū)動(dòng)的使用渊迁,并沒(méi)有介紹具體的I2C通訊過(guò)程,感興趣的朋友可以結(jié)合源代碼和以下文章做深入了解:

GDE王玉成的專題文章:《Android Things專題5 I2C


歡迎關(guān)注我的簡(jiǎn)書(shū)上的Android Things文集灶挟,一起交流探討新一代物聯(lián)網(wǎng)技術(shù)琉朽。

李雷鳴

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市稚铣,隨后出現(xiàn)的幾起案子箱叁,更是在濱河造成了極大的恐慌墅垮,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,755評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件耕漱,死亡現(xiàn)場(chǎng)離奇詭異算色,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)螟够,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)灾梦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人妓笙,你說(shuō)我怎么就攤上這事若河。” “怎么了寞宫?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,138評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵萧福,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我辈赋,道長(zhǎng)鲫忍,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,791評(píng)論 1 295
  • 正文 為了忘掉前任钥屈,我火速辦了婚禮悟民,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘篷就。我一直安慰自己逾雄,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布腻脏。 她就那樣靜靜地躺著,像睡著了一般银锻。 火紅的嫁衣襯著肌膚如雪永品。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,631評(píng)論 1 305
  • 那天击纬,我揣著相機(jī)與錄音鼎姐,去河邊找鬼。 笑死更振,一個(gè)胖子當(dāng)著我的面吹牛炕桨,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播肯腕,決...
    沈念sama閱讀 40,362評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼献宫,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了实撒?” 一聲冷哼從身側(cè)響起姊途,我...
    開(kāi)封第一講書(shū)人閱讀 39,264評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤涉瘾,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后捷兰,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體立叛,經(jīng)...
    沈念sama閱讀 45,724評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年贡茅,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了秘蛇。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,040評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡顶考,死狀恐怖赁还,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情村怪,我是刑警寧澤秽浇,帶...
    沈念sama閱讀 35,742評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站甚负,受9級(jí)特大地震影響柬焕,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜梭域,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評(píng)論 3 330
  • 文/蒙蒙 一斑举、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧病涨,春花似錦富玷、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,944評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至幻工,卻和暖如春励两,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背囊颅。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,060評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工当悔, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人踢代。 一個(gè)月前我還...
    沈念sama閱讀 48,247評(píng)論 3 371
  • 正文 我出身青樓盲憎,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親胳挎。 傳聞我的和親對(duì)象是個(gè)殘疾皇子饼疙,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容