GitHub上最火的Android開源專案
摘要:截至目前,在GitHub“最受歡迎的開源專案”系列文章中我們已介紹了40個Android開源專案,對於如此眾多的專案,你是Mark、和碼友分享經驗還是慨嘆“活到老要學到老”?今天我們將繼續介紹另外34個Android開源專案。
此前,CSDN移動頻道推出的GitHub平臺上“最受歡迎的開源專案”系列文章引發了許多讀者的熱議,在“直接拿來用!最火的Android開源專案”系列文章(一)、(二)中, 我們也相繼盤點了40個GitHub上最受歡迎的Android開源專案。對於GitHub上如此眾多的專案,有人不斷Mark,有人分享自己的經驗,有 人心生“看得眼花繚亂,果然是需要終身學習的時代”的感慨,不管怎麼樣,如果能讓你真的有所學習有所收穫,我們的目的也就達到了。
今天我們將繼續介紹GitHub上另外34個非常受歡迎的Android開源專案,在這些專案中,你又在用或用過哪些呢?
SwipeListView是一個Android List View實現,實現了自定義ListView單元格,可通過滑動來顯示擴充套件面板。開發者可直接登陸Google Play下載安裝其Demo應用。
greenDAO是一個可以幫助Android開發者快速將Java物件對映到SQLite資料庫的表單中的ORM解決方案,通過使用一個簡單的面向物件API,開發者可以對Java物件進行儲存、更新、刪除和查詢。
greenDAO的主要設計目標:
- 最大效能(最快的Android ORM)
- 易於使用API
- 高度優化
- 最小記憶體消耗
FFmpeg 是一套可以用來記錄、轉換數字音訊、視訊,並能將其轉化為流的開源計算機程式。它包括了目前領先的音/視訊編碼庫libavcodec。FFmpeg是在 Linux下開發出來的,但它可以在包括Windows在內的大多數作業系統中編譯。可以輕易地實現多種視訊格式之間的相互轉換。
而FFmpeg for Android則是可通過Android NDK直接在Android原始碼環境下編譯的FFmpeg庫。該庫專案即是FFmpeg for Android的入口,開發者只需直接選擇需要轉換的視訊檔案,並設定引數,即可進行轉換,發起人havlenapetr表示在未來將為其開發 Android庫,能夠實現自動轉換視訊檔案。
Tweet Lanes是一個在Android 4.0及更高版本的Android裝置上執行的功能全面的Twitter客戶端(開發者可以直接登陸Google Play下載該應用)。
該開源專案包含以下所有原始碼:
- Tweet Lanes客戶端應用;
- 連線Twitter和App.net APIs的SocialNetLib專案;
- 所有源,尤其是LOGO和Play Store列表;
- 用於tweetlanes.com的The App Engine專案。
這是一個簡單的支援多指縮放圖片的Android View類。在Android2.1及其更高版本的裝置上,當你想要實現同時進行縮放操作時,可以將其作為一個標準的ImageView來使用。
使用過Path的人都應該知道,在Path主介面的左下方有一個非常有意思的選單。選單由一個主按鈕組成,當用戶點選該按鈕時,就會有一連串的按鈕彈出,而Satellite Menu正是該選單的一個開源版本。
對於Satellite Menu,其專案發起人siyamed表示,這種選單結構就像是一個星球四周圍繞著許多衛星,而這也就是他為何會以Satellite Menu命名該專案的原因。
Vitamio 是一款Android平臺上的全能多媒體開發框架,憑藉著其簡潔易用的API介面,Vitamio贏得了全球眾多開發者的青睞。目前,有許多公司的開源 Vitamio專案都託管在GitHub上,而Vitamio的核心外掛VitamioBundle正是其中之一。
VitamioBundle是一個獨立的Android庫,用於促進多媒體的使用,開發者可以很方便地將其整合到自己的專案當中。
android- ffmpeg-x264是能夠讓提取和構建執行在Android上、使用Android NDK最新的FFmpeg和libx264變得非常簡單的一個儲存庫。不同於大多數其他的NDK FFmpeg構建包,它通過配置構建庫,只需一個非常小的Android.mk檔案即可將其包裝進入一個共享庫。目前,該庫專案已不再更新,但在 GitHub上還有著非常多的FFmpeg庫,除了前面的FFmpeg,接下來我們還會繼續介紹到其他FFmpeg庫。
ArcMenu是一個類似於iOS版Path 2.0選單的Android自定義檢視專案,和我們前面介紹的Satellite Menu專案類似。
對於這個專案,其發起人daCapricorn表示,iOS版Path 2.0上的使用者體驗非常奇妙,但其Android版本卻差太多。因此,他就嘗試著在Android上做出像iOS版本那樣的效果,而事實也的確如此。
DataDroid是Android平臺上的一個開發庫,用於簡化Android應用當中的資料管理,基於Android的RESTful封裝發展而來。
android-adt-templates是集成了Android開發過程中使用到的許多常用的模板,用來幫助開發者快速構建一些普通的Activity和UI模型。
當然,要想使用這些模板,還必須是Eclipse和ADT 21及其以上版本,此外還需注意的一點就是,ADT模板不管理官方支援庫以外的外部依賴關係。
FFmpeg有許多不同的庫,也總是會讓人容易混淆,因此該專案發起人n8fr8對android-ffmpeg專案進行了全新的改變,該專案中包含著一個清晰、容易改變、靜態的AndroidFFmpeg Creator。
該專案是基於Google Android StaggeredGridView進行修改的一個庫專案,允許開發者建立一個類似於Pinterest的交錯排列的GridView。開發者只需在自己的專案中將其作為一個庫專案新增到workspace中即可直接使用。
RoboSpice是Repo的開源Android庫,能夠讓編寫非同步網路請求變得非常簡單。它專門用於網路請求,通過使用Spring Android或者Google Http Client等擴充套件模組可支援REST請求。
如果想要了解更多,不妨點選連結檢視RoboSpice大圖,讓你30秒即可完全瞭解RoboSpice。如果想要立即使用,則可以直接進入WiKi或RoboSpice-samples頁面。
當一個Android應用功能越來越多的時候,保證應用的各個部分之間高效的通訊將變得越來越困難。如何優雅地解決這個問題?這時候,就需要使用到EventBus。
EventBus是GreenRobot出品的Android系統的一個Event Bus類庫,使用起來和之前我們所介紹的Square的Otto差不多,都是用來簡化應用元件之間的通訊。
commandergenius是SDL庫的埠,在project/jni/application目錄下還包含有幾個個人遊戲的原始碼或補丁。
Android RSS是Android平臺上RSS 2.0閱讀軟體的一個輕量級Android庫。
OpenCV-Android是一個將OpenCV移到Android手機平臺的開源專案,該專案使用OpenCV最新的一個分支並利用一個改良過的Android NDK進行構建。
如果想要使用OpenCV-Android,必須先下載並安裝Android SDK 1.6(或其更高版本)和NDK r5,除此之外,還必須具備:
- Android手機(可能需要與其他手機相連);
- QuickTime Java庫(如果想要使用QTWebcamBroadcaster就必須具備)。
RESTProvider旨在讓訪問REST服務(或任何主要的HTTP呼叫的網路資料格式)更容易,並將其快取到本地的一個SQLite資料庫中,允許離線使用。可自動解析RESTful API,並將其響應到Android的一個Provider中。
在開源ImageFilterForAndroid中擁有許多豐富的圖片效果,是由來自國內的代震軍發起的一個開源專案。除了Android平臺,還有Windows Phone和iOS移動平臺,三個平臺原始碼同步。
ImageFilter庫圖片效果對比:
Android-Image-Cache是一個能夠自動判斷從記憶體還是網路獲取圖片、快取可以自動回收、自動判斷如何有效地生成並檢索各種尺寸縮圖的影象download-and-cacher。
主要特點如下:
- 只需提供一個介面卡即可從游標讀取本地、網路URL;
- 基於一個已下載的影象自動生成並快取多種尺寸影象;
- 同時提供磁碟快取和記憶體快取;
- 自動磁碟快取管理;不需進行設定,但如果需要的話,引數可進行調整;
- 根據現有設定進行運作;
- 游標介面卡支援一個ImageView中多個影象欄位;當是null或為空時自動跳過;
- 當載入游標時,游標介面卡會有一個自動進度提示條。
為Android neon、armv7、vfp、armv6及用於Android的VPlayer構建FFmpeg。
roman10-android-tutorial包含了android tutorial的所有原始碼。
64.tape
Tape是Square推出的Android和Java的一組佇列關係類。
AndroidSideMenu能夠讓你輕而易舉地建立側滑選單。需要注意的是,該專案自身並不提供任何建立選單的工具,因此,開發者可以自由建立內部選單。
開發者可以直接登陸Google Play下載其示例應用。
ProxyDroid是Android上的一個全域性代理應用,遵循GPLv3協議,可以幫助你設定Android裝置上的代理。proxydroid專案包含了ProxyDroid所有開放原始碼。
Bypass可以跳過HTML,直接在Android和iOS上使用Markdown並進行渲染。Markdown是一種輕量級的標記語言,可以實現文字到HTML的轉換。
OnionKit是一個可以通過提供多種路徑來提高移動應用網路安全的Android庫專案。
該庫具體提供:
- StrongTrustManager:TLS/SSL證書校驗的一個強大實現,任何認證中心都可以進行定製;
- Proxied Connection Support:通過Apache HTTPClient庫的特定配置來支援HTTP和HTTPS流量的HTTP和SOCKS代理連線;
- OrbotHelper:一個支援Orbot:Tor for Android應用整合的工具類。
如果想要實現Android FFmpeg編譯,必須下載安裝Android NDK,在開始編譯之前,還必須更新FFmpeg庫。
Android Usb Camera是一款可以在Linux電腦上將Android手機直接當攝像頭使用的客戶端軟體。先在手機上安裝USB驅動,再安裝該客戶端軟體,然後再在手機上安裝usbwebcam.apk程式,開啟USB除錯模式並執行usbwebcam,通過USB線將電腦和手機相連線即可在PC上直接使用Android手機充當攝像頭。
Droidex可以將開發者附加的Android裝置的螢幕內容複製到你的開發裝置螢幕上。通常,如果你使用DroidEx來進行演示可謂是事半功倍,因為你可以直接將一臺Android裝置與筆記本或投影儀相連,而客戶也可以通過這些裝置來檢視Android裝置上的內容。
此外,Droidex還可以用來演示那些不方便通過模擬器演示的內容,比如GPS或加速器。
andmake是Android的CMake工具鏈檔案。CMake是一個開源的跨平臺自動化構建系統,可以編譯原始碼、製作程式庫、產生介面卡,還可以用任意的順序構建可執行檔案。
ScreenCap是Android原生自帶的截圖工具,通過呼叫底層,採取後臺截圖的方式實現截圖。
GitHub上受開發者歡迎的Android開源專案並不僅僅止於此,還有很多,並且還有許多同類開源專案,如果你感興趣的話,可以直接登陸GitHub進行更加深入的學習瞭解。至此,GitHub上最受歡迎的Android開源專案盤點就全部結束了