Я почти не использовал подготовленные операторы, поэтому не могу сказать, почему это не работает, но почему бы не использовать метод db.update () ?Он принимает ContentValues в качестве аргумента, аналогичного методу addData ().Сделайте это.
public int updateData(String newName){
SQLiteDatabase db = this.getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put("json_response",newName);
int rows = db.update(TABLE_NAME, cv, "ID=0", null);
return rows;
}
[РЕДАКТИРОВАТЬ] update () возвращает целое число, представляющее количество затронутых строк вместо того, какая строка была затронута.Имейте это в виду, поскольку имя переменной rowId подразумевает, что это не то, что вы ищете.
[EDIT 2] И нет, с методом addData (), который я вижу, проблем нет.Добавленный апостроф не вызвал ошибку, поскольку ContentValues параметризует строковые значения перед их добавлением в базу данных.По сути, весь SQL-подобный синтаксис будет игнорироваться при вставке значений, что отлично подходит для соображений безопасности.