更新JSON值不会替换旧值

时间:2014-11-18 16:28:26

标签: android json database sql-update

我在服务器中使用JSON格式的值,然后获取这些值,然后显示到移动应用程序textview中。我将值存储到本地数据库然后从中获取,但如果我更改服务器JSON中的任何值并且文本视图未加载新值,则它始终显示旧值。每次用户检查JSON时,如何用新数据替换表?

 @Override
        public void onCreate(SQLiteDatabase db) {
            // TODO Auto-generated method stub

  String CREATE_TABLE_BEACON = "CREATE TABLE " + TABLE_BEACON + "("
                    + KEY_NAME + " VARCHAR,"+ KEY_UUID + " VARCHAR,"+ KEY_MAJOR_ID + " INTEGER,"+ KEY_MINOR_ID + " INTEGER,"+ KEY_TYPE + " VARCHAR,"+ KEY_ACTION + " VARCHAR)";
            db.execSQL(CREATE_TABLE_BEACON);

        }

      public long insertBeaconDetails(BeaconDetails beacondetailstore) 
        {
            SQLiteDatabase db = this.getWritableDatabase();

            ContentValues values = new ContentValues();

             values.put(KEY_NAME,beacondetailstore.name);
             values.put(KEY_UUID,beacondetailstore.uuid);
             values.put(KEY_MAJOR_ID,beacondetailstore.major);
             values.put(KEY_MINOR_ID,beacondetailstore.minor);
           //  values.put(KEY_NOTIFICATION,beacondetailstore.notification);
             values.put(KEY_TYPE,beacondetailstore.type);    
            values.put(KEY_ACTION,beacondetailstore.action);    


             long rowId = db.replace(TABLE_BEACON, null, values);
             db.close();
             return rowId;
        }

1 个答案:

答案 0 :(得分:0)

您可以使用更新查询,每次用户检查新json时,您都可以将数据从数据库加载到文本视图中。

喜欢:          db.update(" TABLE_NAME",                   值                    TABLE_COLUMN_NAME +" =?",                     new String [] {OLD_VALUE_OF_TABLE_COLUMN_NAME});

然后:      从数据库中检索数据并将其再次加载到textview