AndroidPlus爲《Android應用開發進階》實戰項目,分爲Java版和Kotlin版。AndroidPlus是安卓開發者的「自留地」,爲安卓開發者提供專屬的技術問答和知識分享平臺。在AndroidPlus上,能夠提出在安卓開發過程當中遇到的任何問題,能夠熱心回答其餘開發者的疑問,另外還能夠分享閱讀過的優秀乾貨文章。html
AndroidPlus主要分爲四大塊:註冊登陸、首頁、文章、我(我的中心)。用戶首先進入的是註冊登陸模塊,當用戶打開App時,會顯示一個歡迎界面,若用戶沒有登陸,則進入登陸界面。用戶沒有註冊帳號,還能夠點擊註冊按鈕進入註冊界面。用戶註冊登陸後就進入主界面。主界面分爲三大模塊,分別爲首頁、文章和我,點擊底部導航條能夠進行三個模塊的切換。主界面默認顯示爲首頁,在首頁中,用戶能夠添加問題,並可分爲三個頁面:最近問題列表、熱門問題列表和最新回答列表。當用戶點擊最近問題列表或者是熱門列表的問題條目時,會進入問題詳情頁面,在問題詳情頁面中,能夠添加對問題的回答,而且顯示最近回答列表和最熱門回答列表;當用戶點擊回答列表的回答條目時,就會進入回答詳情;在回答詳情頁面中,用戶能夠點贊或者是跳轉到評論界面查看評論或者寫評論。在文章界面,根據文章類別可分爲熱門、思考、項目、SDK、Kotlin、自定義控件、第三方、面試,而且能夠在別的應用中分享文章到AndroidPlus。在我的中心——「我」中,會顯示用戶的相關信息,如頭像、暱稱、個性簽名,另外可查看用戶的分享、提問、回答、喜歡的文章、喜歡的問題、喜歡的回答,用戶能夠在用戶反饋中跟產品運營反饋問題,在設置選項中可退出登陸。面試
AndroidPlus的架構採用MVP + Dagger + LeanCloud。使用MVP將程序劃分層次,使用Dagger來下降MVP中層與層之間的耦合,做爲我的開發者,獨自搭建後臺服務器比較耗時,能夠選擇第三方雲數據庫來完成產品的快速實現。在MVP的Model層中,咱們進行了模塊化處理,將數據源進行切割,分紅了問題數據源QuestionDataSource、回答數據源AnswerDataSource、評論數據源CommentDataSource、文章數據源ArticleDataSource。在當前版本中,數據源由LeanCloud實現,若是後續更換服務器接口(好比使用本身搭建的服務器),只須要用新的網絡接口實現Model層的一套數據源接口,替換掉LeanCloud便可。數據庫
首頁界面頂部爲Toolbar,並內部包含一個TabLayout,Tablayout顯示三個頁面標題:問題、熱門、動態。另外TabLayout綁定一個ViewPager,ViewPager內部又有三個子界面:問題界面,熱門界面,動態界面。用戶點擊首頁右上角,可進入添加問題界面。服務器
添加問題成功後,在LeanCloud後臺就存在問題數據了,接下來就可使用QuestionFragment來展現這些數據。問題列表條目進行了模塊化封裝,爲一個QuestionItemView:網絡
熱門界面根據用戶對問題收藏次數進行排序展現。架構
動態界面展現最新被回答的問題列表模塊化
當咱們點擊問題界面和熱門界面的條目時,就能跳轉到問題詳情界面。問題詳情顯示問題標題與描述,下面是一個ViewPager展現最新的回答和最熱門的回答列表。學習
在問題詳情界面,點擊右下角的FloatingActoinButton跳轉到添加回答界面AddAnswerActivity,用戶能夠在裏面輸入本身對問題的回答,而後點擊右上角的發佈按鈕進行發佈。架構設計
點擊問題詳情中的回答條目AnswerItemView,進入回答詳情AnswerDetailActivity,在問題詳情界面AnswerItemView中的回答可能展現不全,回答詳情界面展現回答全部內容,而且在底部能夠對回答進行點贊和評論。設計
點擊回答詳情的評論按鈕,進入評論界面CommentActivity。評論列表由RecyclerView實現,滾動到底部時,可加載更多評論數據。
當用戶在其餘應用中讀到精彩Android開發的文章時,能夠點擊分享按鈕,在彈出的應用列表中選擇AdroidPlus(應用名Android+),跳轉到分享界面ShareArticleActivity。在ShareArticleActivity中,文章的URL自動填寫出來,文章的標題和描述須要用戶自行輸入,而後還必須給文章選定一個標籤,纔可以發佈文章。
完成文章分享後,咱們就能夠在文章界面ArticleFragment查看用戶分享的文章了。在ToolBar中包含TabLayout,裏面放置着文章標籤:熱門、思考、項目、SDK、Kotlin、自定義控件、第三方和麪試。TabLayout與ViewPager綁定,每一個標籤對應一個文章列表的Fragment,點擊文章列表條目,就可以進入文章詳情,查看文章內容,而且能夠收藏喜歡的文章。
主界面的最後一個頁面是我的中心MeFragment。第一個卡片裏面擺放用戶頭像、用戶名和用戶簽名,點擊都能進行修改;第二個卡片擺放用戶的分享、提問和回答;第三個卡片是用戶喜歡的文章、問題和回答;第四個卡片在最後面,擺放着用戶反饋和設置。
展現的是當前登陸用戶的數據,若是想查看其餘用戶的數據怎麼辦呢?事實上,咱們能夠點擊問題列表或回答列表條目中的用戶的頭像或用戶名便可跳轉到用戶詳情界面ProfileActivity。
更多詳細內容請查閱《Android應用開發進階》,另外,歡迎各位朋友加入QQ羣,交流項目學習。