作者: 聽任蔓草堙路
地址:http://www.jianshu.com/p/531efdf5cdc5
GitHub地址:https://github.com/Werb/Werb
前段時間,想要寫一個練手的項目,所以決定開發一個第三方微博 App
分析 Sina WeiboSDK源碼,發現官方Api請求在實現、代碼風格上存在很多弊端
本項目中所有的請求,都是利用 RxJava + Retrofit 重新封裝請求,並實現無網緩存
採用 MVP 設計模式,充分解耦,在代碼閱讀、後期維護上有很好的體驗
由於新浪暫停對第三方微博的審核,所以未能通過應用審核,獲取更多權限,來完成後續開發,當然也是不能直接運行的
所以想要運行項目的同學,可以替換成自己的新浪APP key,或者聯繫我給你添加測試帳號
分享的目的是,我覺得項目中功能還是很不錯的,希望可以給予大家一些參考
GitHub 項目地址 : https://github.com/Werb/Werb
實現微博主頁信息流瀏覽、可以在每條微博中,實現點讚,評論,轉發功能
使用自定義 View 實現九宮格圖片顯示,同時點擊瀏覽圖片,支持左右滑動
支持下拉刷新,上滑加載,快速回到頂端
閃屏界面做了類似於 Twitter 閃屏界面的動畫處理
其中對微博正文的文字處理,我覺得是比較有意思的地方,通過正則表達式匹配出 @ ,# ,url,做不同的顏色及點擊處理
在主頁點擊微博,可以進入詳情界面
實現了對該條微博的轉發,評論功能,同時還可以對該微博下的評論進行回復,轉發操作
利用 CoordinatorLayout 實現父布局與子布局嵌套滑動
由於微博接口限制,這裡只能獲取微博下的評論數據,轉發和點讚是獲取不到的,但在代碼編寫上三者幾乎相同,只是請求的接口不同
顯示用戶的粉絲數,關注數,微博數
查看個人相冊,個人收藏,好友列表(包括粉絲,關注,互粉)
由於微博接口限制,只能獲取部分數據,忍不住吐槽一下,真是太坑了...
相冊是通過個人界面中獲取的微博信息,提取出圖片參數,自己做處理的,新浪並沒有提供獲取相冊列表的接口
這個項目我會繼續做的,但由於接口的限制,進度應該會很緩慢,有好想法的同學可以聯繫我,我們來一起做
想學習 MVP + RxJava + Retrofit 的同學,可以看一下我的這個項目
實踐!業餘時間做的一款閱讀類App (MVP + RxJava + Retrofit)(http://www.jianshu.com/p/be0f4a4863ae)
Github 地址在這裡 : https://github.com/Werb/GankWithZhihu
單純的使用 MVP + RxJava + Retrofit 構建一個項目,沒有其他複雜的功能,很適合學習
歡迎 Star 和 Fork
文章中說過啦,因為新浪沒有通過審核,所以想要登陸需要授權,有兩種方法:1.去新浪申請應用,換成你自己的新浪App key,這種事比較推薦的,把申請好的app key,替換info/Constans.java 中的app key 。2. 我來給你添加測試帳號,但是因為新浪規定,未審核的應用,至多只能添加15個測試帳號。寫這篇文章的原因,主要是我覺得其中一些功能的代碼編寫,還是具有一定的學習意義的,比如信息流界面加載,九宮格圖片,自定義emoji,整體的MVP + RxJava + REtrofit 框架,嵌套布局的實現。加油~
Android訂閱是探討Android開發的公眾號,分享最有價值的Android乾貨文章
歡迎關注我們,一起討論技術,掃描和長按下方的二維碼可快速關注我們