java 微博客户端_记一个Android微博客户端的开发

最近抽了点时间开发了一个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显示和响应点击事件。

运行截图

49fb43ba8db2bd5536fd55e99c8a6818.png

e79f949e66b3da9a5215b730430db93c.png

用了一些开源的工具库,其中还有不少坑,不得不打补丁修补。不过界面的设计不停地修改,还是令人挺满意的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值