这篇文章将为大家详细讲解有关怎么在Android 中实现微博点赞功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
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)) {//这是处理用户key map = 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是一种基于Linux内核的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由美国Google公司和开放手机联盟领导及开发。
关于怎么在Android 中实现微博点赞功能就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。