目錄介紹
- 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
-
10.App圖片展示
- 啓動頁
- 啓動頁隨機加載網路圖片,自定義倒計時器
- 主頁面
- 側滑+底部導航:DrawerLayout+NavigationView+TabLayout,屏蔽ViewPager的左右滑動,如圖所示
- 首頁list新聞加載數據來於本地json
- 新聞頁及新聞詳情頁面
- 圖片頁面
- 音樂頁面
- 視頻頁面
- 小說閱讀器頁面
- 豆瓣評論頁面及詳情頁面
- 唐詩宋詞元曲頁面
- 天氣頁面
- 乾貨集中營
- 圖文混排超文本
- 記事本頁面
- 七日天氣
- 快遞頁面
- 時鐘頁面
- 其他頁面
11.其他說明
- 11.1注意問題
- a.淡黃色警告,當然大多數淡黃色的警告並不會導致程序崩潰,但是對於對代碼質量有追求的我來說,是最大程度上避免了淡黃色的警告
- b.注意成員變量和局部變量不要濫用,我看了一些代碼,許多把局部變量直接創建成了成員變量,它們在內存中開闢空間後回收週期不同。
12.關於雲測試情況
13.關於bug管理說明
- 目前bug是通過騰訊bugly進行管理,以前在實際項目中用bugtags,後來改爲bugly。個人認爲bugly平臺還是挺不錯的,有相當多的常見錯誤,會有一些好的解決方案介紹。對於bug定位與打印日誌,集成符號表庫,可以準確地定位用戶APP發生Crash的代碼位置,Bugly使用符號表對APP發生Crash的程序堆棧進行解析和還原。