20多個可以提高你安卓開發技能的開源app

TerraO88 7年前發布 | 14K 次閱讀 安卓開發 開源 Android開發 移動開發

學習的最佳方式就是閱讀,對程序員來說也是如此。 如果你想成為一個更優秀的程序員,你必須閱讀更多的代碼, 就是這么簡單。書籍,博客,論壇在某種程度上都是有益的,但是沒有什么能替代功能完善、代碼詳細的開源項目。整個app的所有相關資源都直接呈現在你面前。

你所要做的就是坐下來,泡上一杯茶,然后閱讀一些夠勁兒的代碼。本文給大家介紹一些絕佳的不同種類和風格的開源項目,滿足你學習和開發的所有需要。

在深入代碼之前,你可以直接從Play Store上下載這些app親自嘗試一下。每個app旁邊的難度等級可以幫助你判斷:是立即深入了解,還是暫放一邊。

LeafPic

( GithubPlay Store | 難度: 初級)

相冊和視頻app是最常見的app之一,任何一個安卓設備上都能看到。是否好奇過它們是如何實現的呢?LeafPic是你可以嘗試和學習的最佳開源相冊程序之一。

它非常簡單,容易理解,適合任何一個初級開發者。從這個app中我發現的最好的東西就是它實現動態主題的方式。這可是許多開發者費勁千辛萬苦想要做好的東西。

Simple Calendar

( GithubPlay Store | 難度: 初級)

一個完全用Kotlin實現的簡單易用的日歷app。如果你想學習Kotlin,那么它可能是最佳的入門方法之一。

這個app的目的非常簡單,所以非常適合學習如何用這個全新的語言去開發app。另一個比較酷的事情是可以學到如何自定義窗口小部件(Widget)。

Amaze File Manager

( GithubPlay Store | 難度: 中等)

安卓設備上另一個極其常見的應用是文件管理器。

雖然構建一個文件管理器看起來很簡單,但實際上要在所有安卓平臺和設備上都能正常運行是非常困難的。

從這個app中你可以學到很多東西,尤其是如何正確執行SD card上的文件處理。但是我不建議你學習這個項目的編程風格,因為它是不符合標準的。

Easy Sound Recorder

( GithubPlay Store | 難度: 初級)

一個簡單,易用,漂亮的音頻錄制app。如果你想學習安卓中的音頻錄制與控制,那么這個項目是你開始旅程的最好方法。

這個項目非常小(只有一個Activity),也很好理解。初學者可以從這個項目中學到Material Design的基礎知識。

MLManager

( GithubPlay Store | 難度: 初級)

MLManager是一個簡單的app管理器。如果你想學習如何得到安裝在設備中的app的詳細信息,那么這個app對你而言是個理想的選擇。

這個app的編碼風格非常好,值得借鑒。它還有助于你理解如何設計一個遵循Material Design規范的app。

PhotoAffix

( GithubPlay Store | 難度: 初級)

一個非常簡單,設計簡約的app,用來垂直或者水平拼接圖片。聽起來很簡單是吧?

對于想學習安卓開發基礎知識的新手這是一個理想的資源。編碼風格是頂級的。

你還會學會制作簡單但實用的自定義view,幫助你打好基礎,以便今后創建一些真正復雜的視圖。

MovieGuide

( Github | 難度: 中等)

這個app的目的很簡單,就是列出流行的電影以及它們的預告和影評。但是讓這個項目有趣的東西是它實現的方式。

這個app演示了一些很酷的開發方式,比如MVP,Uncle Bob的Clean Architecture,RxJava以及Dagger 2。

這個app很簡單但是實現的方式很棒,值得一看。

AnExplorer

( Github | |  Play Store | 難度: 中等)

又是一個簡單的,輕量的文件管理器,為手機和平板而設計。

從這個項目中可以學到文件處理,root管理,loaders,自定義view等。做的非常好,不用花費多長時間就能了解代碼里面做了什么。

Minimal ToDo

( GithubPlay Store | 難度: 初級)

如果你是一個新手,這是一個簡單但很酷的項目。你將有機會學到安卓開發的絕大多數基礎知識。

這個app設計得很好,作為初學者的起點再合適不過了。但是不要借鑒它的代碼風和包結構的設計,因為它們不符合標準并且應該盡量避免。

Timber

( GithubPlay Store | 難度: 高級)

Timber是一個設計漂亮,功能完善的音樂播放器。如果你曾想過開發自己的音樂app或者跟音樂相關的app,那么這個項目可以一看。

這個項目很大,而且還在積極的開發中。對于初學者可能有點困難,不過對于中級開發者來說應該是非常有意思的。

AnotherMonitor

( GithubPlay Store | 難度: 中等)

如果你想學習安卓進程,內存,CPU等系統管理方面的知識,這是一個不錯的項目。

項目很簡單,也很好理解,不過其代碼風格,架構以及整體設計不值得模仿。

InstaMaterial

( Github | 難度: 初級)

如果你在尋找一個學習與提高Material Design技術的項目,那么這個項目就是為你量身定做的。該項目用 Material Design重構了Instagram app的部分UI。

這個app中使用了大量的元素,動畫以及過渡動畫,這些都可以用在自己的項目中。

它非常簡單,也很好理解,非常適合那些想提高自己設計能力的安卓開發者。

CoCoin

( Github | 難度: 簡單)

CoCoin是一個功能完善的個人財物與機長工具,UI簡單干凈。

如果你想學習如何橋黨的管理較多的用戶數據,為這些數據繪制漂亮的統計圖,制作漂亮的自定義視圖,那么這個開源項目就非常適合你。

OmniNotes

( GithubPlay Store | 難度: 中等)

如果你想找一個Evernote那樣的,功能全面的筆記類應用,那么這個項目就正好適合你。

這個項目非常大,有許多功能比如分享,搜索,附加圖片,視頻,音頻,在筆記中涂鴉,添加提醒等。

另一個非常酷的事情是你可以從這個項目中學到如何在app中無縫集成Google Now。

Clip Stack

( GithubPlay Store | 難度: 初級)

一個簡單,干凈,漂亮的剪切版管理app。這個項目非常小巧,簡單,也很容易看懂。

但是項目的結構,命名規范以及編碼風格都不是很標準。它完全是按照對初學者友好的方式來構建的。

Super Clean Master

( Github | 難度: 高級)

如果你用過一個安卓設備,你一定曾有過清理設備中垃圾數據的需求。Clean Master就是這類應用中最受歡迎的應用之一。

這個app,就如其名稱那樣,試圖用干凈優雅的方式模仿Clean Master的大多數功能。但是整個項目比較復雜,可能會花一些時間才能理解。

Travel Mate

( Github | 難度: 中等)

如果你要找一個旅途類,對地圖和位置依賴很強的應用,那么這個項目可能是最佳的選擇。

app的設計和代碼質量都算不上很規范,但是整個app還是非常好,對初學者而言(甚至中級開發者)可以學到很多東西。

KISS

( GithubPlay Store | 難度: 中等)

一個簡單,快速,輕量的launcher應用。項目中可以學到幾個非常酷的功能。

所以如果你想為安卓制作一個launcher,這個項目就很適合。app很小,項目也很容易上手。

Turbo Editor

( GithubPlay Store | 難度: 中等)

一個簡單但是強大的文字編輯應用。你還可以用這個app來寫代碼,支持不同語言的語法高亮。

絕大多數應用在打開大型文本文件的時候都會失敗或者崩潰,這個app卻很好的處理了這個問題。從這個項目中你有機會學到如何實現一個健壯的文本(或者代碼)編輯app。

Wally

( Github | 難度: 初級)

一個快速,簡單,高效的wallpaper app。從這個項目中你可以學到很多東西,尤其是對初學者而言。

該app的架構非常不錯,使得很容易擴展和修改。app的目的很簡單,但是其實現的方法非常值得贊賞。

Pedometer

( Github | 難度: 初級)

一個簡單,輕量的計步器app,使用硬件傳感器計算步數,而且對電池的消耗非常小。

對學習計步功能而言是不錯的項目,但是編碼規范和設計還不夠好。

end

我已經介紹了一些幾乎能滿足所有開發者的不同類型的開源項目,有些app對于初學者和高級開發者都是有用的。

 

 

來自:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2017/0214/7114.html

 

 本文由用戶 TerraO88 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!