直接拿來用!最火的Android開源項目(完結篇)

直接拿來用!最火的Android開源項目(完結篇)

分類:
android 高手進階教程(100)
摘要:截至目前,在GitHub“最受歡迎的開源項目”系列文章中我們已介紹了40個Android開源項目,對于如此眾多的項目,你是Mark、和碼友分享經驗還是慨嘆“活到老要學到老”?今天我們將繼續介紹另外34個Android開源項目。

此前,CSDN移動頻道推出的GitHub平臺上“最受歡迎的開源項目”系列文章引發了許多讀者的熱議,在“直接拿來用!最火的Android開源項目”系列文章(一)(二)中, 我們也相繼盤點了40個GitHub上最受歡迎的Android開源項目。對于GitHub上如此眾多的項目,有人不斷Mark,有人分享自己的經驗,有 人心生“看得眼花繚亂,果然是需要終身學習的時代”的感慨,不管怎么樣,如果能讓你真的有所學習有所收獲,我們的目的也就達到了。


今天我們將繼續介紹GitHub上另外34個非常受歡迎的Android開源項目,在這些項目中,你又在用或用過哪些呢?

41.?android-swipelistview

SwipeListView是一個Android List View實現,實現了自定義ListView單元格,可通過滑動來顯示擴展面板。開發者可直接登陸Google Play下載安裝其Demo應用。?


42.?greenDAO

greenDAO是一個可以幫助Android開發者快速將Java對象映射到SQLite數據庫的表單中的ORM解決方案,通過使用一個簡單的面向對象API,開發者可以對Java對象進行存儲、更新、刪除和查詢。


greenDAO的主要設計目標:

?

  • 最大性能(最快的Android ORM)
  • 易于使用API
  • 高度優化
  • 最小內存消耗

?

詳情請參考:greendao-orm

43.?FFMpeg

FFmpeg是一套可以用來記錄、轉換數字音頻、視頻,并能將其轉化為流的開源計算機程序。它包括了目前領先的音/視頻編碼庫libavcodec。 FFmpeg是在Linux下開發出來的,但它可以在包括Windows在內的大多數操作系統中編譯。可以輕易地實現多種視頻格式之間的相互轉換。


而FFmpeg for Android則是可通過Android NDK直接在Android源碼環境下編譯的FFmpeg庫。該庫項目即是FFmpeg for Android的入口,開發者只需直接選擇需要轉換的視頻文件,并設置參數,即可進行轉換,發起人havlenapetr表示在未來將為其開發 Android庫,能夠實現自動轉換視頻文件。

44.?TweetLanes

Tweet Lanes是一個在Android 4.0及更高版本的Android設備上運行的功能全面的Twitter客戶端(開發者可以直接登陸Google Play下載該應用)。


該開源項目包含以下所有源代碼:

?

  • Tweet Lanes客戶端應用;
  • 連接Twitter和App.net APIs的SocialNetLib項目;
  • 所有源,尤其是LOGO和Play Store列表;
  • 用于tweetlanes.com的The App Engine項目。

?

45.?gesture-imageview

這是一個簡單的支持多指縮放圖片的Android View類。在Android2.1及其更高版本的設備上,當你想要實現同時進行縮放操作時,可以將其作為一個標準的ImageView來使用。


46.?android-satellite-menu

使用過Path的人都應該知道,在Path主界面的左下方有一個非常有意思的菜單。菜單由一個主按鈕組成,當用戶點擊該按鈕時,就會有一連串的按鈕彈出,而Satellite Menu正是該菜單的一個開源版本。


對于Satellite Menu,其項目發起人siyamed表示,這種菜單結構就像是一個星球四周圍繞著許多衛星,而這也就是他為何會以Satellite Menu命名該項目的原因。

47.?VitamioBundle

Vitamio是一款Android平臺上的全能多媒體開發框架,憑借著其簡潔易用的API接口,Vitamio贏得了全球眾多開發者的青睞。目前,有許 多公司的開源Vitamio項目都托管在GitHub上,而Vitamio的核心插件VitamioBundle正是其中之一。


VitamioBundle是一個獨立的Android庫,用于促進多媒體的使用,開發者可以很方便地將其集成到自己的項目當中。

48.?android-ffmpeg-x264

android-ffmpeg-x264是能夠讓提取和構建運行在Android上、使用Android NDK最新的FFmpeg和libx264變得非常簡單的一個存儲庫。不同于大多數其他的NDK FFmpeg構建包,它通過配置構建庫,只需一個非常小的Android.mk文件即可將其包裝進入一個共享庫。目前,該庫項目已不再更新,但在 GitHub上還有著非常多的FFmpeg庫,除了前面的FFmpeg,接下來我們還會繼續介紹到其他FFmpeg庫。

49.?ArcMenu

ArcMenu是一個類似于iOS版Path 2.0菜單的Android自定義視圖項目,和我們前面介紹的Satellite Menu項目類似。


對于這個項目,其發起人daCapricorn表示,iOS版Path 2.0上的用戶體驗非常奇妙,但其Android版本卻差太多。因此,他就嘗試著在Android上做出像iOS版本那樣的效果,而事實也的確如此。

50.?DataDroid

DataDroid是Android平臺上的一個開發庫,用于簡化Android應用當中的數據管理,基于Android的RESTful封裝發展而來。


詳情請參考:datadroidlib

51.?android-adt-templates

android-adt-templates是集成了Android開發過程中使用到的許多常用的模板,用來幫助開發者快速構建一些普通的Activity和UI模型。


當然,要想使用這些模板,還必須是Eclipse和ADT 21及其以上版本,此外還需注意的一點就是,ADT模板不管理官方支持庫以外的外部依賴關系。

52.?android-ffmpeg

FFmpeg有許多不同的庫,也總是會讓人容易混淆,因此該項目發起人n8fr8對android-ffmpeg項目進行了全新的改變,該項目中包含著一個清晰、容易改變、靜態的Android?FFmpeg Creator。

?

53.?StaggeredGridView

該項目是基于Google Android StaggeredGridView進行修改的一個庫項目,允許開發者創建一個類似于Pinterest的交錯排列的GridView。開發者只需在自己的項目中將其作為一個庫項目添加到workspace中即可直接使用。


54.?robospice

RoboSpice是Repo的開源Android庫,能夠讓編寫異步網絡請求變得非常簡單。它專門用于網絡請求,通過使用Spring Android或者Google Http Client等擴展模塊可支持REST請求。


如果想要了解更多,不妨點擊鏈接查看RoboSpice大圖,讓你30秒即可完全了解RoboSpice。如果想要立即使用,則可以直接進入WiKiRoboSpice-samples頁面。

55.?EventBus

當一個Android應用功能越來越多的時候,保證應用的各個部分之間高效的通信將變得越來越困難。如何優雅地解決這個問題?這時候,就需要使用到EventBus。


EventBus是GreenRobot出品的Android系統的一個Event Bus類庫,使用起來和之前我們所介紹的Square的Otto差不多,都是用來簡化應用組件之間的通信。

延伸閱讀:EventBus和Otto使用介紹

56.?commandergenius

commandergenius是SDL庫的端口,在project/jni/application目錄下還包含有幾個個人游戲的源代碼或補丁。

57.?android-rss

Android RSS是Android平臺上RSS 2.0閱讀軟件的一個輕量級Android庫。


詳情請參考:Code.Google

58.?OpenCV-Android

OpenCV-Android是一個將OpenCV移到Android手機平臺的開源項目,該項目使用OpenCV最新的一個分支并利用一個改良過的Android NDK進行構建。


如果想要使用OpenCV-Android,必須先下載并安裝Android SDK 1.6(或其更高版本)和NDK r5,除此之外,還必須具備:

?

  • Android手機(可能需要與其他手機相連);
  • QuickTime Java庫(如果想要使用QTWebcamBroadcaster就必須具備)。

?

59.?RESTProvider

RESTProvider旨在讓訪問REST服務(或任何主要的HTTP調用的網絡數據格式)更容易,并將其緩存到本地的一個SQLite數據庫中,允許脫機使用。可自動解析RESTful API,并將其響應到Android的一個Provider中。

60.?ImageFilterForAndroid

在開源ImageFilterForAndroid中擁有許多豐富的圖片效果,是由來自國內的代震軍發起的一個開源項目。除了Android平臺,還有Windows Phone和iOS移動平臺,三個平臺源碼同步。

ImageFilter庫圖片效果對比:


詳情請參考:代震軍BLOG

61.?Android-Image-Cache

Android-Image-Cache是一個能夠自動判斷從內存還是網絡獲取圖片、緩存可以自動回收、自動判斷如何有效地生成并檢索各種尺寸縮略圖的圖像download-and-cacher。


主要特點如下:

?

  • 只需提供一個適配器即可從光標讀取本地、網絡URL;
  • 基于一個已下載的圖像自動生成并緩存多種尺寸圖像;
  • 同時提供磁盤緩存和內存緩存;
  • 自動磁盤緩存管理;不需進行設置,但如果需要的話,參數可進行調整;
  • 根據現有設置進行運作;
  • 光標適配器支持一個ImageView中多個圖像字段;當是null或為空時自動跳過;
  • 當加載光標時,光標適配器會有一個自動進度提示條。

?

62.?FFmpeg-Android

為Android neon、armv7、vfp、armv6及用于Android的VPlayer構建FFmpeg。

63.?roman10-android-tutorial

roman10-android-tutorial包含了android tutorial的所有源代碼。


64.?tape

Tape是Square推出的Android和Java的一組隊列關系類。

詳情請參考:Square.GitHub

65.?AndroidSideMenu

?

AndroidSideMenu能夠讓你輕而易舉地創建側滑菜單。需要注意的是,該項目自身并不提供任何創建菜單的工具,因此,開發者可以自由創建內部菜單。


66.?Android-AppMsg

Android-AppMsg是基于Toast消息提示和Cyril Mottier的“The making of Prixing #4: in-layout notifications”而來的一個布局內通知實現。


開發者可以直接登陸Google Play下載其示例應用

67.?proxydroid

ProxyDroid是Android上的一個全局代理應用,遵循GPLv3協議,可以幫助你設置Android設備上的代理。proxydroid項目包含了ProxyDroid所有開放源代碼。


68.?bypass

Bypass可以跳過HTML,直接在Android和iOS上使用Markdown并進行渲染。Markdown是一種輕量級的標記語言,可以實現文本到HTML的轉換。

69.?OnionKit

OnionKit是一個可以通過提供多種路徑來提高移動應用網絡安全的Android庫項目。


該庫具體提供:

?

  • StrongTrustManager:TLS/SSL證書校驗的一個強大實現,任何認證中心都可以進行定制;
  • Proxied Connection Support:通過Apache HTTPClient庫的特定配置來支持HTTP和HTTPS流量的HTTP和SOCKS代理連接;
  • OrbotHelper:一個支持Orbot:Tor for Android應用集成的工具類。

?

70.?android-ffmpeg

如果想要實現Android FFmpeg編譯,必須下載安裝Android NDK,在開始編譯之前,還必須更新FFmpeg庫。

71.?AndroidUsbCamera

Android Usb Camera是一款可以在Linux電腦上將Android手機直接當攝像頭使用的客戶端軟件。先在手機上安裝USB驅動,再安裝該客戶端軟件,然后再在手機上安裝usbwebcam.apk程序,打開USB調試模式并運行usbwebcam,通過USB線將電腦和手機相連接即可在PC上直接使用Android手機充當攝像頭。


72.?Droidex

Droidex可以將開發者附加的Android設備的屏幕內容復制到你的開發設備屏幕上。通常,如果你使用DroidEx來進行演示可謂是事半功倍,因為你可以直接將一臺Android設備與筆記本或投影儀相連,而客戶也可以通過這些設備來查看Android設備上的內容。

?

此外,Droidex還可以用來演示那些不方便通過模擬器演示的內容,比如GPS或加速器。

73.?andmake

andmake是Android的CMake工具鏈文件。CMake是一個開源的跨平臺自動化構建系統,可以編譯源代碼、制作程序庫、產生適配器,還可以用任意的順序構建可執行文件。

74.?ScreenCap

ScreenCap是Android原生自帶的截屏工具,通過調用底層,采取后臺截屏的方式實現截屏。


GitHub上受開發者歡迎的Android開源項目并不僅僅止于此,還有很多,并且還有許多同類開源項目,如果你感興趣的話,可以直接登陸GitHub進行更加深入的學習了解。至此,GitHub上最受歡迎的Android開源項目盤點就全部結束了,接下來,CSDN移動頻道將正式開啟GitHub上最受歡迎的iOS開源項目盤點,敬請期待喲!


來源:http://blog.csdn.net/xiaanming/article/details/8981135

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/458375.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/458375.shtml
英文地址,請注明出處:http://en.pswp.cn/news/458375.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ABP理論學習之Web API控制器(新增)

返回總目錄 本篇目錄 介紹AbpApiController基類 本地化審計日志授權工作單元其他介紹 ABP通過Abp.Web.ApiNuget包集成了 ASP.NET Web API控制器。你可以像以往創建Asp.Net Web API控制器那樣創建Web API控制器。依賴注入對于有規律的ApiController(其實就是繼承自Ab…

C++類構造函數初始化列表及初始化成員變量的誤區

構造函數初始化列表以一個冒號開始,接著是以逗號分隔的數據成員列表,每個數據成員后面跟一個放在括號中的初始化式。例如:[cpp] view plaincopyclass CExample { public: int a; float b; //構造函數初始化列表 CExampl…

將centos7打造成桌面系統

前言 以下所有操作默認在root權限下執行,桌面環境是kde,使用gnome的也可以參考一下。我收集的以下要用到的一些安裝包,360網盤http://yunpan.cn/csMhBAp92vTgN 提取碼 92e2以下要用的安裝軟件語法:通過軟件源在線安裝:…

VC2010打開資源視圖時提示“指南必須指定類型”,.rc資源文件損壞(轉)

VC: 打開資源視圖時提示“指南必須指定類型 ”(Guideline……specify type) ,.rc資源文件損壞 可能是TFS導致的使用記事本打開.rc文件,找到“DESIGNINFO”節,會看到如下的數據: BEGIN , 50 , 13798327 EN…

C++ virtual 析構函數

copy自:http://zxjgoodboy.blog.sohu.com/61482463.html 在此基礎上稍作修改C中虛析構函數的作用 我們知道,用C開發的時候,用來做基類的類的析構函數一般都是虛函數。可是,為什么要這樣做呢?下面用一個小例子來說明: …

(八)企業部分之nginx+tomcat+memcached負載均衡集群搭建

【server1】vim /usr/local/lnmp/tomcat/conf/context.xml<Context>......<Manager className"de.javakaffee.web.msm.MemcachedBackupSessionManager"memcachedNodes"n1:172.25.45.1:11211,n2:172.25.45.2:11211"failoverNodes"n1"req…

泛型算法(二十三)之排列算法

1、is_permutation(ForwardIterator1 first1, ForwardIterator1 last1, ForwardIterator2 first2)&#xff1a;C11版本&#xff0c;判斷兩個序列是否為同一元素集的兩個排列。 std::vector<int> c1 {1, 2, 3, };std::vector<int> c2 {1, 2, 3, 1, 3};//判斷兩個序…

C++ 虛函數經典深入解析

from&#xff1a;https://blog.csdn.net/gggg_ggg/article/details/45915505C中的虛函數的作用主要是實現了多態的機制。 關于多態&#xff0c;簡而言之就是用父類型別的指針指向其子類的實例&#xff0c;然后通過父類的指針調用實際子類的成員函數。 這種技術可以讓父類的指針…

21OGNL與ValueStack(VS)-靜態方法訪問

轉自&#xff1a;https://wenku.baidu.com/view/84fa86ae360cba1aa911da02.html 在LoginAction中增加如下方法&#xff1a;public static String getSta() { return "這是LoginAction中的靜態方法"; } 然后在loginSuc.jsp中增加如下代碼&#xff1a; 調用Action中的靜…

win7通過easyBCD引導ubuntu

我電腦配置了固態和傳統雙硬盤&#xff0c;SSD已經裝了win7&#xff0c;然后在傳統硬盤上安裝ubuntu&#xff0c;結果安裝完成后看不到ubuntu的入口。因為跟win7不是裝在一個驅動設備上&#xff0c;所以使用easyBCD的Linux&#xff0f;BCD選項也無法正確引導。最后通過easyBCD的…

深入理解C++中的explicit關鍵字

深入理解C中的explicit關鍵字kezunhaigmail.com http://blog.csdn.net/kezunhaiC中的explicit關鍵字只能用于修飾只有一個參數的構造函數, 它的作用是表明該構造函數是顯示的, 而非隱式的&#xff0c; 跟它相對應的另一個關鍵字是implicit, 意思是隱藏的,構造函數默認情況下即聲…

JAVA面試中問及HIBERNATE與 MYBATIS的對比,在這里做一下總結(轉)

hibernate以及mybatis都有過學習&#xff0c;在java面試中也被提及問道過&#xff0c;在項目實踐中也應用過&#xff0c;現在對hibernate和mybatis做一下對比&#xff0c;便于大家更好的理解和學習&#xff0c;使自己在做項目中更加得心應手。 第一方面&#xff1a;開發速度的對…

Caffe源碼解析4: Data_layer

轉載請注明出處&#xff0c;樓燚(y)航的blog&#xff0c;http://home.cnblogs.com/louyihang-loves-baiyan/ data_layer應該是網絡的最底層&#xff0c;主要是將數據送給blob進入到net中&#xff0c;在data_layer中存在多個跟data_layer相關的類 BaseDataLayerBasePrefetchingD…

理解C++中拷貝構造函數

拷貝構造函數的功能是用一個已有的對象來初始化一個被創建的同樣對象&#xff0c;是一種特殊的構造函數&#xff0c;具有一般構造函數的所有特性&#xff0c;當創建一個新對象的時候系統會自動調用它&#xff1b;其形參是本類對象的引用&#xff0c;它的特殊功能是將參數代表的…

IDEA mybatis-generator-maven-plugin 插件的使用

2019獨角獸企業重金招聘Python工程師標準>>> pom.xml中添加插件 <plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.3.2</version><configuratio…

python優秀網友學習筆記推薦

AstralWindMr.Seven 轉載于:https://www.cnblogs.com/migongci0412/p/5154892.html

深入理解CRITICAL_SECTION

摘要臨界區是一種防止多個線程同時執行一個特定代碼節的機制&#xff0c;這一主題并沒有引起太多關注&#xff0c;因而人們未能對其深刻理解。在需要跟蹤代碼中的多線程處理的性能時&#xff0c;對 Windows 中臨界區的深刻理解非常有用。本文深入研究臨界區的原理&#xff0c;以…

webpack進階之插件篇

上一篇博客講解了webpack環境的基本&#xff0c;這一篇講解一些更深入的內容和開發技巧。基本環境搭建就不展開講了 一、插件篇 1. 自動補全css3前綴 autoprefixer 官方是這樣說的&#xff1a;Parse CSS and add vendor prefixes to CSS rules using values from the Can I Use…

QT:QObject 簡單介紹

QObject 是所有Qt對象的基類。QObject 是Qt模塊的核心。它的最主要特征是關于對象間無縫通信的機制&#xff1a;信號與槽。 使用connect()建立信號到槽的連接&#xff0c;使用disconnect()銷毀連接&#xff0c;使用blockSignals()暫時阻塞信號以避免無限通知循環&#xff0c;使…

利用malloc定義數組

使用malloc方法時&#xff0c;應導入文件 #include<malloc.h> 1.利用malloc定義一維數組 int *num (int *)malloc(sizeof(int)*8); // 定義一個一維數組有8個元素&#xff0c;等價于 int num[8]; 2.利用malloc定義二維數組 int **num &#xff08; int **&#xff09…