/**
   * 获取所有分组列表
   *
   * @return
   */
  public Vector<ReceiveMessage> getMessageList() {
    messagelist.removeAllElements();
    try {
      String[] cols = new String[] {MESSAGE_TEXT, MESSAGE_STATE, RECEIVE_TIME};
      if (db.isTableExits(db.getConnection(), MESSAGE_DB)) {

      } else {
        initMessageTable();
      }
      System.out.println("table  name" + MESSAGE_DB);
      Cursor cursor = db.getConnection().query(MESSAGE_DB, cols, null, null, null, null, null);
      while (cursor.moveToNext()) {
        ReceiveMessage msg = new ReceiveMessage();
        msg.message = cursor.getString(cursor.getColumnIndex(MESSAGE_TEXT));
        msg.state = Integer.parseInt(cursor.getString(cursor.getColumnIndex(MESSAGE_STATE)));
        msg.time = cursor.getString(cursor.getColumnIndex(RECEIVE_TIME));
        messagelist.add(msg);
      }

      cursor.close();
    } catch (Exception e) {
      e.printStackTrace();
    } finally {
      if (db.getConnection().isOpen()) {
        db.closeConnection(db.getConnection());
      }
    }
    return this.messagelist;
  }
 /**
  * 删除一条记录
  *
  * @param
  */
 public void deleteMessage(String key) {
   try {
     db.delete(db.getConnection(), MESSAGE_DB, RECEIVE_TIME + "=?", new String[] {key});
   } catch (Exception e) {
     e.printStackTrace();
   } finally {
     if (db.getConnection().isOpen()) {
       db.closeConnection(db.getConnection());
     }
   }
 }
 /**
  * 添加一条消息
  *
  * @param msg
  */
 public void addOneMessage(ReceiveMessage msg) {
   try {
     ContentValues cv = new ContentValues();
     cv.put(MESSAGE_TEXT, msg.message);
     cv.put(MESSAGE_STATE, msg.state);
     cv.put(RECEIVE_TIME, msg.time);
     db.save(db.getConnection(), MESSAGE_DB, cv);
   } catch (Exception e) {
     e.printStackTrace();
   } finally {
     if (db.getConnection().isOpen()) {
       db.closeConnection(db.getConnection());
     }
   }
 }
 /**
  * 修改,更新一条记录
  *
  * @param groupid
  */
 public void updateMessage(ReceiveMessage msg) {
   try {
     ContentValues values = new ContentValues();
     values.put(MESSAGE_TEXT, msg.message);
     values.put(MESSAGE_STATE, msg.state);
     values.put(RECEIVE_TIME, msg.time);
     db.update(
         db.getConnection(), MESSAGE_DB, values, RECEIVE_TIME + "=?", new String[] {msg.time});
   } catch (Exception e) {
     e.printStackTrace();
   } finally {
     if (db.getConnection().isOpen()) {
       db.closeConnection(db.getConnection());
     }
   }
 }
 /** 批量添加 */
 public void saveMessageList(Vector<ReceiveMessage> list) {
   try {
     for (int i = 0; i < list.size(); i++) {
       ReceiveMessage msg = list.elementAt(i);
       ContentValues cv = new ContentValues();
       cv.put(MESSAGE_TEXT, msg.message);
       cv.put(MESSAGE_STATE, msg.state);
       cv.put(RECEIVE_TIME, msg.time);
       db.save(db.getConnection(), MESSAGE_DB, cv);
     }
   } catch (Exception e) {
     e.printStackTrace();
   } finally {
     if (db.getConnection().isOpen()) {
       db.closeConnection(db.getConnection());
     }
   }
 }
 /** 初始新建表 */
 public void initMessageTable() {
   String createSQL =
       "CREATE TABLE IF NOT EXISTS "
           + MESSAGE_DB
           + " ("
           + MESSAGE_STATE
           + " VARCHAR,"
           + MESSAGE_TEXT
           + " VARCHAR,"
           + RECEIVE_TIME
           + " VARCHAR"
           + ")";
   try {
     db.creatTable(db.getConnection(), createSQL);
   } catch (Exception e) {
     e.printStackTrace();
   } finally {
     if (db.getConnection().isOpen()) {
       db.closeConnection(db.getConnection());
     }
   }
 }
  public MessageTableManager(Context context, String time) {
    db = new BaseDB(context);
    time = time.replaceAll("-", "_"); // 数据库名不用有特殊符号和中文,因此先做替换操作
    MESSAGE_DB = MESSAGE_DB + "_" + time.substring(0, 10); // 将日期截取做为表名,如2011_06_10
    isNewInstall = true;
    try {
      if (db.isTableExits(db.getConnection(), MESSAGE_DB)) {
        Cursor cursor =
            db.getConnection()
                .query(
                    MESSAGE_DB,
                    new String[] {MESSAGE_STATE, MESSAGE_TEXT, RECEIVE_TIME},
                    null,
                    null,
                    null,
                    null,
                    null);
        if (cursor != null) {
          while (cursor.moveToNext()) {
            isNewInstall = false;
          }
        }
        cursor.close();
        db.closeConnection(db.getConnection());
      }
      if (isNewInstall) {

        initMessageTable();
      }
    } catch (Exception e) {
      e.printStackTrace();
    } finally {
      if (db.getConnection().isOpen()) {
        db.closeConnection(db.getConnection());
      }
    }
  }
 /** 删除所有数据 */
 public void deleteTable() {
   db.deleteTable(db.getConnection(), MESSAGE_DB);
 }