安卓開發的小技巧(2)

Jyy發表於2015-12-11

歡迎閱讀《安卓開發的小技巧》系列的第二篇!就像我們上星期在第一篇小技巧文章裡說的那樣,這是一個不定期更新的博文系列,安卓開發團隊會在這裡和大家分享開發的建議和小技巧。

我們鼓勵團隊中的每個人每週都儘可能多地分享小技巧,儘管有些小技巧對他們來說可能是顯而易見的。

畢竟,你根本不知道什麼時候,你分享的一條資訊會讓人們學到新的知識。我們真心希望這周的小技巧會對你有所幫助。

技巧 1
如果安卓在應用程式執行時,決定更新系統的網路檢視元件,這樣會使你的應用程式崩潰:http://stackoverflow.com/questions/29575313/namenotfoundexception-webview

技巧 2

在 MaterialDesign 中,一些檢視必須遵循標準的填充和邊距。

除非你訓練有素能看出填充的錯誤,並且已經發現這段小技巧中每個單詞間都有兩個空格,那你還是趕緊來試試這個 app 吧,它能確保每個元素能在 app 中恰好排成一排: https://play.google.com/store/apps/details?id=com.faizmalkani.keylines

譯者注:該段英文原文的每個單詞間有兩個空格。

技巧 3

會返回一個(列表項)的位置,就算你從介面卡列表中移除一項(列表項也能返回),因為這個view(檢視)可能正在滑出可視區域,但是它還在RecyclerView中。

技巧 4

針對 API 23 以前版本的應用程式,GET_ACCOUNTS 是一個執行時的許可權,不能在許可權頁面上禁止它(事實上,如果這是在聯絡人群組中唯一的許可權,那麼你甚至都看不到聯絡人群組的選項)。這打破了許多 app 對存在一個使用者的假設。

技巧 5

Chrome 改變了它處理 deep links 的方式。你不可能僅僅只是在位址列中鍵入一個 URL,就能意外觸發一個 deep link。

舉個例子,你過去常常是在 Chrome 位址列鍵入“pandora.com“,就會開啟Pandora 應用程式,而不是把使用者導航到 Pandora 的網頁。新的改進是,使用者的的確確會被帶到 Pandora 的網站。

當然,為了能夠從你的網站 deep link 到一個應用程式,你需要用下面的新格式來規範連結的格式:

intent:

例如:

專業建議:你也可以在連結中包含一個回退的URL,或者是一個包名。這樣可以在使用者沒有安裝 app 時,提供回退的功能。

Chrome 首先會檢查回退的 URL,並將使用者導航到那裡。如果沒有提供回退的 URL,Chrome 會查詢包名,之後會把使用者帶到Play Store(安卓市場)去下載安裝包。

如果使用者沒有安裝 app 並且(連結)中也沒有提供回退地址,使用者會看到一個 404 Not Found 的頁面。在這裡可以瞭解更多資訊:https://developer.chrome.com/multidevice/android/intents

技巧 6

使用支援 23.0.0 版本 的 Loaders 時要注意,因為 Fragment 與 Activities 協同工作方式的改變,一個 bug 也隨之產生,這個 bug 會導致 Loaders 在橫豎屏切換時丟失。

這個錯誤雖然在 23.1.0版本中已經被修正了,但是依然出現了在child fragments中 Loader 在橫豎屏切換時丟失的問題。目前修正這個問題的方案就是使用低於 23.0.0 的版本。

技巧 7

在 OSX 中,你可以拖動游標到螢幕底部並且持續下拉,這樣可以在不同的螢幕中喚起 Dock 欄。

嚴格來說,這個問題與安卓無關,但是如果你的 Mac 上有多個螢幕,那麼這個問題可能時常會讓你抓狂。

如果你的 Dock 不是設定在底部而是其他地方,那麼你可以檢視一下其他情況的評論。

技巧 8

在可能的情況下,使用

而不是通過方法返回一個新的空集合。這個 collections 類負責維護一個不可變的空 list/set 例項,沒有必要新建另一個(空集合)。

打賞支援我翻譯更多好文章,謝謝!

打賞譯者

打賞支援我翻譯更多好文章,謝謝!

任選一種支付方式

安卓開發的小技巧(2) 安卓開發的小技巧(2)

相關文章