即时聊天APP - 联系人和会话

【即时聊天APP - 联系人和会话】一身转战三千里,一剑曾当百万师。这篇文章主要讲述即时聊天APP - 联系人和会话相关的知识,希望能为你提供帮助。
联系人和会话界面使用的是RecyclerView进行滑动显示,并将好友列表存储至数据库,以供下次登录时使用,RecyclerView在后面我会详细介绍,这里略过。 联系人初始化时读取数据库并展示:

//读取数据库中的好友列表 private void read__db() { ListlLi = LitePal.findAll(LList.class); for (int i=0 ; i< lLi.size(); i++){ //加个异常 try{ LList lLis = new LList(lLi.get(i).getFriends()); lList.add(lLis); //读取并添加 }catch (Exception e) { Log.e(TAG, "read__db: 空指针异常"); } } // 当有新消息时,刷新ListView中的显示 adapter.notifyItemInserted(lList.size() - 1); }

会话列表读取数据库中的列表并去重然后在展示出来(逻辑可能有点问题):
//读取数据库中的好友列表 public void read__db() { llList.clear(); llList = LitePal.findAll(ConList.class); } //去重 public void delcom() { Log.e(TAG, "delcom: 删除之前"+llList.size()); int i,j; Collections.reverse(llList); for (i=0; i< llList.size(); i++){ for (j=i+1; j< llList.size(); j++){ if(llList.get(i).getName().equals(llList.get(j).getName())){ //有重复,需删除 llList.remove(llList.get(j)); Log.e(TAG, "delcom: 删除之后"+llList.size()); } } } } //赋值并显示 private void copyAndshow() { lList.clear(); ConList lLis; for (int i=0 ; i< llList.size(); i++){ //Toast.makeText(getActivity(),"长度:"+llList.size(),Toast.LENGTH_SHORT).show(); //加个异常 try{ lLis = new ConList(llList.get(i).getName(),llList.get(i).getMessage()); ad(lLis); }catch (Exception e) { Log.e(TAG, "read__db: 空指针异常"); } } }


    推荐阅读