1. 程式人生 > >最火的android開源專案 直接拿來用

最火的android開源專案 直接拿來用

在《直接拿來用!最火的Android開源專案(一)》中,我們詳細地介紹了GitHub上最受歡迎的TOP20 Android開源專案,引起了許多讀者的熱議,作為開發者,你最常用的是哪些開源專案?使用起來是否能讓你得心應手?今天,我們將介紹另外20個Android開源專案,在這些專案中,你又用到了哪些呢?

DragSortListView(DSLV)是Android ListView的一個擴充套件,支援拖拽排序和左右滑動刪除功能。重寫了TouchInterceptor(TI)類來提供更加優美的拖拽動畫效果。

 

DSLV主要特性:

  • 完美的拖拽支援;
  • 在拖動時提供更平滑的滾動列表滾動;
  • 支援每個ListItem高度的多樣性
  • 公開startDrag()和stopDrag()方法;
  • 有公開的介面可以自定義拖動的View。

DragSortListView適用於帶有任何優先順序的列表:收藏夾、播放列表及清單等,算得上是目前Android開源實現拖動排序操作最完美的方案。

c:geo是Android裝置上一個簡單而又強大的非官方地理尋寶客戶端。與其他類似應用不同的是,c:geo不需要Web瀏覽器,也不需要檔案輸出。你可以在毫無準備的情況下,毫無後顧之憂地帶上你的智慧手機去進行地理尋寶。當然,你也不需要付錢,因為它是免費的。


c-geo-opensource包含了c:geo所有開原始碼。

詳情請參考:c:geo

自Android 3.0以上的版本,SDK新增了一個android.animation包,裡面的類都是跟動畫效果實現相關的,通過Honeycomb API,能夠實現非常複雜的動畫效果。但如果開發者想在3.0以下的版本中也能使用到這套API,那麼Nine Old Androids就會是你最好的選擇,該API和Honeycomb API完全一樣,只是改變了你使用com.nineoldandroids.XXX的入口。


該專案包含兩個工程,一個是Library,即為動畫效果的實現庫,另一個則是Sample,是對如何使用該API的演示。開發者可以直接登陸Google Play下載安裝Nine Old Androids Sample

,檢視演示。

PPSSPP是由GC/Wii模擬器Dolphin聯合創始人之一Henrik Rydgård開發的一款免費的跨平臺開源模擬器,支援Windows、Linux、Mac、Android、iOS、BlackBerry 10等主流計算機與移動作業系統,可直接工作在x86、x64、ARM等CPU平臺上,以GNU GPLv2許可協議釋出,主要使用C++編寫以提高效率和可移植性。


只要支援OpenGL ES 2.0,PPSSPP就可以在相當低規格的硬體裝置上執行,包括基於ARM的手機及平板電腦。

Android-Query(AQuery)是一個輕量級的開發包,用於實現Android上的非同步任務和操作UI元素,可讓Android應用開發更簡單、更容易,也更有趣。

Droid-Fu是一個開源的通用Android應用庫,其主要目的是為了讓Android開發更容易,包含有許多工具類,還有非常易用的Android元件。

Droid-Fu提供支援的領域包括:

  • Android應用的生命週期幫助
  • 支援處理Intents和diagnostics類
  • 後臺任務支援
  • HTTP訊息處理
  • 物件、HTTP響應及遠端影象快取記憶體
  • 定製各種Adapter及View


Droid-Fu最大的優勢在於它的應用生命週期幫助類,如果你正在開發一款Android應用,而它的主要任務是執行後臺任務,比如從Web上抓取資料,那麼,你一定會使用到Droid-Fu,不過,目前該專案在GitHub上已經停止更新維護。

TextSecure是Whisper Systems團隊開發的一個Android上的加密資訊客戶端,旨在增強使用者和企業通訊的安全性,其原始碼於2011年被Twitter釋出在GitHub開源資料庫中。


該軟體允許使用者將在Android裝置上所有傳送和接收的簡訊內容進行加密,還可以將加密資訊傳送給另一個TextSecure使用者。

XobotOS是Xamarin的一個研究專案,用於將Android 4.0從Java/Dalvik移植到C#,並對移植後的效能及記憶體佔用情況進行檢測。


在編寫Android應用時,通過提供即用元件和包含許多樣板檔案的實用類,ignition可以讓你的Android應用快速起步。ignition涵蓋的區域包括:

  • Widget、Adapter、Dialog等UI元件;
  • 允許編寫簡單卻強大的網路程式碼的HTTP Wrapper庫;
  • 載入遠端Web影象並進行快取的類;
  • 簡單但有效的快取框架(將對所有物件樹做出響應的HTTP快取到記憶體或硬碟中);
  • Intents、diagnostics等幾個能讓API級別更容易向後相容的幫助類;
  • 更友好、更強大的AsyncTask實現。


ignition包括三個子專案:

  • ignition-core——是一個可以直接編譯到App中的Android庫專案。
  • ignition-support——一個標準的Java庫專案,被部署為一個普通的JAR,包含了大部分實用工具類。開發者可以獨立使用該工程的核心模組。
  • ignition-location——一個可以直接編譯到應用程式中的Android AspectJ庫專案。能夠讓定位應用在不需要Activity位置更新處理的情況下獲取到最新的位置資訊。

android_page_curl是一個在Android上使用OpenGL ES實現類似書本翻頁效果的示例程式。(點選連結檢視視訊演示


說到aSmack,自然要先提提Smack。Smack API是一個完整的實現了XMPP協議的開源API庫,而aSmack則是Smack在Android上的構建版本,於2013年2月初遷移到GitHub上,該資源庫並不包含太多的程式碼,只是一個構建環境。開發者可以利用該API進行基於XMPP協議的即時訊息應用程式開發。

In-app Billing是一項Google Play服務,能夠讓你在應用內進行數字內容銷售,可銷售的數字內容範圍非常廣,包括媒體檔案、照片等下載內容,還包括遊戲級別、藥劑、增值服務和功能等虛擬內容。Android Billing Library可以實現In-app Billing的所有規範,並提供更高階的類來進行使用。


Google於2012年底正式釋出了v3版Android In-app Billing,但截至目前,GitHub上的Android Billing Library還只能支援到v2版,據悉Google將於2013年初對它進行更新。

Crouton是Android上的一個可以讓開發者對環境中的Toast進行替換的類,以一個應用程式視窗的方式顯示,而其顯示位置則由開發者自己決定。


開發者可以直接登陸Google Play下載安裝Crouton Demo,檢視應用演示。

CommonsWare Android Components(CWAC)是一個開源的Android元件庫,用來解決Android開發中各個方面的常見問題,每個 CWAC元件打包成一個獨立的jar檔案,其中就包含cwac-endless。


cwac-endless提供一個EndlessAdapter,這是一個自動分頁的List,當用戶瀏覽到List最後一行時自動請求新的資料。

在Android應用開發中,為了提高UI的流暢性、響應速度,提供更高的使用者體驗,開發者常常會絞盡腦汁地思考如何實現高效載入圖片,而DiskLruCache實現正是開發者常用的圖片快取技術之一。Disk LRU Cache,顧名思義,硬體快取,就是一個在檔案系統中使用有限空間進行快取記憶體。每個快取項都有一個字串鍵和一個固定大小的值。


點選連結下載該庫專案。

如果你對Android提供的Android ExpandableListView並不滿意,一心想要實現諸如Spotify應用那般的效果,那麼SlideExpandableListView絕對是你最好的選擇。該庫允許你自定義每個列表專案中的ListView,一旦使用者點選某個按鈕,即可實現該列表專案區域滑動。


Gaug.es for Android是由gaug.es推出的一款在Android裝置上對網站流量資料進行實時統計的應用。gauges-android包含了該應用的原始碼,開發者可以直接登陸Google Play下載安裝該應用。


38. acra

ACRA是一個能夠讓Android應用自動將崩潰報告以谷歌文件電子錶的形式進行傳送的庫,旨在當應用發生崩潰或出現錯誤行為時,開發者可以獲取到相關資料。


RoboGuice是Android平臺上基於Google Guice開發的一個庫,可以大大簡化Android應用開發的程式碼及一些繁瑣重複的程式碼。給Android帶來了簡單、易用的依賴注入,如果你使用過Spring或Guice的話,你就會知道這種程式設計方式是多麼的便捷。


40. otto

Otto是由Square釋出的一個著重於Android支援的基於Guava的強大的事件匯流排,在對應用程式不同部分進行解耦之後,仍然允許它們進行有效的溝通。


詳情請參考:Otto

(文/唐小引 責編/張寧)