首頁 > 評測 > NXP i.MX7D與AndroidThings系列之三:AndroidThings工程入門
NXP i.MX7D與AndroidThings系列之三:AndroidThings工程入門
- [導讀]
- 本文將為大家演示如何給i.MX7D安裝Android Things以及介紹具體開發(fā)過程中非常重要的Peripheral交互API。
和MCU的裸機開發(fā)模式不同,Android Things開發(fā)需要先在硬件平臺上安裝Android Things系統(tǒng)。首要的準備工作就是先在硬件上安裝Android Things系統(tǒng)。在Android Things的大一統(tǒng)之下,硬件細節(jié)被抽象了,開發(fā)者使用Android Things提供的API來對硬件進行操作。至于開發(fā)工具,Google官方推薦使用Android Studio。在Google的努力下,Android Studio已逐漸蠶食了原本Eclipse占據的市場,基本成了為Android平臺獨樹一幟的開發(fā)工具。
歡迎加入Android Things交流群:452863046
最新的Androd Studio版本為3.1.3,Android Studio提供了許多新的特性,主要包括Instant Run,更快的模擬器等特性。AS支持Windows/Linux/MacOS平臺,本文使用Windows平臺。
具體安裝過程就不贅述了,先介紹具體開發(fā)過程中非常重要的Peripheral交互API。
我們平時說安裝Android Studio,其實有點簡單化了。這個過程除了編輯器之外,最重要的就是SDK,另外當然還有一系列的工具的安裝。其中真正的核心是SDK,有了SDK,甚至不需要圖形化的GUI也能用來開發(fā)Android程序。
我們對Android設備應該不會陌生,畢竟現在基于Android的產品太多,例如手機、平板及機頂盒,各種播放器等等。這些產品都有一個共同的特征:需要一個顯示設備!而Android Things對于顯示設備則不是必備的,一般稱為Headless工作模式。
Android Things是Android的一個子集,繼承了Android的大部分核心功能,而將與Android Things不相關的部分去掉了。另外Android Things中添加了與外設操作相關的一組API,也就是所謂的Peripheral API。
Android Things核心主題包括上圖中的一些內容,我們可以看到,除了網絡、攝像頭等組件,GUI仍然是一個不可或缺的要素,畢竟,許多Android Things應用也是需要界面的。
Peripheral I/O功能提供了Android Things與傳感器進行交互的接口及操作,主要包括如下幾類
• GPIO,在嵌入式領域,GPIO提供了簡單的開/關操作,另外GPIO也復用為其它設備如I2C/SPI等設備的實際物理接口
• PWM,PWM主要在電機控制,調光等應用中廣泛使用,這是使用數字信號在模擬領域的另外一種用法。
• 串行通信,該應用主要包括I2C、SPI及串口通信,下面是三種常見接口的主要特點
Android Things集Android與Peripheral I/O于一體,在Google強大的技術支持背景下,以統(tǒng)一的平臺,統(tǒng)一的API接口來進行嵌入式或物聯(lián)網產品開發(fā)的新方式。
i.MX7D上布署了Android Things系統(tǒng),在PC端也安裝好了Android Studio開發(fā)工具后,接下來就可以開始真正的Android Things程序開發(fā)了!
正如Arduino降低了硬件入門的門檻一樣,Android Things也將這一技術向菜鳥及軟件工程師打開了一道全新的大門!
接下來我們建立一個空白的AndroidThings工程。
啟動Android Studio,首次啟動會彈出如下對話框
點擊“Start a new Android Studio project”,就可以創(chuàng)建一個新的AS工程,這里也可以打開已有的工程文件,其它的一些設置例如配置AS的工作環(huán)境,也可以在此進行。如果以前打開過工程,那么可以使用主窗口的File/New/New Project...菜單來新建一個全新的工程。
這里指定工程文件的名稱,公司域名及工程所在的位置,需要注意的是工程名稱及公司域名將會組合起來生成Package name,這是不同的APP之間的唯一標識,例如Google Player市場就是以此來區(qū)別不同的APP。
平臺選擇,AS支持手機、平板、可穿戴、電視及AndroidThings等不同類型的硬件平臺,此處一定要選中AndroidThings選項。
這里選擇添加的Activity類型,目前可用的類型只有空白和外設兩種類型的Activity。Activity是Android設備與用戶交互的區(qū)域,但是許多AndroidThings設備是不連接顯示器的,不過這不影響APP的運行,在HEADLESS模式下,Activity主要用來管理生命期的一些操作如初始化硬件設備、釋放設備等操作。
這里選擇空白Activity。
接下來設置Activity的名稱及是否生成layout文件,layout用來對顯示界面進行布局。這是典型的UI與代碼分離的設計模式,在Android開發(fā)中幾乎都是如此。
- 本文系21ic原創(chuàng),未經許可禁止轉載!
網友評論
- 聯(lián)系人:巧克力娃娃
- 郵箱:board@21ic.com
- 我要投稿
-
歡迎入駐,開放投稿
-
人均百萬?英偉達中國員工收入曝光! 2024-08-29
-
《黑神話:悟空》玩家硬盤升級攻略:提升游戲體驗,暢享3A大作 2024-08-29
- NRF52810藍牙數字耳機找人定制
預算:¥30005天前
- 125KW模塊式PCS軟硬件外包開發(fā)
預算:¥1100000015小時前
- 12V汽車啟動電源項目BMS設計
預算:¥50000023小時前
- 數據可視化軟件 開發(fā)
預算:¥5000023小時前
- PLC項目調試修改
預算:¥100001天前
- 起動電機控制器開發(fā)
預算:¥1100001天前