有沒有適合 Android 開發初學者的 App 源碼推薦?

用於鍛煉基礎知識。比如一個記事本?或者一個簡單的聊天軟體?

——我是提問者,android做了1年了今天才看到當時提的問題,仍然獲益匪淺(所以說還是停留在初學者階段嗎。。),沒想到關注人數這麼多了。一起努力吧,歡迎加我好友一起交流。


GitHub上google和googlesample這兩個帳號下有若干Android app,大部分都是遵循google推薦的最佳實踐,並且符合Material Design,很值得學習。手機碼字,晚上回去給好連接

---------

首先介紹 iosched這個項目,google/iosched · GitHub 。

iosched項目是Google I/O的官方app,不僅僅是一個學習的demo,這是一個真正開源的線上項目。

這個項目裡面使用了大量Google官方推薦的最佳實踐,比如使用loader載入數據,大量使用本地sqlite緩存數據,通過syncAdapter來更新本地緩存的數據,配合GMS達到節約流量省電的目的。另外這個app也是學些MaterialDesign的不錯的範例。另外這個app還很好的適配了手機和pad,如果你想要做這方面的適配工作,不妨也參考一下

至於項目的committer,你可以找到比如romannurik這種Google Android項目開發者,證實這並不是Google的實習生寫的項目,而是Android平台的核心工程師所做,質量自然很有保證。

第二個推薦的就是topeka項目 googlesamples/android-topeka · GitHub 。

這個項目是Google前幾天剛發出來,用來展示如何將MaterialDesign應用到你的app中,以達到最佳設計和交互效果。通過這個app,你還可以學到如何設計你app的交互和視覺以更好的和MaterialDesign搭配。

上兩張demo圖


也來推薦個 Google 自家的,Universal Music Player

googlesamples/android-UniversalMusicPlayer · GitHub

  1. 代碼量不大、注釋清晰,簡單但全功能的音樂播放器;
  2. 實現基於 Google Cast 的音樂流播功能(類似 AirPlay);
  3. Material Design;
  4. 提供了一個 App 適配多種Android 設備(真的夠多=w=)的最佳實踐:Android 手機,平板,Android Auto,Android Wear 和 Android TV

Android Phone:

涉及了鎖屏、全屏的交互,Service的基礎使用Android Wear:

Android Auto:

Android TV:


我開源過EverMemo和AnimeTaste的源代碼 有興趣可以去看看

daimajia/EverMemo · GitHub

daimajia/AnimeTaste · GitHub

P.S. 最近「最美創意」豌豆莢設計獎 也是用了部分AnimeTaste的代碼,歡迎大家拿著代碼去折騰新東西。


OSChina 客戶端源碼: 含(Android,iOS,WP)全平台版本

項目地址: 手機客戶端 - 開源中國社區

推薦理由:(不負責)

1. 一個正經的產品的源碼。比任何玩具代碼,都值得學習。

2. 該APP含3大平台(Android,iOS,WP)源碼,適合任何一門語言背景的人學習。

3. 項目支持3大平台。顯然可以學習到跨平台的項目架構設計,代碼結構組織。

4. 各大平台應用商店,都可以下載到該 APP。裝上,體驗下功能,再抉擇。

4. 該APP功能足夠多,覆蓋常用APP設計需要的功能。很值得學習。

為何是不負責推薦?是因為我沒有細看過源碼。

但是我一直收藏該項目,如果啥時候我要學習寫 APP,第一個研究的就是該項目。

我覺得學習,最重要的是沉下心,認真吃透一個 APP 源碼。

貪多嚼不爛。尤其是各種玩具代碼,少看。

正經可以商業用,做成產品的APP,都是有架構的。

學精品。深入學。


安利一個自己寫的小工具,源碼地址 GitHub - androidyue/Akoi-Translator: A translator translates text once you copy translatable content.


非常推薦小米提供的開源應用,我就是看他們的應用成長起來的,主要推薦三個MiCode:

MiCode/FileExplorer · GitHub

MiCode/Notes · GitHub

MiCode/SoundRecorder · GitHub

順便再推薦幾個我也覺得不錯的:

zirco-browser,Android Gallery3D,Open Camera

再推薦一個博客系列:《android項目實戰--手機衛士》


我覺得與其看那些app的代碼 倒不如自己嘗試基於android源代碼的不同組件增加或減少功能來學習android內部的代碼 原因如下

1 源代碼密度高 維護和使用的人最多 所以看下來的價值最大

2 看app代碼可以看他的架構 看他的trick 但是真正的性能優化 還是要從源碼入手

可能有些人說 直接看源代碼難度高 其實不然 現在一個優秀的開源代碼 基本都具備面對開源社區友好的優勢 讀起來並不一定比隨便抓一個其他人寫的代碼要難

可以嘗試循序漸進的方式 比如先嘗試給app定製桌面 改ui 然後再到通知系統 線程 資料庫等比較低層的 我覺得這個過程也會是一段非常有趣的代碼之旅~


小米開源了老miui版本上的「小米便簽」的源碼。不過代碼寫的比較早


偶然看到這個問題。

可以看看我在整理的開源項目:

pcqpcq/open-source-android-apps · GitHub

有針對App類型作了分類,方便學習和索引。


可以去看Google I/O 每年的官方應用源代碼,編寫絕對標準,並且也可以對UI有更深層的掌握。


GitHub UISample


Tangyingqi/ReadProgress · GitHub

我自己做的一個 記錄讀書進度的app

我是一個Android初學者,有問題可以找我一起討論。


可以看谷歌Android源碼,在package/app下有好多應用。


看源社區 - 移動開發社區 是目前最全的android開源庫,推薦


資訊類源碼,有興趣可以下載http://pan.baidu.com/s/1o7R9TbG mf4u


安利一下,都是不錯的項目~

GitHub - Trinea/android-open-project: Collect and classify android open source projects 微信公眾號:codekk

[轉]一些完整的Android開源app項目


去極客學院、開源中國找啊,多了去了。我在極客學院跟著視頻學的實戰項目,挺靠譜的。


又到期末了呀


這裡收集了74款APP源碼,轉自代碼零件

原文鏈接:【代碼零件】 一起發現更好的項目零件


開源中國客戶端源碼


推薦閱讀:

小米5殺後台很嚴重,有什麼辦法嗎?
為什麼 Windows 不像 iOS、OS X 一樣隔年迭代?
理論上,安卓系統能實現墓碑機制嗎?
Android 應用開發的難點是什麼?
三星 Note 7 的自燃事件會對三星造成怎樣的影響?

TAG:互聯網 | 程序員 | Android開發 | Android | 移動開發 |