日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

首頁(yè) > 評(píng)測(cè) > NXP i.MX7D與AndroidThings系列之三:AndroidThings工程入門(mén)

NXP i.MX7D與AndroidThings系列之三:AndroidThings工程入門(mén)

  • 作者:SATURN
  • 來(lái)源:21ic
  • [導(dǎo)讀]
  • 本文將為大家演示如何給i.MX7D安裝Android Things以及介紹具體開(kāi)發(fā)過(guò)程中非常重要的Peripheral交互API。

 和MCU的裸機(jī)開(kāi)發(fā)模式不同,Android Things開(kāi)發(fā)需要先在硬件平臺(tái)上安裝Android Things系統(tǒng)。首要的準(zhǔn)備工作就是先在硬件上安裝Android Things系統(tǒng)。在Android Things的大一統(tǒng)之下,硬件細(xì)節(jié)被抽象了,開(kāi)發(fā)者使用Android Things提供的API來(lái)對(duì)硬件進(jìn)行操作。至于開(kāi)發(fā)工具,Google官方推薦使用Android Studio。在Google的努力下,Android Studio已逐漸蠶食了原本Eclipse占據(jù)的市場(chǎng),基本成了為Android平臺(tái)獨(dú)樹(shù)一幟的開(kāi)發(fā)工具。

歡迎加入Android Things交流群:452863046

COVER.jpg

最新的Androd Studio版本為3.1.3,Android Studio提供了許多新的特性,主要包括Instant Run,更快的模擬器等特性。AS支持Windows/Linux/MacOS平臺(tái),本文使用Windows平臺(tái)。

具體安裝過(guò)程就不贅述了,先介紹具體開(kāi)發(fā)過(guò)程中非常重要的Peripheral交互API。

rId22.png

我們平時(shí)說(shuō)安裝Android Studio,其實(shí)有點(diǎn)簡(jiǎn)單化了。這個(gè)過(guò)程除了編輯器之外,最重要的就是SDK,另外當(dāng)然還有一系列的工具的安裝。其中真正的核心是SDK,有了SDK,甚至不需要圖形化的GUI也能用來(lái)開(kāi)發(fā)Android程序。

我們對(duì)Android設(shè)備應(yīng)該不會(huì)陌生,畢竟現(xiàn)在基于Android的產(chǎn)品太多,例如手機(jī)、平板及機(jī)頂盒,各種播放器等等。這些產(chǎn)品都有一個(gè)共同的特征:需要一個(gè)顯示設(shè)備!而Android Things對(duì)于顯示設(shè)備則不是必備的,一般稱(chēng)為Headless工作模式。

Android Things是Android的一個(gè)子集,繼承了Android的大部分核心功能,而將與Android Things不相關(guān)的部分去掉了。另外Android Things中添加了與外設(shè)操作相關(guān)的一組API,也就是所謂的Peripheral API。

Android Things核心主題包括上圖中的一些內(nèi)容,我們可以看到,除了網(wǎng)絡(luò)、攝像頭等組件,GUI仍然是一個(gè)不可或缺的要素,畢竟,許多Android Things應(yīng)用也是需要界面的。

Peripheral I/O功能提供了Android Things與傳感器進(jìn)行交互的接口及操作,主要包括如下幾類(lèi)

• GPIO,在嵌入式領(lǐng)域,GPIO提供了簡(jiǎn)單的開(kāi)/關(guān)操作,另外GPIO也復(fù)用為其它設(shè)備如I2C/SPI等設(shè)備的實(shí)際物理接口

• PWM,PWM主要在電機(jī)控制,調(diào)光等應(yīng)用中廣泛使用,這是使用數(shù)字信號(hào)在模擬領(lǐng)域的另外一種用法。

• 串行通信,該應(yīng)用主要包括I2C、SPI及串口通信,下面是三種常見(jiàn)接口的主要特點(diǎn)

rId23.png

Android Things集Android與Peripheral I/O于一體,在Google強(qiáng)大的技術(shù)支持背景下,以統(tǒng)一的平臺(tái),統(tǒng)一的API接口來(lái)進(jìn)行嵌入式或物聯(lián)網(wǎng)產(chǎn)品開(kāi)發(fā)的新方式。

i.MX7D上布署了Android Things系統(tǒng),在PC端也安裝好了Android Studio開(kāi)發(fā)工具后,接下來(lái)就可以開(kāi)始真正的Android Things程序開(kāi)發(fā)了!

正如Arduino降低了硬件入門(mén)的門(mén)檻一樣,Android Things也將這一技術(shù)向菜鳥(niǎo)及軟件工程師打開(kāi)了一道全新的大門(mén)!

接下來(lái)我們建立一個(gè)空白的AndroidThings工程。

啟動(dòng)Android Studio,首次啟動(dòng)會(huì)彈出如下對(duì)話框

rId24.png

點(diǎn)擊“Start a new Android Studio project”,就可以創(chuàng)建一個(gè)新的AS工程,這里也可以打開(kāi)已有的工程文件,其它的一些設(shè)置例如配置AS的工作環(huán)境,也可以在此進(jìn)行。如果以前打開(kāi)過(guò)工程,那么可以使用主窗口的File/New/New Project...菜單來(lái)新建一個(gè)全新的工程。

rId25.png

這里指定工程文件的名稱(chēng),公司域名及工程所在的位置,需要注意的是工程名稱(chēng)及公司域名將會(huì)組合起來(lái)生成Package name,這是不同的APP之間的唯一標(biāo)識(shí),例如Google Player市場(chǎng)就是以此來(lái)區(qū)別不同的APP。

rId26.png

平臺(tái)選擇,AS支持手機(jī)、平板、可穿戴、電視及AndroidThings等不同類(lèi)型的硬件平臺(tái),此處一定要選中AndroidThings選項(xiàng)。

rId27.png

這里選擇添加的Activity類(lèi)型,目前可用的類(lèi)型只有空白和外設(shè)兩種類(lèi)型的Activity。Activity是Android設(shè)備與用戶(hù)交互的區(qū)域,但是許多AndroidThings設(shè)備是不連接顯示器的,不過(guò)這不影響APP的運(yùn)行,在HEADLESS模式下,Activity主要用來(lái)管理生命期的一些操作如初始化硬件設(shè)備、釋放設(shè)備等操作。

這里選擇空白Activity。

rId28.png

接下來(lái)設(shè)置Activity的名稱(chēng)及是否生成layout文件,layout用來(lái)對(duì)顯示界面進(jìn)行布局。這是典型的UI與代碼分離的設(shè)計(jì)模式,在Android開(kāi)發(fā)中幾乎都是如此。

  • 本文系21ic原創(chuàng),未經(jīng)許可禁止轉(zhuǎn)載!

網(wǎng)友評(píng)論

  • 聯(lián)系人:巧克力娃娃
  • 郵箱:board@21ic.com
  • 我要投稿
  • 歡迎入駐,開(kāi)放投稿

熱門(mén)標(biāo)簽
項(xiàng)目外包 more+