Browse Source

订阅号添加数据库

gongpm 10 years ago
parent
commit
d0709596a9

+ 0 - 89
WeiChat/src/main/java/com/xzjmyk/pm/activity/bean/message/SubscriptionBean.java

@@ -1,89 +0,0 @@
-package com.xzjmyk.pm.activity.bean.message;
-
-import java.util.ArrayList;
-
-/**
- * Created by gongpm on 2016/6/3.
- */
-public class SubscriptionBean {
-
-    private String time;//消息时间
-    private int size;  //当天消息列表
-    private ArrayList<SubscriptionMessage> SubscriptionMessages; //当天消息列表
-
-    public String getTime() {
-        return time;
-    }
-
-    public void setTime(String time) {
-        this.time = time;
-    }
-
-    public int getSize() {
-        return size;
-    }
-
-    public void setSize(int size) {
-        this.size = size;
-    }
-
-    public ArrayList<SubscriptionMessage> getSubscriptionMessages() {
-        return SubscriptionMessages;
-    }
-
-    public void setSubscriptionMessages(ArrayList<SubscriptionMessage> subscriptionMessages) {
-        SubscriptionMessages = subscriptionMessages;
-    }
-
-    public SubscriptionMessage getSubscriptionMessage() {
-        return new SubscriptionMessage();
-    }
-
-    public class SubscriptionMessage {
-        private String title;
-        private String sub;//简介
-        private String ImgUrl;//图片网址
-        private String url;
-        private int tag;  //标识(1为大图 else 为小图)
-
-        public String getTitle() {
-            return title;
-        }
-
-        public void setTitle(String title) {
-            this.title = title;
-        }
-
-        public String getSub() {
-            return sub;
-        }
-
-        public void setSub(String sub) {
-            this.sub = sub;
-        }
-
-        public String getImgUrl() {
-            return ImgUrl;
-        }
-
-        public void setImgUrl(String imgUrl) {
-            ImgUrl = imgUrl;
-        }
-
-        public String getUrl() {
-            return url;
-        }
-
-        public void setUrl(String url) {
-            this.url = url;
-        }
-
-        public int getTag() {
-            return tag;
-        }
-
-        public void setTag(int tag) {
-            this.tag = tag;
-        }
-    }
-}

+ 171 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/bean/message/SubscriptionMessage.java

@@ -0,0 +1,171 @@
+package com.xzjmyk.pm.activity.bean.message;
+
+import android.os.Parcel;
+import android.os.Parcelable;
+
+import java.util.ArrayList;
+
+/**
+ * Created by gongpm on 2016/6/3.
+ */
+public class SubscriptionMessage implements Parcelable {
+    private int id_;
+    private int num_id;        //订阅id
+    private int instance_id;   //实例id
+    private String createdate_; //创建时间
+    private String data_;      //数据
+    private String title_;
+    private String son_title_;  //合计标题
+    private int status;      //阅读状态
+
+    private ArrayList<SubscriptionBean> beans;
+
+    public SubscriptionMessage() {
+    }
+
+    protected SubscriptionMessage(Parcel in) {
+        id_ = in.readInt();
+        num_id = in.readInt();
+        instance_id = in.readInt();
+        createdate_ = in.readString();
+        data_ = in.readString();
+        title_ = in.readString();
+        son_title_ = in.readString();
+        status = in.readInt();
+    }
+
+    public static final Creator<SubscriptionMessage> CREATOR = new Creator<SubscriptionMessage>() {
+        @Override
+        public SubscriptionMessage createFromParcel(Parcel in) {
+            return new SubscriptionMessage(in);
+        }
+
+        @Override
+        public SubscriptionMessage[] newArray(int size) {
+            return new SubscriptionMessage[size];
+        }
+    };
+
+    public int getId_() {
+        return id_;
+    }
+
+    public void setId_(int id_) {
+        this.id_ = id_;
+    }
+
+    public int getNum_id() {
+        return num_id;
+    }
+
+    public void setNum_id(int num_id) {
+        this.num_id = num_id;
+    }
+
+    public int getInstance_id() {
+        return instance_id;
+    }
+
+    public void setInstance_id(int instance_id) {
+        this.instance_id = instance_id;
+    }
+
+    public String getCreatedate_() {
+        return createdate_;
+    }
+
+    public void setCreatedate_(String createdate_) {
+        this.createdate_ = createdate_;
+    }
+
+    public String getData_() {
+        return data_;
+    }
+
+    public void setData_(String data_) {
+        this.data_ = data_;
+    }
+
+    public String getTitle_() {
+        return title_;
+    }
+
+    public void setTitle_(String title_) {
+        this.title_ = title_;
+    }
+
+    public String getSon_title_() {
+        return son_title_;
+    }
+
+    public void setSon_title_(String son_title_) {
+        this.son_title_ = son_title_;
+    }
+
+    public int getStatus() {
+        return status;
+    }
+
+    public void setStatus(int status) {
+        this.status = status;
+    }
+
+    public ArrayList<SubscriptionBean> getBeans() {
+        return beans;
+    }
+
+    public void setBeans(ArrayList<SubscriptionBean> beans) {
+        this.beans = beans;
+    }
+
+    public SubscriptionBean getNewBean() {
+        return new SubscriptionBean();
+    }
+
+    @Override
+    public int describeContents() {
+        return 0;
+    }
+
+    @Override
+    public void writeToParcel(Parcel parcel, int i) {
+        parcel.writeInt(id_);
+        parcel.writeInt(num_id);
+        parcel.writeInt(instance_id);
+        parcel.writeString(createdate_);
+        parcel.writeString(data_);
+        parcel.writeString(title_);
+        parcel.writeString(son_title_);
+        parcel.writeInt(status);
+    }
+
+    public class SubscriptionBean {
+        private int id;
+        private String imageUrl;
+        private String subTitle;
+
+        public int getId() {
+            return id;
+        }
+
+        public void setId(int id) {
+            this.id = id;
+        }
+
+        public String getImageUrl() {
+            return imageUrl;
+        }
+
+        public void setImageUrl(String imageUrl) {
+            this.imageUrl = imageUrl;
+        }
+
+        public String getSubTitle() {
+            return subTitle;
+        }
+
+        public void setSubTitle(String subTitle) {
+            this.subTitle = subTitle;
+        }
+    }
+}

+ 31 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/db/OtherSqliteHelper.java

@@ -0,0 +1,31 @@
+package com.xzjmyk.pm.activity.db;
+
+import android.content.Context;
+import android.database.sqlite.SQLiteDatabase;
+import android.database.sqlite.SQLiteOpenHelper;
+
+/**
+ * 不使用框架的数据库帮助类
+ * Created by gongpm on 2016/6/7.
+ */
+public class OtherSqliteHelper extends SQLiteOpenHelper {
+    public static final String DATABASE_NAME = "other.db";
+    private static final int DATABASE_VERSION = 1;
+
+
+    public OtherSqliteHelper(Context context) {
+        super(context, DATABASE_NAME, null, DATABASE_VERSION);
+    }
+
+    @Override
+    public void onCreate(SQLiteDatabase sqLiteDatabase) {
+        String sql = "CREATE TABLE SubscriptionMessage(id_ PRIMARY KEY,num_id,instance_id ,createdate_,data_," +
+                "title_,son_title_,status)";
+        sqLiteDatabase.execSQL(sql);
+    }
+
+    @Override
+    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
+
+    }
+}

+ 2 - 3
WeiChat/src/main/java/com/xzjmyk/pm/activity/db/SQLiteHelper.java

@@ -9,14 +9,13 @@ import com.j256.ormlite.table.TableUtils;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.bean.AuthCode;
 import com.xzjmyk.pm.activity.bean.Company;
+import com.xzjmyk.pm.activity.bean.Friend;
 import com.xzjmyk.pm.activity.bean.MyPhoto;
+import com.xzjmyk.pm.activity.bean.User;
 import com.xzjmyk.pm.activity.bean.VideoFile;
 import com.xzjmyk.pm.activity.bean.circle.CircleMessage;
 import com.xzjmyk.pm.activity.bean.message.NewFriendMessage;
 
-import com.xzjmyk.pm.activity.bean.Friend;
-import com.xzjmyk.pm.activity.bean.User;
-
 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.IOException;

+ 0 - 3
WeiChat/src/main/java/com/xzjmyk/pm/activity/db/dao/FriendDao.java

@@ -750,9 +750,6 @@ public class FriendDao {
 		return null;
 
 	}
-
-
-
 	public List<Friend> getAllAttentions(String ownerId) {
 		try {
 			PreparedQuery<Friend> preparedQuery = friendDao.queryBuilder().where().eq("ownerId", ownerId).and().eq("status", Friend.STATUS_ATTENTION)

+ 131 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/db/dao/SubscriptionDao.java

@@ -0,0 +1,131 @@
+package com.xzjmyk.pm.activity.db.dao;
+
+import android.content.ContentValues;
+import android.database.Cursor;
+import android.database.SQLException;
+import android.database.sqlite.SQLiteDatabase;
+import android.util.Log;
+
+import com.xzjmyk.pm.activity.MyApplication;
+import com.xzjmyk.pm.activity.bean.message.SubscriptionMessage;
+import com.xzjmyk.pm.activity.db.OtherSqliteHelper;
+
+import java.util.ArrayList;
+
+/**
+ * Created by gongpm on 2016/6/7.
+ */
+public class SubscriptionDao {
+    private static SubscriptionDao instance = null;
+    private OtherSqliteHelper sqliteHelper;
+    private String titleName = "SubscriptionMessage";
+
+    private SubscriptionDao() {
+        sqliteHelper = new OtherSqliteHelper(MyApplication.getInstance());
+    }
+
+    public static SubscriptionDao getInstance() {
+        if (instance == null) {
+            synchronized (SubscriptionDao.class) {
+                instance = new SubscriptionDao();
+            }
+        }
+        return instance;
+    }
+
+    //添加多个数据
+    public long addMessage(ArrayList<SubscriptionMessage> messages) {
+        long k = 0;
+        SQLiteDatabase db = sqliteHelper.getWritableDatabase();
+        db.beginTransaction();
+        try {
+            ContentValues values;
+            String nullColumn = null;
+            SubscriptionMessage message = null;
+            for (int i = 0; i < messages.size(); i++) {
+                message = messages.get(i);
+                values = new ContentValues();
+                values.put("id_", message.getId_());
+                values.put("num_id", message.getNum_id());
+                values.put("instance_id", message.getInstance_id());
+                values.put("createdate_", message.getCreatedate_());
+                values.put("data_", message.getData_());
+                values.put("title_", message.getTitle_());
+                values.put("son_title_", message.getSon_title_());
+                values.put("status", message.getStatus());
+                k += db.insert(titleName, nullColumn, values);
+            }
+            db.setTransactionSuccessful();
+            return k;
+        } catch (android.database.SQLException e) {
+            e.printStackTrace();
+        } finally {
+            db.endTransaction();
+            db.close();
+        }
+        return 0;
+    }
+
+    //添加单个数据
+    public long addMessage(SubscriptionMessage message) {
+        long k = 0;
+        SQLiteDatabase db = sqliteHelper.getWritableDatabase();
+        db.beginTransaction();
+        try {
+            ContentValues values;
+            String nullColumn = null;
+            values = new ContentValues();
+            values.put("id_", message.getId_());
+            values.put("num_id", message.getNum_id());
+            values.put("instance_id", message.getInstance_id());
+            values.put("createdate_", message.getCreatedate_());
+            values.put("data_", message.getData_());
+            values.put("title_", message.getTitle_());
+            values.put("son_title_", message.getSon_title_());
+            values.put("status", message.getStatus());
+            k += db.insert(titleName, nullColumn, values);
+            db.setTransactionSuccessful();
+
+        } catch (SQLException e) {
+            Log.i("gong", e.getMessage());
+            e.printStackTrace();
+        } finally {
+            db.endTransaction();
+            db.close();
+        }
+        return k;
+    }
+
+    public ArrayList<SubscriptionMessage> findAll() {
+        ArrayList<SubscriptionMessage> messages = new ArrayList<>();
+        SQLiteDatabase db = sqliteHelper.getReadableDatabase();
+        String[] colums = {"id_", "num_id", "instance_id", "createdate_", "data_", "title_", "son_title_", "status"};
+        String selection = null;
+        String[] selectionArgs = null;
+        try {
+            SubscriptionMessage message = null;
+            Cursor values = db.query(titleName, colums, selection, selectionArgs, null, null, null);
+            Log.i("gong", "读取完成values=" + values.moveToNext());
+            while (values.moveToNext()) {
+                message = new SubscriptionMessage();
+                message.setId_(values.getInt(0));
+                message.setNum_id(values.getInt(1));
+                message.setInstance_id(values.getInt(2));
+                message.setCreatedate_(values.getString(3));
+                message.setData_(values.getString(4));
+                message.setTitle_(values.getString(5));
+                message.setSon_title_(values.getString(6));
+                message.setStatus(values.getInt(7));
+                messages.add(message);
+                Log.i("gong", "获取到一个");
+
+            }
+            return messages;
+        } catch (SQLException e) {
+            Log.i("gong", e.getMessage());
+        } finally {
+            db.close();
+        }
+        return null;
+    }
+}

+ 0 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/RoomInfoActivity.java

@@ -604,7 +604,6 @@ public class RoomInfoActivity extends BaseActivity {
         @Override
         public View getView(int position, View convertView, ViewGroup parent) {
             viewholder holder = null;
-
             if (convertView == null) {
                 convertView = LayoutInflater.from(mContext).inflate(R.layout.row_select_contacts, parent, false);
                 holder = new viewholder();
@@ -640,7 +639,6 @@ public class RoomInfoActivity extends BaseActivity {
             CheckBox cb;
         }
     }
-
     private void showNewNoticeDialog(final String notice) {
         final EditText editText = new EditText(this);
         editText.setLines(2);

+ 44 - 40
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/SubscriptionActivity.java

@@ -1,6 +1,7 @@
 package com.xzjmyk.pm.activity.ui.message;
 
 import android.os.Bundle;
+import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -13,7 +14,8 @@ import android.widget.TextView;
 
 import com.handmark.pulltorefresh.library.PullToRefreshListView;
 import com.xzjmyk.pm.activity.R;
-import com.xzjmyk.pm.activity.bean.message.SubscriptionBean;
+import com.xzjmyk.pm.activity.bean.message.SubscriptionMessage;
+import com.xzjmyk.pm.activity.db.dao.SubscriptionDao;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
 import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
 import com.xzjmyk.pm.activity.view.MyListView;
@@ -25,7 +27,7 @@ public class SubscriptionActivity extends BaseActivity {
     private static final int TAG_BIG = 1;
     private static final int TAG_SUB = 2;
     private PullToRefreshListView listView;
-    private ArrayList<SubscriptionBean> SubscriptionBeans;
+    private ArrayList<SubscriptionMessage> SubscriptionMessages;
     private SubscriptionAdapter adapter;
     private SubscriptionActivity activity = this;
 
@@ -39,31 +41,40 @@ public class SubscriptionActivity extends BaseActivity {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_subscription);
         initView();
-        init();//初始化数据
+        init2();//初始化数据
     }
-
     private void init() {
-        SubscriptionBean bean = null;
-        SubscriptionBeans = new ArrayList<>();
-        ArrayList<SubscriptionBean.SubscriptionMessage> messages = null;
-        for (int i = 0; i < 5; ) {
-            bean = new SubscriptionBean();
-            bean.setSize(5);
-            bean.setTime("2012-11-0" + (++i));
-            messages = new ArrayList<>();
-            for (int j = 0; j < 6; j++) {
-                SubscriptionBean.SubscriptionMessage message = bean.getSubscriptionMessage();
-                message.setImgUrl("https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=1642940013,2147239593&fm=111&gp=0.jpg");
-                message.setSub("这个一个测试信息:" + "其中j==" + j + "\ni==" + i);
-                message.setTag(j == 0 ? 1 : 2);
-                message.setUrl("ss");
-                messages.add(message);
+        //TODO 测试保存
+        SubscriptionMessages = new ArrayList<>();
+        SubscriptionMessage message = null;
+        for (int i = 0; i < 5; i++) {
+            message = new SubscriptionMessage();
+            message.setId_(i);
+            message.setData_("2016-10-0" + i);
+            message.setTitle_("这是标题" + i);
+            message.setSon_title_("这是副标题" + i);
+            message.setStatus(1);
+            message.setNum_id(101);
+            message.setInstance_id(101);
+            message.setCreatedate_("201120100");
+            ArrayList<SubscriptionMessage.SubscriptionBean> beans = new ArrayList<>();
+            for (int j = 0; j < 5; j++) {
+                SubscriptionMessage.SubscriptionBean bean = message.getNewBean();
+                bean.setId(j);
+                bean.setImageUrl("http://img0.bdstatic.com/img/image/shouye/xiaoxiao/%E5%8A%A8%E7%89%A9527.jpg");
+                bean.setSubTitle("设个是一个标题,关于内容的标题,是一个简介,第三行会议省略号形式出现" + j);
             }
-            bean.setSubscriptionMessages(messages);
-            SubscriptionBeans.add(bean);
+            message.setBeans(beans);
+            SubscriptionMessages.add(message);
         }
-        listView.getRefreshableView().setAdapter(adapter);
+        long i = SubscriptionDao.getInstance().addMessage(SubscriptionMessages);
+        Log.i("gongpengming", "i=" + i);
+    }
 
+    private void init2() {
+        SubscriptionMessages = SubscriptionDao.getInstance().findAll();
+        Log.i("gong", SubscriptionMessages.size() + "");
+        listView.setAdapter(adapter);
     }
 
     private void initView() {
@@ -71,17 +82,16 @@ public class SubscriptionActivity extends BaseActivity {
         adapter = new SubscriptionAdapter();
     }
 
-
     //外层list
     class SubscriptionAdapter extends BaseAdapter {
         @Override
         public int getCount() {
-            return SubscriptionBeans.size();
+            return SubscriptionMessages.size();
         }
 
         @Override
         public Object getItem(int position) {
-            return SubscriptionBeans.get(position);
+            return SubscriptionMessages.get(position);
         }
 
         @Override
@@ -98,18 +108,16 @@ public class SubscriptionActivity extends BaseActivity {
                 viewholder = new Viewholder();
                 viewholder.tvTime = (TextView) contextView.findViewById(R.id.tvTime);
                 viewholder.listview = (MyListView) contextView.findViewById(R.id.listview);
-                viewholder.adapter = new ListAdapter(SubscriptionBeans.get(position).getSubscriptionMessages());
+                viewholder.adapter = new ListAdapter(SubscriptionMessages.get(position).getBeans());
                 contextView.setTag(viewholder);
             } else {
                 viewholder = (Viewholder) contextView.getTag();
             }
-            viewholder.tvTime.setText(SubscriptionBeans.get(position).getTime());
+            viewholder.tvTime.setText(SubscriptionMessages.get(position).getData_());
             viewholder.listview.setAdapter(viewholder.adapter);
-            viewholder.listview.setTag(SubscriptionBeans.get(position));
             viewholder.listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                 @Override
                 public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
-                    SubscriptionBean.SubscriptionMessage bean = SubscriptionBeans.get(position).getSubscriptionMessages().get(i);
                     //TODO 点击跳到web页面
                     ViewUtil.WebLinks(activity, "http://blog.csdn.net/androidzhaoxiaogang/article/details/8797539", "测试");
                 }
@@ -129,20 +137,20 @@ public class SubscriptionActivity extends BaseActivity {
     //内层list
     class ListAdapter extends BaseAdapter {
 
-        private ArrayList<SubscriptionBean.SubscriptionMessage> SubscriptionMessages; //当天消息列表
+        private ArrayList<SubscriptionMessage.SubscriptionBean> beans; //当天消息列表
 
-        private ListAdapter(ArrayList<SubscriptionBean.SubscriptionMessage> SubscriptionMessages) {
-            this.SubscriptionMessages = SubscriptionMessages;
+        private ListAdapter(ArrayList<SubscriptionMessage.SubscriptionBean> beans) {
+            this.beans = beans;
         }
 
         @Override
         public int getCount() {
-            return SubscriptionMessages.size();
+            return beans.size();
         }
 
         @Override
         public Object getItem(int position) {
-            return SubscriptionMessages.get(position);
+            return beans.get(position);
         }
 
         @Override
@@ -150,10 +158,6 @@ public class SubscriptionActivity extends BaseActivity {
             return position;
         }
 
-        @Override
-        public int getItemViewType(int position) {
-            return SubscriptionMessages.get(position).getTag();
-        }
 
         @Override
         public View getView(int i, View contextView, ViewGroup viewGroup) {
@@ -174,11 +178,11 @@ public class SubscriptionActivity extends BaseActivity {
             if (getItemViewType(i) == TAG_BIG) {
                 holder.ll.setVisibility(View.GONE);
                 holder.rl.setVisibility(View.VISIBLE);
-                holder.big_tv.setText(SubscriptionMessages.get(i).getSub());
+                holder.big_tv.setText(beans.get(i).getSubTitle());
             } else {
                 holder.ll.setVisibility(View.VISIBLE);
                 holder.rl.setVisibility(View.GONE);
-                holder.small_tv.setText(SubscriptionMessages.get(i).getSub());
+                holder.small_tv.setText(beans.get(i).getSubTitle());
             }
             return contextView;
         }