Commit 22bcc3a8f7d1bb2c114bd01aa64e213a6579a34a

Authored by 陶汉栋
1 parent 1ec4334b
Exists in yxb_dev and in 1 other branch developer

no message

app/libs/processor.jar
No preview for this file type
app/src/main/java/com/shunzhi/parent/AppConfig.java
... ... @@ -39,17 +39,17 @@ public class AppConfig {
39 39 public static String APP_IS_START = "app_is_start";
40 40  
41 41 //测试
42   - public static String BASE_URL="http://60.190.202.57:1000/";
43   - public static String BASE_URL_ORDER="http://60.190.202.57:8101/";
44   - public static String BASE_URL_FILE="http://60.190.202.57:8196";
45   - public static String BASE_URL_VOTE = "http://60.190.202.57:8812/";
  42 +// public static String BASE_URL="http://60.190.202.57:1000/";
  43 +// public static String BASE_URL_ORDER="http://60.190.202.57:8101/";
  44 +// public static String BASE_URL_FILE="http://60.190.202.57:8196";
  45 +// public static String BASE_URL_VOTE = "http://60.190.202.57:8812/";
46 46  
47 47  
48 48 //正式
49   -// public static String BASE_URL = "http://campus.myjxt.com/";
50   -// public static String BASE_URL_ORDER = "http://parent.myjxt.com/";
51   -// public static String BASE_URL_FILE = "http://manage.myjxt.com";
52   -// public static String BASE_URL_VOTE = "www.sxspy.net/";
  49 + public static String BASE_URL = "http://campus.myjxt.com/";
  50 + public static String BASE_URL_ORDER = "http://parent.myjxt.com/";
  51 + public static String BASE_URL_FILE = "http://manage.myjxt.com";
  52 + public static String BASE_URL_VOTE = "www.sxspy.net/";
53 53 // public static final String url_version = BASE_URL + "api/Common/AppVersion?appType=3";
54 54  
55 55  
... ...
app/src/main/java/com/shunzhi/parent/db/DBHelper.java 0 → 100644
... ... @@ -0,0 +1,43 @@
  1 +package com.shunzhi.parent.db;
  2 +
  3 +import android.content.Context;
  4 +import android.database.DatabaseErrorHandler;
  5 +import android.database.sqlite.SQLiteDatabase;
  6 +import android.database.sqlite.SQLiteOpenHelper;
  7 +
  8 +/**
  9 + * Created by ToaHanDong on 2018/4/23.
  10 + */
  11 +
  12 +public class DBHelper extends SQLiteOpenHelper {
  13 +
  14 + public final int VERSION=1;
  15 +
  16 + public DBHelper(Context context, String name) {
  17 + super(context, name, null, 2);
  18 + }
  19 +
  20 + public DBHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version, DatabaseErrorHandler errorHandler) {
  21 + super(context, name, factory, version, errorHandler);
  22 + }
  23 +
  24 + @Override
  25 + public void onCreate(SQLiteDatabase sqLiteDatabase) {
  26 + DBMessageController.createSongTable(sqLiteDatabase);
  27 + }
  28 + /**
  29 + *
  30 + * @param sqLiteDatabase 数据库对象
  31 + * @param i 数据库旧版本
  32 + * @param i1 数据库新版本
  33 + */
  34 + @Override
  35 + public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
  36 + if (i1==2){
  37 + sqLiteDatabase.execSQL(DBMessageController.TEMP_SQL);//先把原来的表重命名
  38 + sqLiteDatabase.execSQL(DBMessageController.sqlVersion2);//创建新表
  39 + sqLiteDatabase.execSQL(DBMessageController.COPY_SQL);//导入数据
  40 + sqLiteDatabase.execSQL(DBMessageController.DROP_SQL);//删除备份的数据库
  41 + }
  42 + }
  43 +}
... ...
app/src/main/java/com/shunzhi/parent/db/DBMessageController.java 0 → 100644
... ... @@ -0,0 +1,146 @@
  1 +package com.shunzhi.parent.db;
  2 +
  3 +import android.content.ContentValues;
  4 +import android.content.Context;
  5 +import android.database.Cursor;
  6 +import android.database.sqlite.SQLiteDatabase;
  7 +
  8 +import java.util.ArrayList;
  9 +import java.util.List;
  10 +
  11 +/**
  12 + * Created by ToaHanDong on 2018/4/23.
  13 + */
  14 +
  15 +public class DBMessageController {
  16 +
  17 + public static DBMessageController dbMessageController = null;
  18 +
  19 + public static DBMessageController getInstance(Context context) {
  20 +
  21 + if (null == dbMessageController) {
  22 + synchronized (DBMessageController.class) {
  23 + if (null == dbMessageController)
  24 + dbMessageController = new DBMessageController(context, false);
  25 + }
  26 + }
  27 + return dbMessageController;
  28 + }
  29 +
  30 +
  31 + private Context context;
  32 + private SQLiteDatabase database;
  33 +
  34 + public static final String DATABASE = "message.db";
  35 +
  36 + public static final String TABLE_MESSAGE = "message";//表名
  37 + public static final String TABLE_TEMP="temp";//备份的表
  38 +
  39 + public static String TEMP_SQL= "alter table "+TABLE_MESSAGE+" rename to "+TABLE_TEMP;
  40 + public static String COPY_SQL="insert into "+TABLE_MESSAGE+" select * ,' ' from "+TABLE_TEMP;
  41 + public static String DROP_SQL="drop table "+TABLE_TEMP;
  42 +
  43 + public static String sqlVersion2="create table if not exists " + DBMessageController.TABLE_MESSAGE + "(" +
  44 + DBMessageController.MESSAGE_ID + " integer primary key autoincrement," +
  45 + DBMessageController.MESSAGE_TITLE + " text unique," +
  46 + DBMessageController.MESSAGE_MSGID + " text," +
  47 + DBMessageController.MESSAGE_USERID + " text," +
  48 + DBMessageController.MESSAGE_TYPE + " integer," +
  49 + DBMessageController.MESSAGE_DATE+" text,"+
  50 + DBMessageController.MESSAGE_ISREAD + " text)";
  51 +
  52 + public static final String MESSAGE_ID = "_id"; //主键
  53 + public static final String MESSAGE_TITLE = "title"; //内容
  54 + public static final String MESSAGE_USERID = "userid"; //用户的唯一标识
  55 + public static final String MESSAGE_TYPE = "type"; //消息类型
  56 + public static final String MESSAGE_ISREAD = "isread";//判断消息是否为已读
  57 + public static final String MESSAGE_MSGID = "msgid";//判断消息是否为已读
  58 + public static final String MESSAGE_DATE="date";//日期
  59 +
  60 + static void createSongTable(SQLiteDatabase db) {
  61 + String sql = "create table if not exists " + DBMessageController.TABLE_MESSAGE + "(" +
  62 + DBMessageController.MESSAGE_ID + " integer primary key autoincrement," +
  63 + DBMessageController.MESSAGE_TITLE + " text unique," +
  64 + DBMessageController.MESSAGE_MSGID + " text," +
  65 + DBMessageController.MESSAGE_USERID + " text," +
  66 + DBMessageController.MESSAGE_TYPE + " integer," +
  67 + DBMessageController.MESSAGE_ISREAD + " text)";
  68 + db.execSQL(sql);
  69 + }
  70 +
  71 + /**
  72 + * 在使用结束时应调用{@link #()}关闭数据库连接
  73 + */
  74 + public DBMessageController(Context context, boolean writable) {
  75 + DBHelper helper = new DBHelper(context, DATABASE);
  76 + if (writable) {
  77 + this.database = helper.getWritableDatabase();
  78 + } else {
  79 + this.database = helper.getReadableDatabase();
  80 + }
  81 + this.context = context;
  82 + }
  83 +
  84 + public void close() {
  85 + if (database.isOpen()) {
  86 + database.close();
  87 + }
  88 + }
  89 +
  90 + public long addMessages(Messages messages) {
  91 +
  92 + ContentValues contentValues = new ContentValues();
  93 + contentValues.put(DBMessageController.MESSAGE_TITLE, messages.title);
  94 + contentValues.put(DBMessageController.MESSAGE_TYPE, messages.type);
  95 + contentValues.put(DBMessageController.MESSAGE_USERID, messages.userid);
  96 + contentValues.put(DBMessageController.MESSAGE_ISREAD, messages.isRead);
  97 + contentValues.put(DBMessageController.MESSAGE_MSGID, messages.msgId);
  98 + contentValues.put(DBMessageController.MESSAGE_DATE,messages.date);
  99 + return database.insert(DBMessageController.TABLE_MESSAGE, null, contentValues);
  100 + }
  101 +
  102 +
  103 + public int getMessagesCounts(String type) {
  104 + String sql = "select * from " + TABLE_MESSAGE + "where type = ?";
  105 + Cursor cursor = database.rawQuery(sql, new String[]{type});
  106 + return cursor.getCount();
  107 + }
  108 +
  109 + public int getMessagesCountsAllNoRead() {
  110 + String sql = "select * from " + TABLE_MESSAGE + " where isRead = ?";
  111 + Cursor cursor = database.rawQuery(sql, new String[]{"false"});
  112 + return cursor.getCount();
  113 + }
  114 +
  115 + public void setMeaasgesRead() {
  116 +
  117 + ContentValues contentValues = new ContentValues();
  118 + contentValues.put(MESSAGE_ISREAD, "true");
  119 +
  120 + String whereClause="isRead = ?";
  121 +
  122 + String[] whereArgs = new String[]{"false"};
  123 +
  124 + database.update(TABLE_MESSAGE, contentValues, whereClause, whereArgs);
  125 +
  126 +
  127 + }
  128 +
  129 + public List<Messages> getAllMessages() {
  130 +
  131 + String sql = "select * from " + TABLE_MESSAGE;
  132 +
  133 + Cursor cursor = database.rawQuery(sql, null);
  134 +
  135 + List<Messages> messagesList = new ArrayList<>();
  136 +
  137 + while (cursor.moveToNext()) {
  138 + Messages messages = new Messages();
  139 + messages.type = cursor.getInt(cursor.getColumnIndex(MESSAGE_TYPE));
  140 + messages.title = cursor.getString(cursor.getColumnIndex(MESSAGE_TITLE));
  141 + messages.date=cursor.getString(cursor.getColumnIndex(MESSAGE_DATE));
  142 + messagesList.add(messages);
  143 + }
  144 + return messagesList;
  145 + }
  146 +}
... ...
app/src/main/java/com/shunzhi/parent/db/Messages.java 0 → 100644
... ... @@ -0,0 +1,33 @@
  1 +package com.shunzhi.parent.db;
  2 +
  3 +/**
  4 + * Created by ToaHanDong on 2018/4/23.
  5 + */
  6 +
  7 +public class Messages {
  8 +
  9 + public int id;
  10 +
  11 + public String title;
  12 +
  13 + public String userid;
  14 +
  15 + public int type;//0:作业 1:考勤 2:请假
  16 +
  17 + public String msgId;
  18 +
  19 + public String isRead;//标识是否已读
  20 +
  21 + public String date;//收到通知消息的事件
  22 +
  23 + @Override
  24 + public String toString() {
  25 + return "Messages{" +
  26 + "id=" + id +
  27 + ", title='" + title + '\'' +
  28 + ", userid='" + userid + '\'' +
  29 + ", type='" + type + '\'' +
  30 + ", msgId='" + msgId + '\'' +
  31 + '}';
  32 + }
  33 +}
... ...
app/src/main/java/com/shunzhi/parent/manager/MessageManager.java
... ... @@ -19,6 +19,7 @@ import com.netease.nimlib.sdk.auth.LoginInfo;
19 19 import com.netease.nimlib.sdk.msg.MsgServiceObserve;
20 20 import com.netease.nimlib.sdk.msg.model.CustomNotification;
21 21 import com.netease.nimlib.sdk.msg.model.IMMessage;
  22 +import com.share.mvpsdk.utils.DateUtils;
22 23 import com.share.mvpsdk.utils.ToastUtils;
23 24 import com.shunzhi.parent.AppConfig;
24 25 import com.shunzhi.parent.AppContext;
... ... @@ -27,6 +28,8 @@ import com.shunzhi.parent.bean.NIMLoginResultBean;
27 28 import com.shunzhi.parent.bean.message.PHMessage;
28 29 import com.shunzhi.parent.bean.message.PHMessageDao;
29 30 import com.shunzhi.parent.bean.message.PHMessageSession;
  31 +import com.shunzhi.parent.db.DBMessageController;
  32 +import com.shunzhi.parent.db.Messages;
30 33 import com.shunzhi.parent.ui.MainActivity;
31 34 import com.shunzhi.parent.ui.activity.LoginAndRegistActivity;
32 35 import com.shunzhi.parent.ui.service.BadgeIntentService;
... ... @@ -61,14 +64,14 @@ public class MessageManager {
61 64 private Observer<List<IMMessage>> messageObserver = new Observer<List<IMMessage>>() {
62 65 @Override
63 66 public void onEvent(List<IMMessage> imMessages) {
64   - Log.d("77777","IMMessage="+imMessages.toString());
  67 +// Log.d("77777", "IMMessage=" + imMessages.toString());
65 68 onMessageReceive(imMessages);
66 69 }
67 70 };
68 71 private Observer<CustomNotification> customNotificationObserver = new Observer<CustomNotification>() {
69 72 @Override
70 73 public void onEvent(CustomNotification customNotification) {
71   - Log.d("77777","customNotification="+customNotification.getContent());
  74 +// Log.d("77777", "customNotification=" + customNotification.getContent());
72 75 onCustomNotificationReceive(customNotification);
73 76 }
74 77 };
... ... @@ -107,6 +110,38 @@ public class MessageManager {
107 110 String uuid = json.optString("msgId");
108 111 Timber.d("onCustomNotificationReceive%s", "json=" + json.toString());
109 112 if ("homework".equals(type)) {
  113 + Messages messages = new Messages();
  114 + messages.msgId = uuid;
  115 + messages.title = json.optString("title");
  116 + messages.type = 0;
  117 + messages.userid = json.optString("userid");
  118 + messages.isRead="false";
  119 + messages.date= DateUtils.dateFormat(new Date(),"yyyy年MM月dd日");
  120 + notifyNotification(uuid, DBMessageController.getInstance(AppContext.getContext()).addMessages(messages), "收到一条作业通知");
  121 + } else if ("attend".equals(type)) {
  122 + Messages messages = new Messages();
  123 + messages.msgId = uuid;
  124 + messages.title = json.optString("title");
  125 + messages.type = 1;
  126 + messages.userid = json.optString("userid");
  127 + messages.isRead="false";
  128 + messages.date= DateUtils.dateFormat(new Date(),"yyyy年MM月dd日");
  129 + notifyNotification(uuid, DBMessageController.getInstance(AppContext.getContext()).addMessages(messages), "收到一条考勤通知");
  130 + }
  131 + } catch (JSONException e) {
  132 + e.printStackTrace();
  133 + }
  134 + }
  135 +
  136 + /*private void onCustomNotificationReceive(CustomNotification customNotification) {
  137 + Timber.d("sss-==" + customNotification.getContent());
  138 + try {
  139 + JSONObject json = new JSONObject(customNotification.getContent());
  140 + Timber.d("sss-==" + json.toString());
  141 + String type = json.optString("type");
  142 + String uuid = json.optString("msgId");
  143 + Timber.d("onCustomNotificationReceive%s", "json=" + json.toString());
  144 + if ("homework".equals(type)) {
110 145 PHMessageSession session = PHMessageSession.findAndCreateSession(PHMessageSession.sessionType_homework, true);
111 146 session.setSessionName("作业通知");
112 147 session.setDate(new Date(customNotification.getTime()));
... ... @@ -144,13 +179,14 @@ public class MessageManager {
144 179 } catch (JSONException e) {
145 180 e.printStackTrace();
146 181 }
147   - }
  182 + }*/
148 183  
149 184 public void notifyNotification(String uuid, long msgLongId, String text) {
150 185 if (!isNotiNotification) {
151   - return;
  186 +// return;
152 187 }
153   - int notificationCount = (int) PHMessage.findUnreadNotificationCount();//XSTMessage.findUnreadNotificationCount();
  188 +// int notificationCount = (int) PHMessage.findUnreadNotificationCount();//XSTMessage.findUnreadNotificationCount();
  189 + int notificationCount=DBMessageController.getInstance(AppContext.getContext()).getMessagesCountsAllNoRead();
154 190 boolean setBadgerSuccessful = ShortcutBadger.applyCount(AppContext.getInstance(), notificationCount);
155 191 Timber.i("----== notificationCount : %s ,setBadgerSuccessful : %s", notificationCount, setBadgerSuccessful);
156 192 if (!setBadgerSuccessful) {
... ...
app/src/main/java/com/shunzhi/parent/presenter/loginandregister/LoginAndRegisterPresenter.java
... ... @@ -157,6 +157,7 @@ public class LoginAndRegisterPresenter extends LoginAndRegisterContract.LoginPre
157 157 mRxManager.register(mIModel.getUserInfo(mobile, school_id, captcha).subscribe(new Consumer<UserInfo>() {
158 158 @Override
159 159 public void accept(UserInfo userInfo) throws Exception {
  160 + Log.d("77777","userInfo="+userInfo);
160 161 if (userInfo != null) {
161 162 CurrentBean currentBean = userInfo.getData();
162 163 AppConfig.getAppConfig(AppContext.getInstance()).set(AppConfig.LOGIN_NAME, currentBean.getMobile());
... ...
app/src/main/java/com/shunzhi/parent/ui/activity/message/MesageActivity.java
1 1 package com.shunzhi.parent.ui.activity.message;
2 2  
  3 +import android.graphics.Color;
3 4 import android.os.Bundle;
4 5 import android.support.v7.widget.LinearLayoutManager;
5 6 import android.support.v7.widget.RecyclerView;
  7 +import android.text.SpannableString;
  8 +import android.text.Spanned;
  9 +import android.text.SpannedString;
  10 +import android.text.style.ForegroundColorSpan;
6 11 import android.view.LayoutInflater;
7 12 import android.view.View;
8 13 import android.view.ViewGroup;
... ... @@ -16,6 +21,8 @@ import com.share.mvpsdk.utils.DateUtils;
16 21 import com.shunzhi.parent.AppContext;
17 22 import com.shunzhi.parent.R;
18 23 import com.shunzhi.parent.bean.message.PHMessage;
  24 +import com.shunzhi.parent.db.DBMessageController;
  25 +import com.shunzhi.parent.db.Messages;
19 26  
20 27 import java.util.ArrayList;
21 28 import java.util.List;
... ... @@ -26,9 +33,9 @@ public class MesageActivity extends BaseCompatActivity implements View.OnClickLi
26 33  
27 34 ImageView iv_back;
28 35  
29   - MEssageAdapter mEssageAdapter=null;
  36 + MEssageAdapter mEssageAdapter = null;
30 37  
31   - List<PHMessage> phMessages=new ArrayList<>();
  38 + List<Messages> phMessages = new ArrayList<>();
32 39  
33 40 @Override
34 41 protected void initView(Bundle savedInstanceState) {
... ... @@ -49,11 +56,11 @@ public class MesageActivity extends BaseCompatActivity implements View.OnClickLi
49 56  
50 57 private void initAdapter() {
51 58  
52   - if (null==mEssageAdapter)mEssageAdapter=new MEssageAdapter();
53   - if (null==recyclerView.getAdapter())recyclerView.setAdapter(mEssageAdapter);
  59 + if (null == mEssageAdapter) mEssageAdapter = new MEssageAdapter();
  60 + if (null == recyclerView.getAdapter()) recyclerView.setAdapter(mEssageAdapter);
54 61  
55   -
56   - phMessages= AppContext.getInstance().getDaoSession().getPHMessageDao().loadAll();
  62 +// phMessages= AppContext.getInstance().getDaoSession().getPHMessageDao().loadAll();
  63 + phMessages = DBMessageController.getInstance(this).getAllMessages();
57 64 mEssageAdapter.addAll(phMessages);
58 65 recyclerView.setAdapter(mEssageAdapter);
59 66  
... ... @@ -73,8 +80,7 @@ public class MesageActivity extends BaseCompatActivity implements View.OnClickLi
73 80 }
74 81 }
75 82  
76   -
77   - private class MEssageAdapter extends BaseRecyclerViewAdapter<PHMessage> {
  83 + private class MEssageAdapter extends BaseRecyclerViewAdapter<Messages> {
78 84  
79 85 @Override
80 86 public void onAttachedToRecyclerView(RecyclerView recyclerView) {
... ... @@ -93,28 +99,45 @@ public class MesageActivity extends BaseCompatActivity implements View.OnClickLi
93 99 return messageViewHolder;
94 100 }
95 101  
96   - private class MessageViewHolder extends BaseRecyclerViewHolder<PHMessage> {
  102 + private class MessageViewHolder extends BaseRecyclerViewHolder<Messages> {
97 103  
98   - TextView tvMessageContent, tvDate;
  104 + TextView tvMessageContent, tvDate, tvLookDetail;
99 105 List<String> dateString = new ArrayList<>();
  106 + String indexDate = "";
100 107  
101 108 public MessageViewHolder(View itemView) {
102 109 super(itemView);
103 110 tvMessageContent = itemView.findViewById(R.id.tvMessageContent);
104 111 tvDate = itemView.findViewById(R.id.tvDate);
  112 + tvLookDetail = itemView.findViewById(R.id.tvLookDetail);
105 113 }
106 114  
107 115 @Override
108   - public void onBindViewHolder(PHMessage object, int position) {
109   - tvMessageContent.setText(object.getMessageText());
110   - String date = DateUtils.date2str(object.getDate(), "yyyyMMDD");
111   - if (!dateString.contains(date)) {
112   - dateString.add(date);
113   - tvDate.setText(date);
  116 + public void onBindViewHolder(Messages object, int position) {
  117 +
  118 + String typeName = "";
  119 + if (object.type == 0) typeName = "作业通知:";
  120 + else if (object.type == 1) typeName = "考勤通知:";
  121 + else if (object.type == 2) tvLookDetail.setVisibility(View.VISIBLE);
  122 + typeName += object.title;
  123 + SpannableString spannableString = new SpannableString(typeName);
  124 + ForegroundColorSpan colorSpan = new ForegroundColorSpan(Color.parseColor("#ff0000"));
  125 + spannableString.setSpan(colorSpan, 0, 5, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
  126 + tvMessageContent.setText(spannableString);
  127 + if (indexDate.equals(object.date)) tvDate.setVisibility(View.GONE);
  128 + else {
  129 + indexDate = object.date;
114 130 tvDate.setVisibility(View.VISIBLE);
115   - }else {
116   - tvDate.setVisibility(View.GONE);
117 131 }
  132 + if (object.date.equals("false")) tvDate.setText("");
  133 + else tvDate.setText(object.date);
  134 + tvLookDetail.setOnClickListener(new View.OnClickListener() {
  135 + @Override
  136 + public void onClick(View view) {
  137 + //查看请假详情
  138 +
  139 + }
  140 + });
118 141  
119 142 }
120 143 }
... ...
app/src/main/java/com/shunzhi/parent/ui/fragment/MineFragment.java
... ... @@ -23,6 +23,7 @@ import com.shunzhi.parent.R;
23 23 import com.shunzhi.parent.bean.message.PHMessage;
24 24 import com.shunzhi.parent.contract.loginandregister.LoginAndRegisterContract;
25 25 import com.shunzhi.parent.contract.mine.MineContract;
  26 +import com.shunzhi.parent.db.DBMessageController;
26 27 import com.shunzhi.parent.manager.MessageManager;
27 28 import com.shunzhi.parent.manager.UpdateManager;
28 29 import com.shunzhi.parent.presenter.mine.MinePresenter;
... ... @@ -92,7 +93,7 @@ public class MineFragment extends BaseMVPCompatFragment&lt;LoginAndRegisterContract
92 93 view.findViewById(R.id.testEnter).setVisibility(View.GONE);
93 94 }
94 95  
95   - tvMessageCount.setText(PHMessage.findUnreadNotificationCount() + "");
  96 +// tvMessageCount.setText(PHMessage.findUnreadNotificationCount() + "");
96 97  
97 98 }
98 99  
... ... @@ -131,6 +132,7 @@ public class MineFragment extends BaseMVPCompatFragment&lt;LoginAndRegisterContract
131 132 layout_afterLogin.setVisibility(View.GONE);
132 133 tvExit.setVisibility(View.GONE);
133 134 }
  135 + tvMessageCount.setText(DBMessageController.getInstance(getContext()).getMessagesCountsAllNoRead() + "");
134 136 }
135 137  
136 138  
... ... @@ -139,6 +141,7 @@ public class MineFragment extends BaseMVPCompatFragment&lt;LoginAndRegisterContract
139 141 switch (v.getId()) {
140 142 case R.id.layout_message:
141 143 startNewActivity(MesageActivity.class);
  144 + DBMessageController.getInstance(getContext()).setMeaasgesRead();
142 145 break;
143 146 case R.id.childlayout:
144 147 startActivity(new Intent().setClass(getActivity(), MyChildActivity.class));
... ...
app/src/main/res/layout/item_message.xml
1 1 <?xml version="1.0" encoding="utf-8"?>
2 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 3 android:layout_width="match_parent"
  4 + android:layout_height="wrap_content"
4 5 android:background="@color/bgColor"
5   - android:orientation="vertical"
6   - android:layout_height="match_parent">
  6 + android:layout_marginTop="@dimen/size_dp_10"
  7 + android:orientation="vertical">
7 8  
8 9 <TextView
  10 + android:id="@+id/tvDate"
9 11 android:layout_width="wrap_content"
10 12 android:layout_height="wrap_content"
11   - android:textColor="@color/textColor"
12   - android:textSize="@dimen/size_dp_16"
13   - android:text=""
14   - android:id="@+id/tvDate"
15 13 android:layout_marginBottom="@dimen/size_dp_5"
16   - />
  14 + android:text=""
  15 + android:textColor="@color/textColor"
  16 + android:textSize="@dimen/size_dp_16" />
  17 +
  18 +
  19 + <LinearLayout
  20 + android:orientation="vertical"
  21 + android:layout_width="match_parent"
  22 + android:layout_height="wrap_content"
  23 + android:padding="@dimen/size_dp_10"
  24 + android:background="@color/white">
17 25  
18 26 <TextView
  27 + android:id="@+id/tvMessageContent"
19 28 android:layout_width="match_parent"
20 29 android:layout_height="wrap_content"
  30 + android:ellipsize="end"
21 31 android:maxLines="2"
22   - android:textSize="@dimen/textSize14"
23 32 android:textColor="@color/textColor"
24   - android:background="@color/white"
25   - android:padding="@dimen/size_dp_5"
26   - android:ellipsize="end"
27   - android:id="@+id/tvMessageContent"
28   - />
29   - <View
  33 + android:textSize="@dimen/textSize14" />
  34 +
  35 + <TextView
  36 + android:id="@+id/tvLookDetail"
  37 + android:visibility="gone"
30 38 android:layout_width="match_parent"
31   - android:layout_height="0.5dp"
32   - android:background="@color/gray"
33   - />
  39 + android:gravity="right"
  40 + android:paddingRight="@dimen/size_dp_15"
  41 + android:paddingTop="@dimen/size_dp_5"
  42 + android:paddingBottom="@dimen/size_dp_5"
  43 + android:layout_height="wrap_content"
  44 + android:layout_gravity="right"
  45 + android:text="点击查看"
  46 + android:textColor="@color/xueqing_blue"
  47 + android:textSize="@dimen/size_dp_16" />
  48 +
  49 + </LinearLayout>
  50 +
  51 +
  52 + <View
  53 + android:layout_width="match_parent"
  54 + android:layout_height="0.5dp"
  55 + android:background="@color/gray" />
34 56 </LinearLayout>
35 57 \ No newline at end of file
... ...
mvpsdk/src/main/java/com/share/mvpsdk/utils/DBUtils.java
... ... @@ -17,7 +17,8 @@ import com.share.mvpsdk.config.DBConfig;
17 17 */
18 18 public class DBUtils {
19 19 public static final String CREATE_TABLE_IF_NOT_EXISTS = "create table if not exists %s " +
20   - "(id integer primary key autoincrement,key text unique,is_read integer)";
  20 + "(id integer primary key autoincrement,title text unique,image text)";
  21 +
21 22  
22 23 private static DBUtils sDBUtis;
23 24 private SQLiteDatabase mSQLiteDatabase;
... ... @@ -79,6 +80,10 @@ public class DBUtils {
79 80 return isRead;
80 81 }
81 82  
  83 + public void insert(String table,String key,String value){
  84 +
  85 + }
  86 +
82 87 public class DBHelper extends SQLiteOpenHelper {
83 88  
84 89 public DBHelper(Context context, String name) {
... ...
mvpsdk/src/main/java/com/share/mvpsdk/utils/DateUtils.java
... ... @@ -69,6 +69,11 @@ public class DateUtils {
69 69 return date.split(PATTERN_SPLIT)[0];
70 70 }
71 71  
  72 + public static String dateFormat(Date date,String fomart){
  73 + SimpleDateFormat simpleDateFormat=new SimpleDateFormat(fomart);
  74 + return simpleDateFormat.format(date);
  75 + }
  76 +
72 77 /**
73 78 * 原有日期上累加月
74 79 *
... ...