zoukankan      html  css  js  c++  java
  • JAVA入门到精通-第94讲-山寨QQ项目8-好友在线提示

    遇到的问题:
    现在每登录一个人,后面的人是能看到前面的登录的人的;
    但是,前面的人看不到后面的人登录;

    //后面每登录一个人,有责任去通知前面登录的人他已经上线了;
    通知了完以后,需要更改好友在线的情况;











    //不让同一个账号反复登录
    //如果 好友不在线,则不能聊天

    ================================

    [ManageQqChat.java]

    20
     
    1
    /**
    2
     * 这是一个管理用户聊天界面的类
    3
     */
    4
    package com.qq.client.tools;
    5
     
    6
    import java.util.HashMap;
    7
    import com.qq.client.view.QqChat;
    8
     
    9
    public class ManageQqChat {
    10
        private static HashMap hm=new HashMap<String,QqChat>();
    11
       
    12
        //加入
    13
        public static void addQqChat(String loginIdAndFriendId,QqChat qqChat){
    14
            hm.put(loginIdAndFriendId, qqChat);
    15
        }
    16
        //取出
    17
        public static QqChat getQqChat(String loginIdAndFriendId){
    18
            return (QqChat)hm.get(loginIdAndFriendId);
    19
        }
    20
    }

    ***************************************************************

    [ManageQqFriendList.java]

    19
     
    1
    /**
    2
     * 管理qq好友、陌生人、黑名单界面类
    3
     */
    4
    package com.qq.client.tools;
    5
     
    6
    import java.util.HashMap;
    7
    import com.qq.client.view.QqFriendList;
    8
     
    9
    public class ManageQqFriendList {
    10
        private static HashMap hm=new HashMap<String,QqFriendList>();
    11
        //加入
    12
        public static void addQqFriendList(String qqid,QqFriendList qqFriendList){
    13
            hm.put(qqid, qqFriendList);
    14
        }
    15
        //取出
    16
        public static QqFriendList getQqFriendList(String qqId){
    17
            return (QqFriendList)hm.get(qqId);
    18
        }
    19
    }

    ***************************************************************

    com.qq.common

    [Message.java]

    45
     
    1
    /**
    2
     * 为Message规定规则
    3
    */
    4
    package com.qq.common;
    5
     
    6
    import java.io.Serializable;
    7
     
    8
    public class Message implements Serializable{
    9
        private String mesType;
    10
        private String sender;
    11
        private String getder;
    12
        private String con;
    13
        private String sendTime;
    14
       
    15
        public String getGetder() {
    16
            return getder;
    17
        }
    18
        public void setGetder(String getder) {
    19
            this.getder = getder;
    20
        }
    21
        public String getSender() {
    22
            return sender;
    23
        }
    24
        public void setSender(String sender) {
    25
            this.sender = sender;
    26
        }
    27
        public String getCon() {
    28
            return con;
    29
        }
    30
        public void setCon(String con) {
    31
            this.con = con;
    32
        }
    33
        public String getSendTime() {
    34
            return sendTime;
    35
        }
    36
        public void setSendTime(String sendTime) {
    37
            this.sendTime = sendTime;
    38
        }
    39
        public String getMesType() {
    40
            return mesType;
    41
        }
    42
        public void setMesType(String mesType) {
    43
            this.mesType = mesType;
    44
        }
    45
    }

    ***************************************************************

    [MessageType.java]

    12
     
    1
    /**
    2
     * 定义消息包的种类的接口
    3
     */
    4
    package com.qq.common;
    5
     
    6
    public interface MessageType {
    7
        String message_succeed="1";//登录成功包
    8
        String message_login_fail="2";//登录失败包
    9
        String message_comm_mes="3";//普通消息包
    10
        String message_get_onLineFriend="4";//要求在线的好友包
    11
        String message_ret_onLineFriend="5";//返回在线好友包
    12
    }

    ***************************************************************

    [User.java]

    22
     
    1
    /**
    2
     * 这是用户信息类
    3
     */
    4
    package com.qq.common;
    5
     
    6
    import java.io.Serializable;
    7
    public class User implements Serializable{
    8
        private String userId;
    9
        private String passwd;
    10
        public String getUserId() {
    11
            return userId;
    12
        }
    13
        public void setUserId(String userId) {
    14
            this.userId = userId;
    15
        }
    16
        public String getPasswd() {
    17
            return passwd;
    18
        }
    19
        public void setPasswd(String passwd) {
    20
            this.passwd = passwd;
    21
        }
    22
    }

    ***************************************************************

     

    至此,韩顺平JAVA入门到精通(94)视频到此完结。

    笔记包含完整的视频PPT内容,及所有演示示例代码,和视频中所有作业答题。

     

    学习注意:

    视频教学内容简单易学,容易上手。对于JAVASE的内容讲解通俗易懂,不过深度不高,讲的较为浅显。主要是让学员对JAVASE有所了解,本人对视频印象深刻的为在企业开发中的注意事项,及开发软件的规则。对于需要全面了解学习JAVA的朋友来说,还需研读更深、更全面的JAVA书籍,及JAVA编程思想。从而对JAVA有全面的认识。

    韩顺平讲师的后续视频笔记,将陆续放出。














  • 相关阅读:
    django_视图层_便捷工具
    django_视图层_编写url
    04bootstrap_表单
    人工智能之线性代数
    人工智能之数组操作
    C 获取Linux系统信息
    RPM
    Windows 启动&关闭Hyper-V
    C 指定初始化器
    指针的运算
  • 原文地址:https://www.cnblogs.com/xuxaut-558/p/10047924.html
Copyright © 2011-2022 走看看