開源項目綜合案例 頂 原

目錄介紹

  • 1.關於前言介紹
  • 2.關於接口說明
  • 3.關於模塊說明
  • 4.關於相關特性說明
  • 5.關於部分功能說明
  • 6.關於開源項目說明
  • 7.關於參考項目說明
  • 8.關於版本更新說明
  • 9.關於獲取更多信息
  • 10.App圖片展示
  • 11.關於其他說明
  • 12.關於雲測試情況
  • 13.關於bug管理說明
  • 14.關於我的博客

0.關於博客筆記大整理,持續更新迭代

  • 可以直接看:博客筆記
  • 如果你感覺還行,請給一個star,如果你覺得哪裏有問題,也可以直接把問題提給我,我會修改的。業餘的小案例,定期更新,持續更新
  • 代碼地址:https://github.com/yangchong211/LifeHelper

  • 說明及截圖
  • 模塊:新聞,音樂,視頻,圖片,唐詩宋詞,快遞,天氣,記事本,閱讀器等等
  • 接口:七牛,阿里雲,天行,乾貨集中營,極速數據,追書神器等等

1.關於前言介紹

  • 關於開發的APP有:投資界新芽,可以在應用市場上下載
  • 此項目屬於業餘時間練手的項目,接口數據來源均來自網絡,自己付費購買了阿里雲和極速網絡接口數據,同時使用了部分免費接口,如果存在侵權情況,請第一時間告知。
  • 本項目僅做學習交流使用,API數據內容所有權歸原作公司所有,請勿用於其他用途

2.關於接口說明

  • 部分圖片:用的是七牛雲存儲圖片
  • 新聞接口:阿里雲,天行,乾貨集中營等接口
  • 新聞接口:極速數據
  • 閱讀小說:追書神器接口

3.關於模塊說明

  • 新聞部分(天行新聞,微信精選新聞,阿里雲熱門新聞,乾貨集中營新聞等等)
  • 音樂部分(音樂播放器,自動搜索本地音樂文件)
  • 視頻部分(視頻播放器,自動搜索本地視頻文件)
  • 圖片部分(乾貨集中營美女圖片,解析(html)某網站圖片)
  • 豆瓣電影,音樂,讀書(豆瓣接口)
  • 唐詩,宋詞,元曲
  • 快遞查詢
  • 天氣,自定義七日天氣折線圖,背景可以設置動態圖,模仿華爲天氣App
  • 簡易記事本
  • 繪畫板
  • 計時器(鬧鐘)
  • 仿360殺毒小工具(通訊,軟件管家,緩存清理,流量統計,通訊衛士等功能)
  • 其他功能(更換皮膚,跳轉應用市場評分,夜間模式,版本更新,)
  • 部分板塊功能正在完善中,主要是用於練手,因此界面不是很美觀
  • 乾貨集中營
  • 超文本筆記本,可以支持文字,圖片,動態圖混排
  • 畫廊欣賞圖片

4.關於相關特性說明

  • 側滑菜單:DrawerLayout+NavigationView
  • 基本遵循Google Material Design設計風格。
  • 透明狀態欄使用與版本適配。
  • 圖片加載picasso,Glide加載監聽,獲取緩存,圓角圖片,高斯模糊。
  • list條目點擊水波紋效果
  • CoordinatorLayout+Behavior實現標題欄漸變。
  • BGA結合RecyclerView下拉刷新上拉加載。
  • 緩存使用Realm數據庫

5.關於部分功能說明

  • 關於list頁面加載數據,添加了狀態,加載數據成功,加載數據失敗,加載網絡異常,加載數據爲空等四種狀態
  • 關於阿里開源框架Vlayout練習與學習使用
  • 關於音樂小案例和部分新聞模塊,Activity與Fragment與Service不同組件之間通信使用EventBus來解決
  • 剛開始項目是採用MVC架構寫的,之後逐漸更改爲MVP結構,會持續更新迭代!
  • 版本更新功能說明(簡單下載,DownloadManager下載管理器介紹)
  • Fragment中返回鍵處理(例如Fragment是H5網頁,點擊返回是返回上一層,而不是銷燬該宿主Activity)
  • 關於計時器AlarmManager(鬧鐘計時),Timer,TimerTask(倒計時),CountDownTimer(封裝好的倒計時,加鎖),區別與實際應用
  • 關於WebView優化以及使用時相關注意事項
  • 關於內存泄漏檢測及注意事項,目前內存泄漏主要使用leakcanary
  • 關於App相關優化(圖片優化,啓動優化,代碼優化等等)
  • 關於Annotation註解使用介紹,通過案例更加通俗理解註釋的作用
  • 關於事件衝突解決思路與方案
  • 關於全局彈窗的實現及注意事項
  • 關於自定義Dialog,Toast,PopupWindow等
  • 關於線程併發的難題以及解決方案(這個是一同事給的提示,debug無法檢測)
  • 關於平時開發中遇到的bug總結
  • 關於設計模式,最近正在重新閱讀《Android源碼實際模式解析與實戰》,並且逐步引用設計模式。具體可參考開源項目:【YCDialog】(https://github.com/yangchong211/YCDialog),

6.關於開源項目說明

  • 上拉刷新下拉加載使用BGA刷新控件,功能強大
  • 圖片加載:picasso,glide
  • 網絡請求:retrofit2+okhttp3+rxandroid
  • 獲取本地圖片使用TakePhoto
  • 輪播圖:banner
  • 導航欄,指示器:tablayout
  • recycleView封裝類:easyrecyclerview
  • 流式佈局:鴻洋大神的flowlayout
  • 解析HTML:jsoup(解析某網址,遍歷解析圖片並且展示)
  • squareup公司的內存泄漏檢測工具
  • 自定義的開源項目
    • 1.圖片選擇器
    • 2.自定義彈窗以及自定義Loading加載
    • 3.自定義啓動頁圓形倒計時器
    • 4.自定義狀態管理器
    • 5.自定義工具類
    • 6.自定義圖文混排超文本
    • 7.自定義倒計數文本
    • 8.adapter簡單封裝
    • 7.自定義輪播圖等等

7.關於參考項目說明

  • 參考的項目有:雲閱,開源中國,番茄周,Geek系列,MusicPlayer,仿網易新聞等項目

8.關於版本更新說明

  • v1.0版本【2016年3月-2017年8月】
  • v1.2版本【9月16日】
    • 添加了音樂和視頻【Vitamio】版塊,包括讀取本地視頻及音樂,音樂播放,視頻播放基礎功能
    • 加入了騰訊bugly管理
    • 修復了某些內存泄漏bug,添加了全局彈窗功能【投資界功能】,跳轉應用市場【3種方法】,自定義彈窗功能
    • 緩存了部分數據,例如唐詩宋詞,快遞的公司列表,直接使用realm緩存到本地
    • 由於部分網絡Api接口有數據訪問量限制,因此添加了同一天之請求一次網絡數據功能【同一天其他時間訪問走緩存】
  • v1.3版本【10月31日】
    • 添加了自定義超文本控件,支持圖文混排,並且支持鍵盤鍵【x號】刪除圖片,使用Realm數據庫
    • 初步嘗試改版乾貨集中營版本爲MVP結構
    • 修復了部分bug,完善了播放器部分
  • v1.4版本【11月13日】
    • 完善乾貨集中營模塊代碼,修復了加載圖片失敗bug,支持收藏
    • 優化了超文本記事本功能,增加了鬧鐘功能,自動發送通知。
    • 繼續完善了七日天氣版塊的功能,增加了設置動態背景,切換背景,修復了時間顯示錯誤bug,TODO,後期添加選擇地區,查詢天氣功能
    • 減少了靜態變量,例如圖片集合,文字集合等;該爲array中設置,節省開闢更多內存空間。
  • v1.5版本【11月26日】
    • 學習並且練習MVP+Dagger2架構模式案例,具體可以看數據頁->猜你喜歡->番茄模塊
    • 使用阿里的開源框架Vlayout,改寫了數據頁面,具體使用方法可以看我博客,建議一邊看博客,一邊練習。
    • 修改了部分bugly平臺上報的錯誤
  • v1.6版本【12月12日】
    • 修改了部分bug,集成了騰訊x5框架,使用x5的WebView直接加載word,ppt,pdf等文檔

9.關於獲取更多信息

  • 關於我的博客大彙總,包含技術博客,開源項目,生活博客,喜馬拉雅等模塊。會持續更新
  • 這裏簡單展示幾個思維導圖,如果想了解更加詳細內容,歡迎直接瀏覽該網址:http://www.jianshu.com/p/53017c3fc75d
    • image image image

10.App圖片展示

  • 啓動頁
  • 啓動頁隨機加載網路圖片,自定義倒計時器
  • image
  • 主頁面
  • 側滑+底部導航:DrawerLayout+NavigationView+TabLayout,屏蔽ViewPager的左右滑動,如圖所示
  • 首頁list新聞加載數據來於本地json
  • image image image image image image image
  • 新聞頁及新聞詳情頁面
  • image image image image image image
  • 圖片頁面
  • image
  • 音樂頁面
  • image
  • 視頻頁面
  • image image image
  • 小說閱讀器頁面
  • image image image image
  • 豆瓣評論頁面及詳情頁面
  • image image image image image
  • 唐詩宋詞元曲頁面
  • image image image
  • 天氣頁面
  • image image
  • 乾貨集中營
  • image image image image
  • 圖文混排超文本
  • image image image image
  • 記事本頁面
  • image image image
  • 七日天氣
  • image image
  • 快遞頁面
  • image image image
  • 時鐘頁面
  • image
  • 其他頁面 image image image image image image image image

11.其他說明

  • 11.1注意問題
  • a.淡黃色警告,當然大多數淡黃色的警告並不會導致程序崩潰,但是對於對代碼質量有追求的我來說,是最大程度上避免了淡黃色的警告
  • b.注意成員變量和局部變量不要濫用,我看了一些代碼,許多把局部變量直接創建成了成員變量,它們在內存中開闢空間後回收週期不同。

12.關於雲測試情況

13.關於bug管理說明

  • 目前bug是通過騰訊bugly進行管理,以前在實際項目中用bugtags,後來改爲bugly。個人認爲bugly平臺還是挺不錯的,有相當多的常見錯誤,會有一些好的解決方案介紹。對於bug定位與打印日誌,集成符號表庫,可以準確地定位用戶APP發生Crash的代碼位置,Bugly使用符號表對APP發生Crash的程序堆棧進行解析和還原。

14.關於我的博客

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章