예제 #1
0
파일: LogsDAO.java 프로젝트: 0x4ec7/Logs
  /**
   * @Title: refreshRecords @Description: refresh records in database
   *
   * @return boolean operation result
   * @throws
   */
  public boolean refreshRecords() {
    SQLiteDatabase db = dbOpenHelper.getWritableDatabase();
    String sql = "SELECT uid, date FROM logs ORDER BY date";
    Cursor cursor = null;
    try {
      cursor = db.rawQuery(sql, null);

      while (cursor.moveToNext()) {
        String uid = cursor.getString(cursor.getColumnIndex("uid"));
        long date = Long.parseLong(cursor.getString(cursor.getColumnIndex("date")));
        if (!Utils.isFileExists(uid, date)) {
          //					updateRecordState(uid, RecordState.DELETED);
          deleteLogByUid(uid);
        }
      }

    } catch (SQLException e) {
      e.printStackTrace();
      return false;
    } finally {
      if (cursor != null && !cursor.isClosed()) {
        cursor.close();
      }
      if (db != null && db.isOpen()) {
        db.close();
      }
    }
    return true;
  }
예제 #2
0
파일: LogsDAO.java 프로젝트: 0x4ec7/Logs
 /**
  * @Title: insertNewLog @Description: insert new log to database
  *
  * @param callLog MyCallLog instance
  * @param recordFlagState is record exists
  * @param recordState record storage state
  * @return boolean operation result
  * @throws
  */
 public boolean insertNewLog(
     MyCallLog callLog, RecordFlagState recordFlagState, RecordState recordState) {
   SQLiteDatabase db = dbOpenHelper.getWritableDatabase();
   String sql =
       "INSERT INTO logs (name, number, duration, date, type, uid, record_flag, log_state_flag, record_state_flag) VALUES(?, ?, ?, ?, ?, ?, ?, 0, ?)";
   try {
     db.execSQL(
         sql,
         new Object[] {
           callLog.getName(),
           callLog.getNumber(),
           callLog.getDuration(),
           callLog.getDate(),
           callLog.getCallType().ordinal(),
           Check.getCRC32(callLog),
           recordFlagState.ordinal(),
           recordState.ordinal()
         });
   } catch (SQLException e) {
     e.printStackTrace();
     return false;
   } finally {
     if (db != null && db.isOpen()) {
       db.close();
     }
   }
   return true;
 }
예제 #3
0
 @Override
 protected void setUp() throws Exception {
   RenamingDelegatingContext context = new RenamingDelegatingContext(getContext(), "test");
   DbOpenHelper dbOpenHelper = new DbOpenHelper(context);
   db = dbOpenHelper.getWritableDatabase();
   db.beginTransaction();
   asteroidsDAO = new AsteroidsDAO(db);
 }
예제 #4
0
 /**
  * 保存一个联系人
  *
  * @param user
  */
 public void saveContact(User user) {
   SQLiteDatabase db = dbHelper.getWritableDatabase();
   ContentValues values = new ContentValues();
   values.put(COLUMN_NAME_ID, user.getUsername());
   if (user.getNick() != null) values.put(COLUMN_NAME_NICK, user.getNick());
   if (user.getAvatar() != null) values.put(COLUMN_NAME_AVATAR, user.getAvatar());
   if (db.isOpen()) {
     db.replace(TABLE_NAME, null, values);
   }
 }
예제 #5
0
  /**
   * Throws SprinklesNotInitializedException if you try to access the database before initializing
   * Sprinkles.
   *
   * @return the SQL Database used by Sprinkles.
   */
  public static SQLiteDatabase getDatabase() {
    if (sInstance == null) {
      throw new SprinklesNotInitializedException();
    }

    if (sDatabase == null) {
      DbOpenHelper dbOpenHelper =
          new DbOpenHelper(
              sInstance.mContext, sInstance.databaseName, sInstance.initialDatabaseVersion);
      sDatabase = dbOpenHelper.getWritableDatabase();
    }

    return sDatabase;
  }
예제 #6
0
파일: LogsDAO.java 프로젝트: 0x4ec7/Logs
 /**
  * @Title: deleteLogByUid @Description: delete log by uid
  *
  * @param uid unique id of the log to be deleted
  * @return boolean operation result
  * @throws
  */
 public boolean deleteLogByUid(String uid) {
   SQLiteDatabase db = dbOpenHelper.getWritableDatabase();
   String sql = "DELETE FROM logs WHERE uid = \"" + uid + "\"";
   try {
     db.execSQL(sql);
   } catch (SQLException e) {
     e.printStackTrace();
     return false;
   } finally {
     if (db != null && db.isOpen()) {
       db.close();
     }
   }
   return true;
 }
예제 #7
0
파일: LogsDAO.java 프로젝트: 0x4ec7/Logs
 /**
  * @Title: updateRecordState @Description: update record state
  *
  * @param uid the unique id of the record
  * @param state the state to set
  * @return boolean operation result
  * @throws
  */
 public boolean updateRecordState(String uid, RecordState state) {
   SQLiteDatabase db = dbOpenHelper.getWritableDatabase();
   String sql =
       "UPDATE logs SET record_state_flag = " + state.ordinal() + " WHERE uid = \"" + uid + "\"";
   try {
     db.execSQL(sql);
   } catch (SQLException e) {
     e.printStackTrace();
     return false;
   } finally {
     if (db != null && db.isOpen()) {
       db.close();
     }
   }
   return true;
 }
  /**
   * 保存message
   *
   * @param message
   * @return 返回这条messaged在db中的id
   */
  public synchronized Integer saveMessage(InviteMessage message) {
    SQLiteDatabase db = dbHelper.getWritableDatabase();
    int id = -1;
    if (db.isOpen()) {
      ContentValues values = new ContentValues();
      values.put(COLUMN_NAME_FROM, message.getFrom());
      values.put(COLUMN_NAME_GROUP_ID, message.getGroupId());
      values.put(COLUMN_NAME_GROUP_Name, message.getGroupName());
      values.put(COLUMN_NAME_REASON, message.getReason());
      values.put(COLUMN_NAME_TIME, message.getTime());
      values.put(COLUMN_NAME_STATUS, message.getStatus().ordinal());
      db.insert(TABLE_NAME, null, values);

      Cursor cursor = db.rawQuery("select last_insert_rowid() from " + TABLE_NAME, null);
      if (cursor.moveToFirst()) {
        id = cursor.getInt(0);
      }
    }
    return id;
  }
예제 #9
0
파일: LogsDAO.java 프로젝트: 0x4ec7/Logs
  /**
   * @Title: updateLogs @Description: update logs
   *
   * @param callLogs call logs to update
   * @return boolean the result of the operation
   * @throws
   */
  @Deprecated
  public boolean updateLogs(List<MyCallLog> callLogs) {
    SQLiteDatabase db = dbOpenHelper.getWritableDatabase();
    String sql = "SELECT uid, date FROM logs ORDER BY date";
    Cursor cursor = null;
    try {
      cursor = db.rawQuery(sql, null);

      List<String> uids = new ArrayList<String>();
      // update log_state
      while (cursor.moveToNext()) {
        String uid = cursor.getString(cursor.getColumnIndex("uid"));
        uids.add(uid);
        if (!Utils.containsUid(uid, callLogs)) {
          updateLogState(uid, LogState.ONLY_LOCAL);
        }
      }

      // insert new logs into table
      for (MyCallLog callLog : callLogs) {
        String tmp = Check.getCRC32(callLog);
        if (!uids.contains(tmp)) {
          insertNewLog(callLog);
        }
      }

    } catch (SQLException e) {
      e.printStackTrace();
      return false;
    } finally {
      if (cursor != null && !cursor.isClosed()) {
        cursor.close();
      }
      if (db != null && db.isOpen()) {
        db.close();
      }
    }
    return true;
  }
 public SqliteJobQueue(Configuration configuration, long sessionId, JobSerializer serializer) {
   this.sessionId = sessionId;
   jobStorage = new FileStorage(configuration.getAppContext(), "jobs_" + configuration.getId());
   whereQueryCache = new WhereQueryCache(sessionId);
   dbOpenHelper =
       new DbOpenHelper(
           configuration.getAppContext(),
           configuration.isInTestMode() ? null : ("db_" + configuration.getId()));
   db = dbOpenHelper.getWritableDatabase();
   sqlHelper =
       new SqlHelper(
           db,
           DbOpenHelper.JOB_HOLDER_TABLE_NAME,
           DbOpenHelper.ID_COLUMN.columnName,
           DbOpenHelper.COLUMN_COUNT,
           DbOpenHelper.JOB_TAGS_TABLE_NAME,
           DbOpenHelper.TAGS_COLUMN_COUNT,
           sessionId);
   this.jobSerializer = serializer;
   if (configuration.resetDelaysOnRestart()) {
     sqlHelper.resetDelayTimesTo(JobManager.NOT_DELAYED_JOB_DELAY);
   }
   cleanupFiles();
 }
 /**
  * 更新message
  *
  * @param msgId
  * @param values
  */
 public void updateMessage(int msgId, ContentValues values) {
   SQLiteDatabase db = dbHelper.getWritableDatabase();
   if (db.isOpen()) {
     db.update(TABLE_NAME, values, COLUMN_NAME_ID + " = ?", new String[] {String.valueOf(msgId)});
   }
 }
 public void deleteMessage(String from) {
   SQLiteDatabase db = dbHelper.getWritableDatabase();
   if (db.isOpen()) {
     db.delete(TABLE_NAME, COLUMN_NAME_FROM + " = ?", new String[] {from});
   }
 }
예제 #13
0
 /**
  * 删除一个联系人
  *
  * @param username
  */
 public void deleteContact(String username) {
   SQLiteDatabase db = dbHelper.getWritableDatabase();
   if (db.isOpen()) {
     db.delete(TABLE_NAME, COLUMN_NAME_ID + " = ?", new String[] {username});
   }
 }