首頁 > 評測 > NXP i.MX7D與AndroidThings系列之三:AndroidThings工程入門
NXP i.MX7D與AndroidThings系列之三:AndroidThings工程入門
- [導(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
最新的Androd Studio版本為3.1.3,Android Studio提供了許多新的特性,主要包括Instant Run,更快的模擬器等特性。AS支持Windows/Linux/MacOS平臺,本文使用Windows平臺。
具體安裝過程就不贅述了,先介紹具體開發(fā)過程中非常重要的Peripheral交互API。
我們平時(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)
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ì)彈出如下對話框
點(diǎn)擊“Start a new Android Studio project”,就可以創(chuàng)建一個(gè)新的AS工程,這里也可以打開已有的工程文件,其它的一些設(shè)置例如配置AS的工作環(huán)境,也可以在此進(jìn)行。如果以前打開過工程,那么可以使用主窗口的File/New/New Project...菜單來新建一個(gè)全新的工程。
這里指定工程文件的名稱,公司域名及工程所在的位置,需要注意的是工程名稱及公司域名將會(huì)組合起來生成Package name,這是不同的APP之間的唯一標(biāo)識,例如Google Player市場就是以此來區(qū)別不同的APP。
平臺選擇,AS支持手機(jī)、平板、可穿戴、電視及AndroidThings等不同類型的硬件平臺,此處一定要選中AndroidThings選項(xiàng)。
這里選擇添加的Activity類型,目前可用的類型只有空白和外設(shè)兩種類型的Activity。Activity是Android設(shè)備與用戶交互的區(qū)域,但是許多AndroidThings設(shè)備是不連接顯示器的,不過這不影響APP的運(yùn)行,在HEADLESS模式下,Activity主要用來管理生命期的一些操作如初始化硬件設(shè)備、釋放設(shè)備等操作。
這里選擇空白Activity。
接下來設(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
- 我要投稿
-
歡迎入駐,開放投稿
-
人均百萬?英偉達(dá)中國員工收入曝光! 2024-08-29
-
《黑神話:悟空》玩家硬盤升級攻略:提升游戲體驗(yàn),暢享3A大作 2024-08-29
-
數(shù)睿數(shù)據(jù)參加《系統(tǒng)與軟件工程 低代碼開發(fā)平臺通用技術(shù)要求》國家標(biāo)準(zhǔn)編制 2024-08-29
- NRF52810藍(lán)牙數(shù)字耳機(jī)找人定制
預(yù)算:¥30005天前
- 125KW模塊式PCS軟硬件外包開發(fā)
預(yù)算:¥1100000015小時(shí)前
- 12V汽車啟動(dòng)電源項(xiàng)目BMS設(shè)計(jì)
預(yù)算:¥50000023小時(shí)前
- 數(shù)據(jù)可視化軟件 開發(fā)
預(yù)算:¥5000023小時(shí)前
- PLC項(xiàng)目調(diào)試修改
預(yù)算:¥100001天前
- 起動(dòng)電機(jī)控制器開發(fā)
預(yù)算:¥1100001天前