Java開發者應當知道的7個最佳Android開發庫
這篇博客介紹了java開發者
至少應該知道的7個android庫。android開發人員看這篇博客也會有所啟發,看看是不是有一些你可能不知道的庫。
Android 和 Java有非常相似的 API 。它們相似到前段時間甲骨文因為專利問題起訴了谷歌,不過我們在這里不討論這些問題。自然,能夠開發兩個平臺上都適用的架構和庫是Android 和 Java相似的一個優點。這樣開發人員就能夠創建兩個平臺上通用的庫和工具。
我們從一個在Android界最有名的庫開始介紹。
Dagger
Dagger 是一個不帶附屬項目的輕量級依賴注入庫。它是安卓系統上最有名最被廣泛使用的依賴注入庫。對于 Java 和 Android 它都是簡單且快速的。有兩部分:Dagger庫(100kb)和Dagger 編譯器。
Dagger 庫包含了所有必要的邏輯和注釋。它還使用標準 javax.inject 注解,讓你的代碼在不同依賴注入框架之間(例如 Spring 和 Guice)具有可移植性。 Dagger 是最簡單和最輕便的 DI 框架之一。它不包含那些較大型框架通常帶的花哨特征,它很快并且能能夠完成它的工作。如果你想用簡單、不帶其它東西的依賴性注入框架,Dagger是絕對值得考慮的。
Dagger 由Apache License2.0授權許可,Square 和 Google 率領開發,這里可以獲取資源: http://square.github.io/dagger/ 。
LeakCanary
你知道嗎?煤礦工人在下礦時通常會帶一著一只金絲雀,如果煤氣泄漏嚴重的話金絲雀會先死,這樣工人就能夠依據此信號離開。 LeakCanary 的原理跟這個很像,只不過不是用來檢測煤氣泄漏,而是為 Android 和 Java 檢測內存泄漏。它通過在你的代碼中加入幾行 Java 代碼能夠很容易的檢測出導致內存泄漏的對象。這個庫免費易用。跟 Dagger 類似, LeakCanary 也是由 Square率領開發的。
同樣的, LeakCanary 由 Apache License2.0授權許可,這里能獲得資源: https://github.com/square/leakcanary 。
ZXing
條形碼和二維碼碼已經成為機器可識別數據世界的基本標配。 ZXing 已經出來有段時間了。Zxing 最初是用Java語言編寫的,它能夠讀取、創建很多不同平臺上的條形碼,現如今它已經被轉換為不同的語言。這個庫開發出來已經有一段時間并且具有良好的用戶基礎。現在你的智能手機上的二維碼解析器有可能就用的這個庫。它運作良好且有良好的歷史記錄。
ZXing 由 Sean Oven, Daniel Switkin, ZXing 團隊開發, Apache License 2.0 授權許可,在這里能找到資源: https://github.com/zxing/zxing
Retrofit
這是由Square開發的另一個庫!這些人非常擅長寫 Android 庫對不對! Retrofit能夠讓你的 REST API 變成 Java 接口。它對于 Android 和 Java 都是類型安全的REST客戶端。使用Retrofit ,你用純Java代碼就能很好的跟幾乎任何 RESTful API進行通信。就像 Android 庫通常的特點:輕量級且易用。
Retrofit 是由 Square 率領開發的,由 Apache License 2.0 授權許可。這里能看到更多相關信息: http://square.github.io/retrofit/
Libphonenumber
在需要解析和格式化電話號碼時,開發人員
找不到多少又好又免費的解決方法。 幸運的是,Google團隊退出了一個叫做 Libphonenumber 的庫。這個庫可以算是解析、驗證和格式化電話號碼中最好最全面的庫。雖然它的名字有點饒舌,但是它的功能相當棒!
這是個非常簡單且容易使用的 API 并且已經轉換成了其他能夠脫離Java虛擬機的語言,像 C# 和 PHP。 Libphonenumber 由 Google 率領開發,由 Apache License 2.0 授權許可。如果要下載,請看這里:
https://github.com/googlei18n/libphonenumber
Tape
現在要介紹的是 Square 的另一個庫。 Tape 僅僅是隊列處理的類集合。它處理不穩定環境中的數據流和數據下載非常棒。Tape 能夠代替你手動編寫隊列處理的大量工作。如果一些處理失敗了, Tape 會自動再次執行命令或操作。同樣的,所有中間結果都會被自動緩存,這個特點非常實用。
Square的這些善良的人也同樣為這個庫取得了 Apache License 2.0 的授權許可。這里能找到庫的資源:https://github.com/square/tape
Jitpack.io
Jitpack.io 是由 Streametry 公司的團隊開發的庫。它能夠在情況下off the hook情況下編譯項目然后發布到 Maven 庫中。很酷對不對?它能夠省下構造依賴的時間和麻煩。當用項目依賴于Maven時這是發布任何Github項目最簡單的方法。
這里可以找到Jitpack資源: http://jitpack.io/ . Jitpack 使用自定義的使用許可。
結論
從上面的幾個例子可以看出,大多數可用的新 Android 庫和工具
表明我們需要能在不穩定環境中運行的輕量級且簡單的庫,這樣才有可能滿足每個人需要。Android 和 Java 之間也存在一些區別,代碼通常在 Android 和 Java 之間相互轉換, 如果你能夠寫出兩者通用的代碼,何樂而不為呢?
來自: http://android.jobbole.com/83268/