All Projects → dingdangmao123 → weibo

dingdangmao123 / weibo

Licence: other
a simple weibo app

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to weibo

Upic
📤uPic is a native, powerful, beautiful and simple picture and file upload tool for macOS.
Stars: ✭ 2,465 (+7851.61%)
Mutual labels:  weibo
Weibopicdownloader
Download weibo images without logging-in
Stars: ✭ 241 (+677.42%)
Mutual labels:  weibo
weibotuchuang-electron
围脖是个好图床
Stars: ✭ 31 (+0%)
Mutual labels:  weibo
Picgo
🚀A simple & beautiful tool for pictures uploading built by vue-cli-electron-builder
Stars: ✭ 15,358 (+49441.94%)
Mutual labels:  weibo
Photobrowser
PhotoBrowser is a light weight photo browser, like the wechat, weibo image viewer.
Stars: ✭ 211 (+580.65%)
Mutual labels:  weibo
Awesome crawl
腾讯新闻、知乎话题、微博粉丝,Tumblr爬虫、斗鱼弹幕、妹子图爬虫、分布式设计等
Stars: ✭ 246 (+693.55%)
Mutual labels:  weibo
Weibospider
This is a sina weibo spider built by scrapy [微博爬虫/持续维护]
Stars: ✭ 2,408 (+7667.74%)
Mutual labels:  weibo
tg-wb-trending
Github actions自动抓取微博热搜,每小时自动存档,通过github page生成网站和api
Stars: ✭ 42 (+35.48%)
Mutual labels:  weibo
Weibo Analysis And Visualization
使用python抓取微博数据并对微博文本分析和可视化,LDA(树图)、关系图、词云、时间趋势(折线图)、热度地图、词典情感分析(饼图和3D柱状图)、词向量神经网络情感分析、tfidf聚类、词向量聚类、关键词提取、文本相似度分析等
Stars: ✭ 231 (+645.16%)
Mutual labels:  weibo
mifitxiaomipiholelist
MiFit/Xiaomi PiHole Bock List
Stars: ✭ 28 (-9.68%)
Mutual labels:  weibo
News spider
新闻抓取(微信、微博、头条...)
Stars: ✭ 190 (+512.9%)
Mutual labels:  weibo
Weibo terminater
Final Weibo Crawler Scrap Anything From Weibo, comments, weibo contents, followers, anything. The Terminator
Stars: ✭ 2,295 (+7303.23%)
Mutual labels:  weibo
Weibopicdownloader
免登录下载微博图片 爬虫 Download Weibo Images without Logging-in
Stars: ✭ 247 (+696.77%)
Mutual labels:  weibo
Flutter hrlweibo
Flutter仿微博客户端, 包含首页、视频、发现、消息(仿微博聊界面)及个人中心模块
Stars: ✭ 2,336 (+7435.48%)
Mutual labels:  weibo
weiboPoemBot
A weibo-bot who can automatically send weibo with poem and art picture.
Stars: ✭ 17 (-45.16%)
Mutual labels:  weibo
Mnweibo
Swift5 + MVVM + 文艺复兴微博(纯代码 + 纯Swift),可作为第一个上手的Swift项目.
Stars: ✭ 183 (+490.32%)
Mutual labels:  weibo
Monkeyking
MonkeyKing helps you to post messages to Chinese Social Networks.
Stars: ✭ 2,699 (+8606.45%)
Mutual labels:  weibo
WeiboChaoHuaDaily
微博超话经验全收集:评论、打榜、签到
Stars: ✭ 26 (-16.13%)
Mutual labels:  weibo
delete weibo in batches
chrome控制台批量删除微博记录,可指定全部、原创或转发
Stars: ✭ 19 (-38.71%)
Mutual labels:  weibo
Sdk3rd
第三方SDK集成库,授权/分享/支付
Stars: ✭ 249 (+703.23%)
Mutual labels:  weibo

Weibo

  • 这是一个简单的Android微博客户端,采用ButterKnife,OKHttp框架

  • Web后台采用 PHP+MySQL,利用Redis构建热门话题,Token缓存等

  • NIO服务器采用Java Netty + Redis消息队列提供消息实时提醒

  • English

开发笔记

  • 个人觉得最重要的是设计好Json数据协议,利用PHP输出Json数据,没有采用Retrofit之类框架,通过封装Okhttp和Gson传入class对象直接获取Java模型对象(出错也会将错误信息生成SysMsg对象避免传回空指针),Gson泛型的问题,将实体消息封装到inner字段内,通过类继承绕开泛型,先将SysMsg交给BaseActivity,BaseFragment检查处理,确认没有出错则强制转换成子模型,供后续调用。
 public class SysMsg {

     private String code;

     private String msg;
     
   }
  
 public class TitleModel extends SysMsg {

    private LinkedList<inner> inner;
 }
  
  • Token字段登录后存入MySQL,并缓存到Redis,登录后自动刷新,旧的自动废弃。

  • 其余主要是一些常规的优化,图片的标签防止错位,缩略图,LRU的缓存等

  • 微博比较有意思的就是@功能,#话题#功能,通过正则表达式匹配来提取信息,生成提醒等批量插入MySQL,提高性能,#话题#功能有起始和终止#号,比较好匹配,而@功能由于没有中止符号较为难办,本项目支持两种:@Java@Scala@Kotlin 或者@Java @Scala @Kotlin 即通过后面的@符号或者空格来界定,不知有无更好的设计。UI通过SpannableString显示和响应点击事件。

  • 本项目没有实现转发微博,特别是针对多人连续转发,本人也考虑了两种方案,一种是每条微博保存被转发的微博id(如果多次转发,只保留最近的一条),显示时只显示对当前和最近的一条微博,这样查询起来比较快。另外一种是数据库冗余设计,即保存最原始的微博ID,并且保存所有中间转发的内容,所有中间转发内容包括转发人统统转化成字符串存储,这样刷微博时可以显示全部转发内容和转发人,不知道新浪微博是怎么设计的。

  • @,评论,点赞等消息写入MySQL,再同步至Redis消息队列,通过Java Netty框架构建NIO服务器,与客户端保持长连接,提供实时的消息提醒,目前只在首页提供红点提示,也可在全局添加Notification通知;

  • 图片九宫格采用的是第三方控件,布局算法无非是1张,4张或者3列显示。

主要框架

运行效果

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].