コード例 #1
0
  /**
   * 获取所有分组列表
   *
   * @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;
  }
コード例 #2
0
  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());
      }
    }
  }