From e518b71b3c77fc0c7c79641912113bc25c5b3d71 Mon Sep 17 00:00:00 2001 From: 张道锋 <1050130019@qq.com> Date: Thu, 22 Mar 2018 10:53:19 +0800 Subject: [PATCH] no message --- .gitignore | 3 +-- app/build.gradle | 4 +++- app/src/main/java/com/shunzhi/parent/AppContext.java | 26 +++++++++++++++++++++++++- app/src/main/java/com/shunzhi/parent/bean/message/PHMessage.java | 125 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- app/src/main/java/com/shunzhi/parent/bean/message/PHMessageSession.java | 127 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 279 insertions(+), 6 deletions(-) create mode 100644 app/src/main/java/com/shunzhi/parent/bean/message/PHMessageSession.java diff --git a/.gitignore b/.gitignore index 1dac1b8..6ededb1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,7 @@ *.iml .gradle /local.properties -/.idea/workspace.xml -/.idea/libraries +/.idea .DS_Store /build /captures diff --git a/app/build.gradle b/app/build.gradle index ae8764c..7232194 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -32,7 +32,9 @@ android { productFlavors { } } - +greendao{ + schemaVersion 1//数据库版本升级 +} dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') implementation 'com.android.support:appcompat-v7:26.1.0' diff --git a/app/src/main/java/com/shunzhi/parent/AppContext.java b/app/src/main/java/com/shunzhi/parent/AppContext.java index 295a4e8..9360a33 100644 --- a/app/src/main/java/com/shunzhi/parent/AppContext.java +++ b/app/src/main/java/com/shunzhi/parent/AppContext.java @@ -15,6 +15,12 @@ import com.netease.nimlib.sdk.StatusBarNotificationConfig; import com.netease.nimlib.sdk.auth.LoginInfo; import com.share.mvpsdk.global.GlobalApplication; import com.amap.api.location.AMapLocationClientOption.AMapLocationMode; +import com.shunzhi.parent.bean.message.DaoMaster; +import com.shunzhi.parent.bean.message.DaoMaster.DevOpenHelper; +import com.shunzhi.parent.bean.message.DaoSession; +import com.shunzhi.parent.ui.MainActivity; + +import org.greenrobot.greendao.database.Database; /** * Created by Administrator on 2018/3/7 0007. @@ -27,6 +33,12 @@ public class AppContext extends GlobalApplication { public String cityName = "", district = ""; + public DaoSession getDaoSession() { + return daoSession; + } + + private DaoSession daoSession; + public static AppContext getInstance() { return appContext; } @@ -44,6 +56,18 @@ public class AppContext extends GlobalApplication { //开启地图地位 initMapLocal(); NIMClient.init(this, loginInfo(), options()); + initDB(); + } + + private void initDB() { + //如果需要对数据库加密可以使用注释掉的方法,密码设置方式可以参考微信的数据密码生成方式: + //读取手机的IMEI与APP安装时生成的随机码(微信是在登录账号以后为不同的账号创建不同的文件夹微信随机码是微信账号的id)拼接, + // 经md5加密后取前n位做密码 +// DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(this, ENCRYPTED ? "notes-db-encrypted" : "notes-db"); +// Database db = ENCRYPTED ? helper.getEncryptedWritableDb("super-secret") : helper.getWritableDb(); + DevOpenHelper helper = new DevOpenHelper(this, "pw_messages"); + Database db = helper.getWritableDb(); + daoSession = new DaoMaster(db).newSession(); } private SDKOptions options() { @@ -51,7 +75,7 @@ public class AppContext extends GlobalApplication { // 如果将新消息通知提醒托管给 SDK 完成,需要添加以下配置。否则无需设置。 StatusBarNotificationConfig config = new StatusBarNotificationConfig(); - //config.notificationEntrance = MainActivity.class; // 点击通知栏跳转到该Activity + config.notificationEntrance = MainActivity.class; // 点击通知栏跳转到该Activity config.notificationSmallIconId = R.mipmap.ic_launcher; options.sdkStorageRootPath = getExternalFilesDir(null).getPath() + "/nim"; options.statusBarNotificationConfig = config; diff --git a/app/src/main/java/com/shunzhi/parent/bean/message/PHMessage.java b/app/src/main/java/com/shunzhi/parent/bean/message/PHMessage.java index 5498a55..cbaad19 100644 --- a/app/src/main/java/com/shunzhi/parent/bean/message/PHMessage.java +++ b/app/src/main/java/com/shunzhi/parent/bean/message/PHMessage.java @@ -1,8 +1,129 @@ package com.shunzhi.parent.bean.message; +import org.greenrobot.greendao.annotation.Entity; +import org.greenrobot.greendao.annotation.Id; +import org.greenrobot.greendao.annotation.NotNull; + +import java.util.Date; + +import org.greenrobot.greendao.annotation.Generated; + /** - * Created by 10501 on 2018/3/19. + * 内部变量可能存在值为null,使用时要注意 */ +@Entity(nameInDb = "message") +public class PHMessage { + @Id(autoincrement = true) + private Long id; + + private Date date; + private String messageId; + private String sessionId; + @NotNull + private String messageText; + private String exValue;//消息扩展字段 + private String filePath; + private String fileUrl; + private String messageType; + private Integer sendState;//消息发送的状态 1未发送(或者null,不建议使用null) 2发送中 3发送成功 4发送失败 + + @Generated(hash = 1293964777) + public PHMessage(Long id, Date date, String messageId, String sessionId, + @NotNull String messageText, String exValue, String filePath, + String fileUrl, String messageType, Integer sendState) { + this.id = id; + this.date = date; + this.messageId = messageId; + this.sessionId = sessionId; + this.messageText = messageText; + this.exValue = exValue; + this.filePath = filePath; + this.fileUrl = fileUrl; + this.messageType = messageType; + this.sendState = sendState; + } + + @Generated(hash = 1001489632) + public PHMessage() { + } + + public Long getId() { + return this.id; + } + + public void setId(Long id) { + this.id = id; + } + + public Date getDate() { + return this.date; + } + + public void setDate(Date date) { + this.date = date; + } + + public String getMessageId() { + return this.messageId; + } + + public void setMessageId(String messageId) { + this.messageId = messageId; + } + + public String getSessionId() { + return this.sessionId; + } + + public void setSessionId(String sessionId) { + this.sessionId = sessionId; + } + + public String getMessageText() { + return this.messageText; + } + + public void setMessageText(String messageText) { + this.messageText = messageText; + } + + public String getExValue() { + return this.exValue; + } + + public void setExValue(String exValue) { + this.exValue = exValue; + } + + public String getFilePath() { + return this.filePath; + } + + public void setFilePath(String filePath) { + this.filePath = filePath; + } + + public String getFileUrl() { + return this.fileUrl; + } + + public void setFileUrl(String fileUrl) { + this.fileUrl = fileUrl; + } + + public String getMessageType() { + return this.messageType; + } + + public void setMessageType(String messageType) { + this.messageType = messageType; + } + + public Integer getSendState() { + return this.sendState; + } -public class PHMessage { + public void setSendState(Integer sendState) { + this.sendState = sendState; + } } diff --git a/app/src/main/java/com/shunzhi/parent/bean/message/PHMessageSession.java b/app/src/main/java/com/shunzhi/parent/bean/message/PHMessageSession.java new file mode 100644 index 0000000..c80a121 --- /dev/null +++ b/app/src/main/java/com/shunzhi/parent/bean/message/PHMessageSession.java @@ -0,0 +1,127 @@ +package com.shunzhi.parent.bean.message; + +import org.greenrobot.greendao.annotation.Entity; +import org.greenrobot.greendao.annotation.Id; + +import java.util.Date; + +import org.greenrobot.greendao.annotation.Generated; + +/** + * Created by 10501 on 2018/3/20. + */ +@Entity(nameInDb = "messageSession") +public class PHMessageSession { + @Id(autoincrement = true) + private Long id; + private String sessionId; + private String sessionText; + private String sessionName; + private Date date; + private Integer sessionType; + private Integer newMessageCount;//接收和发送的消息总数 + private Integer unReadMessageCount;//未读消息总数 + private String exValues; + private Boolean isTop; + + @Generated(hash = 1156938953) + public PHMessageSession(Long id, String sessionId, String sessionText, String sessionName, + Date date, Integer sessionType, Integer newMessageCount, Integer unReadMessageCount, + String exValues, Boolean isTop) { + this.id = id; + this.sessionId = sessionId; + this.sessionText = sessionText; + this.sessionName = sessionName; + this.date = date; + this.sessionType = sessionType; + this.newMessageCount = newMessageCount; + this.unReadMessageCount = unReadMessageCount; + this.exValues = exValues; + this.isTop = isTop; + } + + @Generated(hash = 390248330) + public PHMessageSession() { + } + + public Long getId() { + return this.id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getSessionId() { + return this.sessionId; + } + + public void setSessionId(String sessionId) { + this.sessionId = sessionId; + } + + public String getSessionText() { + return this.sessionText; + } + + public void setSessionText(String sessionText) { + this.sessionText = sessionText; + } + + public String getSessionName() { + return this.sessionName; + } + + public void setSessionName(String sessionName) { + this.sessionName = sessionName; + } + + public Integer getSessionType() { + return this.sessionType; + } + + public void setSessionType(Integer sessionType) { + this.sessionType = sessionType; + } + + public Integer getNewMessageCount() { + return this.newMessageCount; + } + + public void setNewMessageCount(Integer newMessageCount) { + this.newMessageCount = newMessageCount; + } + + public Integer getUnReadMessageCount() { + return this.unReadMessageCount; + } + + public void setUnReadMessageCount(Integer unReadMessageCount) { + this.unReadMessageCount = unReadMessageCount; + } + + public String getExValues() { + return this.exValues; + } + + public void setExValues(String exValues) { + this.exValues = exValues; + } + + public Boolean getIsTop() { + if (isTop == null) return false; + return this.isTop; + } + + public void setIsTop(Boolean isTop) { + this.isTop = isTop; + } + + public Date getDate() { + return this.date; + } + + public void setDate(Date date) { + this.date = date; + } +} -- libgit2 0.21.0