這篇文章將為大家詳細講解有關怎么在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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。