編輯:Android開發教程
如果給 Android 撰寫一個編年史,那每年的 Google I/O 都是一個新的 Android 年的開啟,它預示著 Android 在後續一年新的方向和趨勢。
2014 年的 Google I/O,新版本的 Android L 揭開面紗,它用 Material Design 重新定義了 Android 的交互方式。這種交互方式不僅適用於 Android 手機、平板等移動設備,也會延續到浏覽器、手表、電視、汽車——這些 Android 即將出沒的地方。Android Wear 定義了 Android 在可穿戴設備上的解決方案,Android Auto 將把 Android 帶進福特、帶進奧迪、帶進你的座駕中,而 Android TV 則是 Android 占領電視、占領客廳的再一次嘗試。
在這些眼花缭亂的新名詞後面,是怎樣的技術實現架構?體現了什麼樣的設計思想?對於開發者來說,要怎麼理解這些技術,並更好的利用新的平台和機會接入自己的應用?
Android Wear、Android Auto、Android TV……這些 Android 打頭的不同設備解決方案目標是為了什麼?這和市面上各式各樣的 Android 電視、Android 手表、Android 盒子有什麼不同?要說清楚這個,先要聊聊另一個話題:“可移植性”。
圖 1:Android 架構圖
從技術角度來看,Android 在整體架構設計上天生具有良好的可移植性,能夠較為輕松的適配到不同的硬件設備上。如圖 1 所示,Android 系統其實是構建在 Linux 內核之上的一個“運行時”(Android Runtime),由於 Linux 具有強大的可移植性,幾乎可以嵌入到任何一個設備中運行,所以移植 Android 到新的硬件設備只需實現新的硬件抽象層(Hardware Abstraction Layer,HAL),按 Android 定義的標准為硬件上的 WiFi、相機等設備撰寫驅動,而不需要修改上層的相關實現,難度大幅降低。
了解這一點就可以知道,將 Android 移植到不同的設備上並不是困難的事情,這也是非官方的 Android 電視、盒子可以很容易實現的原因。正是基於此,Android Wear 這些項目期望解決的並不是移植的問題,而是移植以後需要考慮的問題,包括:
統一的交互模式。之前不同廠商定制的電視、手表等設備,缺少統一的交互模式和控件庫的支持,不僅對於用戶而言增加了學習成本,對於開發者而言,也較難基於不同的實現機制來構建應用,生態系統也就難於構建。Material Design 為不同的設備構建了統一的“設計語言”: Android Wear、Android TV 等項目在 Material Design 的設計語言基礎上,針對不同設備的交互特征提供了界面庫支持,使得應用適配不同的設備變得簡單起來。尤其是,Android 還將 Google 的語音識別服務帶到了這些不同的設備上,使得很多復雜的交互都統一到了“說話就好”的交互模式下。
簡單而統一的互聯互通。不同設備有不同特征,在很多場景下都需要將各式設備“連接”起來,一起工作,才能發揮更大的價值。而現在如果你去買台第三方 Android 電視,要麼是無法與其他 Android 設備通信,要麼就是用各自不同的方案來解決,對用戶來說學習成本高,對開發者來說則是不友好。而 Android Wear 這些解決方案,將互聯互通實現到了 Google Play 服務中,實現到了 Android 系統中,使得連接變得簡單而無縫,為開發者提供了更多的可能性。
更好的解決核心需求。為什麼出門要戴手表?為什麼汽車需要車載系統?為什麼客廳要擺電視?手表、電視這樣的設備原本就有它需要解決的核心需求,引入 Android 到這些設備,本質上是為了更好的解決用戶在這些場景的這些核心需求。Android Wear、Android TV 這些項目一方面是引入了大量 Google 服務來解決這些設備的核心需求,另一方面也為開發者提供了易用的、針對不同硬件場景的 API 來接入更多好的服務,一並更好滿足這些需求。
在各個設備上解決這些問題,是 Android Wear、Android Auto、Android TV 這些解決方案共同的目標,以 Android Wear 為例,來看看 Android 是如何設計和解決這些問題的。
Android Wear 是基於 Android 的可穿戴設備的解決方案。早在今年的 3 月份,Google 就發布了 Android Wear 的預覽版本,當時還並沒有任何支持 Android Wear 的設備,開發者僅能夠通過模擬器來感受 Android Wear 的面貌。
而到了 2014 年的 Google I/O,Android Wear 的版本已然打磨成型正式發布,搭載它的 LG、三星手表也同步發(song)售(chu),其他可穿戴設備的預售信息也不斷公布,這都使得對於開發者而言, Android Wear 不再是只能觀望一下的東西,而是當下可以更清楚地了解、甚至是為它做點什麼的方案。
查看本欄目更多精彩內容:http://www.bianceng.cn/OS/extra/
以前做過的一個項目,Fragment嵌套高德地圖,當再次進入Fragment的時候,會出現奇怪的現象。嵌套的地圖會出現滑動不動的情況,起先還以為是高德的bug呢,經過一番
使用一個例子,來總結一下ListView的基本使用。1. 新建一個工程:ListViewDemo。2. main.xml中的代碼。<?xml version=&qu
做Android開發加起來差不多也有一年多的時間了,總是想寫點自己在開發中的心得體會與大家一起交流分 享、共同進步,剛開始寫也不知該如何下手,仔細想了一下,既然是剛開始
盡管在去年12月的時候微軟在Android平台上也推出了Outlook.com客戶端,但是上架之後並未收到消費者的好評,歸結原因主要是應用顯示有點過時,只是實現了基本的郵