WHY
閱讀本文可以較為全面的了解到Android O。
2017年3月21日,Google發(fā)布了Android O。這個版本的系統(tǒng)主要提高了手機的電池使用壽命以及增加了畫中畫等功能。當然也新增了一些API。如:TextView支持自動縮放以及添加了Autofill Framework(就像自動填充表單的意思)、后臺運行的限制等。[譯者言]
自2008年首次推出以來,Android項目獲得了來自我們充滿活力的應用開發(fā)者和設備制造商以及我們的用戶的令人難以置信的反饋。
最近,我們一直在努力改進我們的工程流程,以便我們能夠與我們的合作伙伴更早地,更公開地分享我們的工作。
所以,今天,我很高興地分享了第一個開發(fā)者預覽的操作系統(tǒng):Android O。
早期有更多的功能,當然在正式使用之前還有很多的優(yōu)化系統(tǒng)穩(wěn)定性以及提高系統(tǒng)性能的工作要做。
在接下來的幾個月內,我們將發(fā)布更新的開發(fā)者預覽,我們將在5月份在Google I / O上對這個版本進行更深入的探討。
在此期間,我們非常歡迎您嘗試新功能的反饋,當然你也可以在新操作系統(tǒng)上測試您的應用。
O中有什么新東西?##
Android O引入了許多新功能和API,可以在您的應用程序中使用這些新的API。這里只是一些新的東西,你開始嘗試這個第一個開發(fā)者預覽:
后臺限制:基于我們在Nougat開始的工作,Android O將把提高用戶的電池壽命和設備的交互性能作為重中之重。為了實現(xiàn)這一點,我們對后臺應用程序可以執(zhí)行的其他自動限制有三個主要方面:隱式廣播,后臺服務和位置更新。這些更改將更容易創(chuàng)建對用戶設備和電池影響最小的應用。后臺限制代表了Android的重大變化,因此我們希望每個開發(fā)人員都熟悉它們。
有關詳細信息,請參閱有關 后臺執(zhí)行限制和后臺位置限制的文檔。
通知渠道: Android O還引入了通知渠道,這是針對通知內容的新的應用程序定義的類別。
頻道可讓開發(fā)人員針對不同類型的通知提供不同程度的控制權限,用戶可以單獨阻止或更改每個頻道的行為,而不是一起管理所有應用的通知。


Android O還添加了新的視覺效果和分組到通知,當他們有一個傳入的消息或正在通知時使得用戶更容易看到。
在Android的O,我們重新設計了通知,以提供管理通知的行為和設置更方便,更一致的方式。
這些變化包括:
- Notification channels(通知信道):Androi O 介紹的通知信道,允許你創(chuàng)建要顯示每種類型的通知的用戶可定制的頻道。所述用戶界面是指通知信道作為通知類別。要了解如何執(zhí)行的通知信道,看到通知通道指南。
- Snoozing(打盹):用戶可以暫停通知,在以后的時間再次出現(xiàn)。通知再現(xiàn)與同等重要的水平,他們第一次出現(xiàn)了。應用程序可以刪除或更新延后的通知,但更新延后的通知不會導致它出現(xiàn)。
- Notification timeouts(通知超時):您現(xiàn)在可以使用創(chuàng)建通知時設置超時 Notification.Builder.setTimeout()。
您可以使用此方法來指定在此之后,通知應被取消的持續(xù)時間。
如果需要的話,可以取消之前指定的超時時間到達的通知。 - Notification dismissal(通知解雇):系統(tǒng)現(xiàn)在區(qū)分的通知是否是由用戶駁回,或由一個應用程序除去。要檢查通知是如何被解雇,你應該實施新 [onNotificationRemoved()](https://developer.android.com/reference/android/service/notification/NotificationListenerService.html#onNotificationRemoved(android.service.notification.StatusBarNotification, android.service.notification.NotificationListenerService.RankingMap, int))的方法 NotificationListenerService 類。
- 背景顏色:現(xiàn)在,您可以設置并啟用通知的背景顏色。您應該只使用在通知這一功能對于這對用戶一看便知關鍵的日常任務。例如,您可以為相關的行車路線通知的背景顏色,或正在進行的電話。您還可以使用設置所需的背景色 Notification.Builder.setColor()。這樣做允許您使用Notification.Builder.setColorized()啟用通知使用背景色。
- 消息的風格:使用該通知 MessagingStyle類現(xiàn)在顯示在他們的折疊形式更多的內容。您應該使用MessagingStyle類對于那些消息相關的通知。您也可以使用新的 addHistoricMessage() 方法,通過將歷史信息以短信相關的通知,以提供上下文的對話。
自動填充API: Android用戶已經依賴一系列密碼管理器來自動填充登錄詳細信息以及一些重復的信息,這使得設置新的APP或者進行交易時更簡單快捷。現(xiàn)在,我們通過為自動填充添加平臺支持,使整個生態(tài)系統(tǒng)中的工作更加輕松。用戶可以選擇自動填充應用,類似于他們選擇鍵盤應用的方式。自動填充應用程序存儲和受保護的用戶數據,如地址,用戶名,甚至密碼。對于要處理自動填充的應用,我們需要添加新的API來實現(xiàn)自動填充服務。
類型Form表單的自動填充
PIP的手機和新的窗口功能: 畫中畫(PIP)顯示,現(xiàn)已可以在手機和平??板電腦上使用,所以用戶可以在觀看視頻的同時回答一個聊天或招呼一輛汽車。應用程序可以從恢復的PiP模式或系統(tǒng)支持的暫停狀態(tài)將自己置于PiP模式 - 您可以指定寬高比和一組自定義交互(如播放/暫停)。其他新窗口特性包括應用程序使用 新應用程序覆蓋窗口,而不是系統(tǒng)警報窗口,以及在遠程顯示器上啟動活動的多顯示器支持。
畫中畫功能已經在三星手機上實現(xiàn)過了
XML中的 字體(fonts) 資源: 字體現(xiàn)在是Android O中完全支持的資源類型。應用程序現(xiàn)在可以在XML布局中使用字體,也可以在XML中定義字體系列 - 聲明字體樣式和重量以及字體文件。
就是使用統(tǒng)一的字體?,F(xiàn)在很多手機廠商ROM已經支持了。
自適應圖標:為了幫助您更好地與設備UI集成,您現(xiàn)在可以
基于設備選擇的掩碼,創(chuàng)建系統(tǒng)以不同形狀顯示的 自適應圖標。系統(tǒng)還會與圖標進行動畫交互,并在啟動器,快捷方式,設置,共享對話框和概述屏幕中使用它們。


應用程序的寬色域:成像應用程序的Android開發(fā)人員現(xiàn)在可以利用具有寬色域顯示功能的新設備。要顯示寬色域圖片,應用需要在其清單(每個活動)中啟用標記,并使用嵌入式寬色配置文件(AdobeRGB,Pro Photo RGB,DCI-P3等)加載位圖。
連接:為了最終的音頻保真度,Android O現(xiàn)在還支持高品質的藍牙音頻編解碼器,如LDAC編解碼器。我們還增加了新的Wi-Fi功能,如 Wi-Fi Aware,以前稱為鄰居感知網絡(NAN)。在具有適當硬件的設備上,應用和附近的設備可以通過Wi-Fi發(fā)現(xiàn)和通信,而無需互聯(lián)網接入點。我們正在與我們的硬件合作伙伴一起,盡快為設備帶來Wi-Fi Aware技術。
電信框架正在擴展ConnectionService API,以使第三方調用應用程序與System UI集成,并與其他音頻應用程序無縫操作。例如,應用可以在不同類型的UI(諸如汽車頭單元)中顯示和控制他們的呼叫。
鍵盤導航:隨著Chrome操作系統(tǒng)和其他大型設備上Google Play應用的出現(xiàn),我們發(fā)現(xiàn)這些應用中鍵盤導航的使用正在復蘇。在Android O中,我們專注于為“開發(fā)者”和“標簽”導航創(chuàng)建一個更可靠,可預測的模型,幫助開發(fā)人員和最終用戶。
AAudio API for Pro Audio: AAudio是一種新的本機API,專為需要高性能,低延遲音頻的應用程序而設計。使用AAudio的應用程序通過流讀取和寫入數據。在開發(fā)者預覽中,我們發(fā)布了這個新API的早期版本,以獲取您的反饋。
WebView增強功能:在Android Nougat中,我們?yōu)閃ebView引入了一個可選的多進程模式,將Web內容的處理轉移到一個獨立的進程中。在Android O中,我們默認啟用多處理模式,并添加一個API,讓應用處理錯誤和崩潰,以提高安全性和提高應用程序穩(wěn)定性。作為進一步的安全措施,您現(xiàn)在可以選擇啟用應用的WebView對象,以通過Google安全瀏覽驗證網址。
Java 8語言API和運行時優(yōu)化: Android現(xiàn)在支持幾種新的Java語言API,包括新的java.time API。此外,Android Runtime比以前更快,在某些應用程序基準上的改進高達2x。
合作伙伴平臺貢獻:硬件制造商和硅谷合作伙伴已經加快了O版本中Android平臺的修復和增強。例如,索尼已經提供了超過30個功能增強,包括LDAC編解碼器和250個修復Android O的bug.
250個bug。。。
開始使用幾個簡單的步驟##
首先,讓您的應用程序兼容,讓您的用戶無縫過渡到Android O.只需下載設備系統(tǒng)映像或模擬器系統(tǒng)映像,安裝您當前的應用程序,并測試 - 應用程序應該運行和看起來不錯,處理行為更改正確。完成任何必要的更新后,我們建議您立即發(fā)布到Google Play,而不必更改應用的平臺定位。
使用Android O構建
當你準備好了,深入了解O,了解你可以利用你的應用程序的一切。有關預覽時間軸,行為更改
,新API和支持資源的詳細信息,
請訪問O Developer Preview網站。
規(guī)劃應用程式如何支援背景限制和其他變更。嘗試一些在您的應用程序的偉大的新功能 - 通知渠道,PIP, 自適應圖標,XML中的字體資源,自動調整TextView
和許多其他。
為了更輕松地探索Android O中的新API,我們已經提供了API差異報告與
Android O API參考。
Autosizing TextViews(自動縮放TextView)
兩種使用方法,每種使用方法均有對應的代碼和XML使用方式
-
Granularity(粒度)
通過使用粒度,可以指定一個范圍的最小和最大文本尺寸,并且指定每個步長的大小的尺寸。Android Studio中允許文本在TextView以統(tǒng)一的規(guī)模,在給定的最小和最大尺寸的屬性之間的范圍內。每個增量呈現(xiàn)在粒度屬性中指定的步長大小。要設置使用粒度自動調整大小,請執(zhí)行以下操作:調用[setAutoSizeTextTypeUniformWithConfiguration(int autoSizeMinTextSize, int autoSizeMaxTextSize, int autoSizeStepGranularity, int unit)](https://developer.android.com/reference/android/widget/TextView.html#setAutoSizeTextTypeUniformWithConfiguration(int, int, int, int))方法。您可以使用任何TypedValue 尺寸單元,最大,最小和粒度值。
使用autoSizeMinTextSize, autoSizeMaxTextSize和autoSizeStepGranularity 屬性設置布局XML文件中的自動調整大小的尺寸。
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:autoSizeMinTextSize="12sp" android:autoSizeMaxTextSize="100sp" android:autoSizeStepGranularity="2sp" />
-
Preset Sizes(預設尺寸)
通過使用預設的尺寸,可以自動調整的 TextView,從預定義的尺寸列表。要設置使用預設的大小自動調整大小的,請執(zhí)行以下操作:- 調用[setAutoSizeTextTypeUniformWithPresetSizes(int[] presetSizes, int unit)](https://developer.android.com/reference/android/widget/TextView.html#setAutoSizeTextTypeUniformWithPresetSizes(int[], int)) 方法。You can provide an array of sizes in pixels and any dimension unit for the size。
- 使用autoSizePresetSizes 布局XML文件中的屬性。訪問數組作為一種資源,在一個XML文件中定義數組,然后將文件添加到res/values/文件夾中。
<resources> <array name="autosize_text_sizes"> <item>10sp</item> <item>12sp</item> <item>20sp</item> <item>40sp</item> <item>100sp</item> </array> </resources>
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:autoSizePresetSizes="@array/autosize_text_sizes" />
最新的Canary(金絲雀)版本的Android Studio 2.4 包含新功能,以幫助您開始使用Android O.您可以從Android Studio下載并設置O預覽SDK,然后使用Android O的XML字體資源和自動調整布局編輯器中的TextView。觀看更多Android O支持在未來幾個星期。
我們還發(fā)布了一個alpha版本的26.0.0支持庫,供您試用。此版本添加了許多新的API,并將minSdkversion增加到14.有關詳細信息,請查看發(fā)行說明。
要把AS更新到2.4預覽版才能使用Android O的虛擬機(00)貌似
預覽更新##
O開發(fā)者預覽版包括一個更新的SDK,其中包含用于在官方Android模擬器以及Nexus 5X,Nexus 6P,Nexus Player,Pixel,Pixel XL和Pixel C設備上測試的系統(tǒng)映像。如果您正在構建可穿戴設備,還有一個模擬器可用于在Android O上測試Android Wear 2.0。
我們計劃在O Developer Preview中定期更新預覽系統(tǒng)映像和SDK。此初始預覽版本僅適用于開發(fā)人員,不適用于每日或消費者使用,因此我們只能通過手動下載和閃光提供。下載和說明在這里。
隨著我們更接近最終產品,我們將邀請消費者嘗試一下,我們將通過Android測試版開放注冊。請繼續(xù)關注細節(jié),但現(xiàn)在,請注意,Android測試版目前不支持Android?。