首頁 > 評測 > NXP i.MX7D與AndroidThings系列之三:AndroidThings工程入門

NXP i.MX7D與AndroidThings系列之三:AndroidThings工程入門

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

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

歡迎加入Android Things交流群:452863046

COVER.jpg

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

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

rId22.png

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

我們對Android設(shè)備應(yīng)該不會(huì)陌生,畢竟現(xiàn)在基于Android的產(chǎn)品太多,例如手機(jī)、平板及機(jī)頂盒,各種播放器等等。這些產(chǎn)品都有一個(gè)共同的特征:需要一個(gè)顯示設(shè)備!而Android Things對于顯示設(shè)備則不是必備的,一般稱為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)行交互的接口及操作,主要包括如下幾類

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

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

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

rId23.png

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

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

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

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

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

rId24.png

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

rId25.png

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

rId26.png

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

rId27.png

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

這里選擇空白Activity。

rId28.png

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

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

網(wǎng)友評論

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

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