目錄:(點(diǎn)擊可跳轉(zhuǎn))一 、功能架構(gòu) 一、功能架構(gòu)公共部分
用戶管理
帖子模塊
文章模塊
我的模塊(用戶信息)
搜索模塊
二、移動(dòng)端架構(gòu)概述1,框架層
2,線程層 由于我網(wǎng)絡(luò)請求這塊沒使用框架,所以線程的選用時(shí)
3,緩存層Android 的數(shù)據(jù)存儲(chǔ)方式有5種,分別是 SharedPrefrences、File、SQLite、ContentProvider、NetWork。我采用的是 SharedPrefrences 和 File即是文件存儲(chǔ),其中
4,網(wǎng)絡(luò)層
5,實(shí)現(xiàn)層帖子分享,我采用的 OneKeyShare SDK,之所以使用它,是因?yàn)樗呀^大部分的平臺(tái)的SDK分享接口都集成了,例如微信、QQ、QQ空間、新浪微博、知乎等等等等。 1) 注冊與登錄
2) 發(fā)表帖子功能的實(shí)現(xiàn)
3) 帖子列表的顯示
選用了安卓5.0 的 SwipeRefreshLayout + RecyclerView,原因是 SwipeRefreshLayout 自身帶有下拉刷新,最早的時(shí)候使用的是 PullToRefresh 開源項(xiàng)目。RecyclerView 重寫onScroll() 就可以搞定加載更多,還有一個(gè)原因,RecyclerView 自帶有瀑布流布局屬性。
4) 帖子詳情頁的顯示
采用的布局是 HeaderView + CommentView,HeaderView 用于顯示帖子的所有內(nèi)容含帖子點(diǎn)贊,CommentView 用來顯示用戶的評(píng)論
5) 消息提醒消息提醒采用了極光推送的SDK實(shí)現(xiàn)
6) 表情模塊
7) 其他部分收藏、刪除、舉報(bào),這些操作進(jìn)行一次get操作,傳遞帖子的id給服務(wù)器,服務(wù)器處理完畢后,就做對應(yīng)操作
其他功能能的實(shí)現(xiàn)基本同上述。 8) 優(yōu)化
9) 使用的庫第三方 自己派生
三、服務(wù)端架構(gòu)概述
1,服務(wù)器
2,數(shù)據(jù)庫引擎 最初的我并沒有采用 InnoDB,而是所有表都是全部是 MyISAM 。改用的原因是MyISAM 不支持事務(wù)InnoDB支持事務(wù),而且社交類APP的數(shù)據(jù)庫操作過多偏向于
3,數(shù)據(jù)庫設(shè)計(jì) 對于數(shù)據(jù)庫設(shè)計(jì),不應(yīng)該過多依賴范式, 常被
4,接口
|
|