产品需求,实现类似微博的持续点赞再取消功能,因为自己也偶尔刷微博,对这功能有一定的使用上的了解,

至于微博点赞的具体实现我并不知道,微博点赞在断网的情况下依然能点赞,不会提示网络异常,等有网络之后

重新刷新,实际是没有点赞的,那就针对这现象去实现吧.

避免并发,减少CPU压力,我个人会想到 HandlerThread ,不懂可以自行科普,这里只说我实现的点赞功能原理.

    private Timer mTimer;//定时器private TimerTask mTask;
    mMap = new HashMap<>();mMainHandler = new MainHandler();//处理主线程任务mHandlerThread = new HandlerThread("praise_thread");mHandlerThread.start();//start()必须要在getLooper()前调用mThreadHandler = new ChildThreadHandler(mHandlerThread.getLooper());//处理子线程任务

自身封装一个单列的管理类:

private Map<String, Map<Long, Integer>> mMap;//基于自身需求实现一个点赞的消息管理器,我这里第一个key是用户,第二个key是内容的唯一ID

把点赞消息存放在管理器和加入任务队列

    public void addReport(String userId, long aId, int state) {stopTask();//停止定时器init();//初始化操作Map<Long, Integer> map;if (mMap.containsKey(userId)) {//这是处理用户keymap = mMap.get(userId);} else {map = new Hashtable<>();//避免重复,自行科普mMap.put(userId, map);}if (!map.containsKey(aId)) {//如果存在说明handler队列已经有但还没被处理sendMsg(mThreadHandler, 0, userId, aId, state);//把任务加到子线程}map.put(aId, state);//记录要提交的内容点赞状态}

子线程消息处理:上报用户操作的消息,把上报结果发回给主线程

主线程消息处理 :  取出map里面对应的值和上报结果比较,

1.存在一致性,则移除map中对应的key-value,再断map是否还有消息没有上报,

否则开启定时器,定时把线程终止掉.

2.非一致性,则重新向子线程发送上报消息.

以上原理非常简单,不喜勿喷,请各大牛多多指教!!!!

Android 仿微博的点赞上报功能,持续点赞再取消相关推荐

  1. android 开发艾特功能,Android 仿微博@ # 艾特 话题功能

    public class HtmlText extends TextView { private Context context; private String mData; //接口回调 priva ...

  2. android点赞取消赞功能吗,Android 仿微博的点赞功能的实现原理(持续点赞再取消)...

    搜索热词 产品需求,实现类似微博的持续点赞再取消功能,因为自己也偶尔刷微博,对这功能有一定的使用上的了解, 至于微博点赞的具体实现我并不知道,微博点赞在断网的情况下依然能点赞,不会提示网络异常,等有网 ...

  3. android 仿微博评论编辑框_Android 仿微博的点赞功能的实现原理(持续点赞再取消)...

    产品需求,实现类似微博的持续点赞再取消功能,因为自己也偶尔刷微博,对这功能有一定的使用上的了解, 至于微博点赞的具体实现我并不知道,微博点赞在断网的情况下依然能点赞,不会提示网络异常,等有网络之后 重 ...

  4. android右滑返回动画,Android仿微信右滑返回功能的实例代码

    先上效果图,如下: 先分析一下功能的主要技术点,右滑即手势判断,当滑到一直距离时才执行返回,并且手指按下的位置是在屏幕的最左边(这个也是有一定范围的),  这些可以实现onTouchEvent来实现. ...

  5. android人脸识显示头像自定义,Android 仿QQ头像自定义截取功能

    看了Android版QQ的自定义头像功能,决定自己实现,随便熟悉下android绘制和图片处理这一块的知识. 先看看效果: 思路分析: 这个效果可以用两个View来完成,上层View是一个遮盖物,绘制 ...

  6. 自己写个仿微博的表情包功能

    ** 自己写个仿微博的表情包功能 ** 前两天写微博系统尝试着写一个表情包系统如图所示: 主体思想是先把图片罗列出来,加上title和name属性,当点击图片时获取图片的name属性,附加在输入框文本 ...

  7. Android仿微信小视频录制功能(二)

    Android仿微信小视频录制功能(二) 接着上一篇,在完成了录制功能后,伟大的哲学家沃兹基索德曾经说过:"有录就有放.",那么紧接着就来实现播放功能,按照国际惯例,先上下效果图: ...

  8. android点赞取消赞功能吗,Android 仿微博的点赞上报功能,持续点赞再取消

    产品需求,实现类似微博的持续点赞再取消功能,因为自己也偶尔刷微博,对这功能有一定的使用上的了解, 至于微博点赞的具体实现我并不知道,微博点赞在断网的情况下依然能点赞,不会提示网络异常,等有网络之后 重 ...

  9. android仿微博首页布局,Android仿微博首页Tab加号弹窗功能

    本文实例为大家分享了Android微博首页Tab加号弹窗展示的具体代码,供大家参考,具体内容如下 Activity部分的代码 package com.ting.tab; import android. ...

最新文章

  1. 【Java】LeetCode 206 反转链表
  2. win10计算机无限弹网页,win10系统浏览网页时频繁弹出广告怎么办 Window10阻止网页弹出广告的四种方法...
  3. python爬取地图上的经纬度_Python调用百度地图API爬取经纬度
  4. JAX-RS客户端WebClient的使用教程
  5. 吴恩达作业5:正则化和dropout
  6. Linux信号实践(5) --时间与定时器
  7. 围棋提子后的子放哪_围棋入门知识点:围棋规则 —— 禁入点
  8. imp 只导入索引_Elasticsearch系列---实战零停机重建索引
  9. android makefile文件批量拷贝文件的方法
  10. [sitemap 索引情况提示] 根据 sitemap 的规则[0],当前页面 [pages/loading/loading] 将被索引
  11. iOS 使用FMDB进行数据库操作
  12. NPM酷库:chalk,多彩的粉笔
  13. 蓝桥杯嵌入式蜂鸣器程序
  14. overfeat 测试
  15. java POI中一些颜色值
  16. 国产手机荣获国际大奖,在美国被排队购买,不是华为你可能没用过
  17. Idea21.1.3版本中Scala默认设置带类型
  18. 可编程并行通信接口8255A
  19. 如何使用petri网建模工具pipe4.3.0
  20. 信息安全-Ping扫描与抓包分析

热门文章

  1. 偏微分方程 python_有关一个偏微分方程组的求解?
  2. logback应用日志格式参考
  3. Matlab/simulink MIL自动化测试工具使用说明
  4. 怎么设置win7连接无线网络连接电脑连接服务器,无线网络设置,教您怎么设置无线网络连接...
  5. 荧光激活细胞分选( FACS)
  6. 四大顶级PE 四大投行(顶级PE/VC/IB)
  7. 怎么把图片弄成logo_ps怎样把logo图案添加在照片上?
  8. 虚拟现实技术vr可以用来干什么?虚拟现实技术vr有什么特征
  9. 并查集-POJ2912 Rochambeau
  10. html前台数据自动更新,网页数据如何实现实时刷新?