摘要:地址最近抽了點時間開發了一個微博系統來練手,踩了不少坑,也積累了一些經驗。字段登錄后存入,并緩存到登錄后自動刷新,舊的自動廢棄。
github地址
最近抽了點時間開發了一個Android微博系統來練手,踩了不少坑,也積累了一些經驗。
因為之前沒有做過和服務器的交互。先用php+mysql+redis構建web后臺,通過json格式提供接口,
這里踩了Gson泛型的坑,不過我是通過對json協議做了特別設計繞過了坑,由Okhttp搭配Gson提供了統一
的服務接口,用起來還是比較順手,也沒有采用Retrofit之類的框架。
由于我是邊做邊設計架構,因此也走了不少彎路,添加數據庫表字段,然后又要修改對應的JavaBean,不過好在對架構影響不大,因此改動不大,拓展性良好。
個人覺得最重要的是設計好Json數據協議,利用PHP輸出Json數據,采用Okhttp和Gson得到Java數據模型,Gson泛型的問題,將實體消息封裝到inner字段內,通過類繼承繞開泛型,code字段和msg字段交給BaseActivity,BaseFragment檢查處理。
Token字段登錄后存入MySQL,并緩存到Redis,登錄后自動刷新,舊的自動廢棄。
其余主要是一些常規的優化,圖片的標簽防止錯位,縮略圖,LRU的緩存等
微博比較有意思的就是@功能,#話題#功能,通過正則表達式匹配來提取信息,生成提醒等批量插入MySQL,提高性能,#話題#功能有起始和終止#號,比較好匹配,而@功能由于沒有中止符號較為難辦,本項目支持兩種:@Java@Scala@Kotlin 或者@Java @Scala @Kotlin 即通過后面的@符號或者空格來界定,不知有無更好的設計。UI通過SpannableString顯示和響應點擊事件。
運行截圖
用了一些開源的工具庫,其中還有不少坑,不得不打補丁修補。不過界面的設計不停地修改,還是令人挺滿意的。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/28393.html
摘要:地址最近抽了點時間開發了一個微博系統來練手,踩了不少坑,也積累了一些經驗。字段登錄后存入,并緩存到登錄后自動刷新,舊的自動廢棄。 github地址 最近抽了點時間開發了一個Android微博系統來練手,踩了不少坑,也積累了一些經驗。 因為之前沒有做過和服務器的交互。先用php+mysql+redis構建web后臺,通過json格式提供接口,這里踩了Gson泛型的坑,不過我是通過對jso...
閱讀 2686·2021-09-22 15:58
閱讀 2230·2019-08-29 16:06
閱讀 897·2019-08-29 14:14
閱讀 2810·2019-08-29 13:48
閱讀 2451·2019-08-28 18:01
閱讀 1495·2019-08-28 17:52
閱讀 3318·2019-08-26 14:05
閱讀 1610·2019-08-26 13:50