JAVA入门到精通-第94讲-山寨QQ项目8-好友在线提示

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

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

1167156-20181201004828714-206555133.png

1167156-20181201004828972-127807953.png

1167156-20181201004829321-1678125971.png

1167156-20181201004829589-1933424030.png

1167156-20181201004829755-1667864877.png

1167156-20181201004830007-2109221495.png

1167156-20181201004830279-497833777.png

1167156-20181201004830467-1216739890.png

1167156-20181201004830957-1188182245.png

1167156-20181201004831358-1803809314.png

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

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

[ManageQqChat.java]

/** * 这是一个管理用户聊天界面的类 */ package com.qq.client.tools; import java.util.HashMap; import com.qq.client.view.QqChat; public class ManageQqChat { private static HashMap hm=new HashMap<String,QqChat>(); //加入 public static void addQqChat(String loginIdAndFriendId,QqChat qqChat){ hm.put(loginIdAndFriendId, qqChat); } //取出 public static QqChat getQqChat(String loginIdAndFriendId){ return (QqChat)hm.get(loginIdAndFriendId); } }
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]

/** * 管理qq好友、陌生人、黑名单界面类 */ package com.qq.client.tools; import java.util.HashMap; import com.qq.client.view.QqFriendList; public class ManageQqFriendList { private static HashMap hm=new HashMap<String,QqFriendList>(); //加入 public static void addQqFriendList(String qqid,QqFriendList qqFriendList){ hm.put(qqid, qqFriendList); } //取出 public static QqFriendList getQqFriendList(String qqId){ return (QqFriendList)hm.get(qqId); } }
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]

/** * 为Message规定规则 */ package com.qq.common; import java.io.Serializable; public class Message implements Serializable{ private String mesType; private String sender; private String getder; private String con; private String sendTime; public String getGetder() { return getder; } public void setGetder(String getder) { this.getder = getder; } public String getSender() { return sender; } public void setSender(String sender) { this.sender = sender; } public String getCon() { return con; } public void setCon(String con) { this.con = con; } public String getSendTime() { return sendTime; } public void setSendTime(String sendTime) { this.sendTime = sendTime; } public String getMesType() { return mesType; } public void setMesType(String mesType) { this.mesType = mesType; } }
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]

/** * 定义消息包的种类的接口 */ package com.qq.common; public interface MessageType { String message_succeed="1";//登录成功包 String message_login_fail="2";//登录失败包 String message_comm_mes="3";//普通消息包 String message_get_onLineFriend="4";//要求在线的好友包 String message_ret_onLineFriend="5";//返回在线好友包 }
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]

/** * 这是用户信息类 */ package com.qq.common; import java.io.Serializable; public class User implements Serializable{ private String userId; private String passwd; public String getUserId() { return userId; } public void setUserId(String userId) { this.userId = userId; } public String getPasswd() { return passwd; } public void setPasswd(String passwd) { this.passwd = passwd; } }
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有全面的认识。

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














转载于:https://www.cnblogs.com/xuxaut-558/p/10047924.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值