• 即时聊天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: 空指针异常");
        }
    }
    }
  • 相关阅读:
    516. Longest Palindromic Subsequence最长的不连续回文串的长度
    java之spring之整合ssh-2
    java之spring之整合ssh
    java之spring之spring整合hibernate
    微服务之初了解(一)
    java之spring之scope和autowiring
    java之spring之依赖注入
    java之spring之对象的创建
    java之spring之配置讲解
    asp.net core 系列之静态文件
  • 原文地址:https://www.cnblogs.com/zqm-sau/p/10331941.html
Copyright © 2020-2023  润新知