コード例 #1
0
 @Override
 public boolean add(HThread model) {
   mDatabase = mDbOpenHelper.getWritableDatabase();
   ContentValues cv = getValue(model);
   mDatabase.insert(TABLE_NAME, null, cv);
   mDatabase.close();
   return super.add(model);
 }
コード例 #2
0
 @Override
 public void add(int location, HThread model) {
   mDatabase = mDbOpenHelper.getWritableDatabase();
   ContentValues cv = getValue(model);
   mDatabase.insert(TABLE_NAME, ID, cv);
   mDatabase.close();
   super.add(location, model);
 }
コード例 #3
0
  public void updataDB(HSms sms, HSmsApplication application) {
    HLog.i("updata buffer list--------------------->>>");
    mDatabase = mDbOpenHelper.getWritableDatabase();
    // String where = ADDRESS + "=" + sms.address;
    String where = ID + "=" + sms.threadid;
    Cursor cursor = mDatabase.query(TABLE_NAME, null, where, null, null, null, null);
    int len = sms.address.split(",").length;
    if (cursor.getCount() > 0) { // 旧信息
      cursor.moveToFirst();
      String where1 = ID + "=" + sms.threadid;
      HThread model = getHThread(cursor);
      String count = cursor.getString(cursor.getColumnIndex(COUNT));
      String noReadSmsCount = cursor.getString(cursor.getColumnIndex(NOREADCOUNT));
      String type = model.type;
      mDatabase.delete(TABLE_NAME, where1, null);
      ContentValues values = getValue(model);

      if (!sms.type.equals("3")) {
        values.put(TYPE, type);
      } else {
        values.put(TYPE, sms.type);
      }

      values.put(ADDRESS, sms.address);
      values.put(READ, sms.read);
      values.put(BODY, sms.body);
      values.put(NOREADCOUNT, String.valueOf(Integer.parseInt(noReadSmsCount) + 1));
      if (!sms.type.equals("3")) {
        values.put(COUNT, String.valueOf(Integer.parseInt(count) + len));
      }
      values.put(TIME, Long.parseLong(sms.time));
      mDatabase.insert(TABLE_NAME, null, values);
    } else { // 新信息
      HAddressBookManager abm = new HAddressBookManager(application);
      HThread thread = new HThread(application);
      thread.address = sms.address;
      thread.sms.body = sms.body;
      thread.count = "1";
      thread.sms.threadid = sms.threadid;
      thread.name = abm.getNameByNumber(sms.address);
      thread.type = sms.type;
      thread.sms.read = sms.read;
      if (!thread.type.equals("3")) {
        thread.count = String.valueOf(len);
      }
      Bitmap headBp = null;
      if (thread.name.split(",").length == 1) {
        headBp = abm.getContactPhoto(thread.name, thread.address);
      }
      thread.headbm = headBp;
      thread.mark = "0";
      thread.sms.time = sms.time;
      ContentValues cv = getValue(thread);
      mDatabase.insert(TABLE_NAME, null, cv);
    }
    cursor.close();
    mDatabase.close();
  }
コード例 #4
0
 /** * 反的进来需要单独更新 */
 public void updataName(String name, String address) {
   mDatabase = mDbOpenHelper.getWritableDatabase();
   ContentValues values = new ContentValues();
   values.put(NAME, name);
   values.put(HEADBM, "1");
   String where = ADDRESS + "=" + address;
   mDatabase.update(TABLE_NAME, values, where, null);
   mDatabase.close();
 }
コード例 #5
0
 /** 未读改成已读 */
 public void updataBufferList(HSms sms) {
   if (sms.threadid.equals("")) {
     return;
   }
   mDatabase = mDbOpenHelper.getWritableDatabase();
   ContentValues values = new ContentValues();
   values.put(READ, "1"); // 修改短信为已读模式
   String where = ID + "=" + sms.threadid;
   mDatabase.update(TABLE_NAME, values, where, null);
   mDatabase.close();
 }
コード例 #6
0
 public boolean cxBuffeListIsNull() {
   mDatabase = mDbOpenHelper.getWritableDatabase();
   Cursor cur = mDatabase.query(TABLE_NAME, null, null, null, null, null, null);
   if (cur.getCount() != 0) {
     cur.close();
     mDatabase.close();
     return false;
   }
   cur.close();
   mDatabase.close();
   return true;
 }
コード例 #7
0
 @Override
 public HThread set(int index, HThread model) {
   if (mDatabase == null || !mDatabase.isOpen()) {
     mDatabase = mDbOpenHelper.getWritableDatabase();
   }
   ContentValues cv = getValue(model);
   String id = model.sms.threadid;
   if (id == null || id.equals("")) {
     mDatabase.update(TABLE_NAME, cv, ADDRESS + "='" + model.address + "'", null);
   } else {
     mDatabase.update(TABLE_NAME, cv, ID + "=" + id, null);
   }
   mDatabase.close();
   return super.set(index, model);
 }
コード例 #8
0
  public void updataSms(String time, String nr, String threadID, String type) {
    mDatabase = mDbOpenHelper.getWritableDatabase();
    ContentValues values = new ContentValues();
    String where = ID + "=" + threadID;
    Cursor cursor = mDatabase.query(TABLE_NAME, null, where, null, null, null, null);
    cursor.moveToFirst();
    String count = cursor.getString(cursor.getColumnIndex(COUNT));

    values.put(BODY, nr);
    values.put(TIME, Long.parseLong(time));
    if (!type.equals("3")) {
      values.put(COUNT, String.valueOf(Integer.parseInt(count) - 1));
    }
    mDatabase.update(TABLE_NAME, values, where, null);
    mDatabase.close();
    cursor.close();
  }
コード例 #9
0
 @Override
 public HThread remove(int location) {
   mDatabase = mDbOpenHelper.getWritableDatabase();
   String id = null;
   String address = null;
   id = mApplication.adapter.get(location).sms.threadid;
   address = mApplication.adapter.get(location).sms.address;
   if (id != null && !id.equals("")) {
     mDatabase.delete(TABLE_NAME, ID + " = " + id, null);
   } else {
     if (address == null) {
       address = mApplication.adapter.get(location).address;
     }
     mDatabase.delete(TABLE_NAME, ADDRESS + " = '" + address + "'", null);
   }
   mDatabase.close();
   return super.remove(location);
 }
コード例 #10
0
 public void deleteBufferItem(String threadId) {
   mDatabase = mDbOpenHelper.getWritableDatabase();
   String where = ID + "=" + threadId;
   mDatabase.delete(TABLE_NAME, where, null);
   mDatabase.close();
 }
コード例 #11
0
 public void deleteBufferList() {
   mDatabase = mDbOpenHelper.getWritableDatabase();
   mDatabase.delete(TABLE_NAME, null, null);
   mDatabase.close();
 }
コード例 #12
0
 public Cursor queryBufferList() {
   Cursor cursor = null;
   mDatabase = mDbOpenHelper.getWritableDatabase();
   cursor = mDatabase.query(TABLE_NAME, null, null, null, null, null, "time desc");
   return cursor;
 }