打赏

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有全面的认识。

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














posted on 2018-12-01 00:49  XuCodeX  阅读(459)  评论(0编辑  收藏  举报

导航