Android getter和setter,数据库sqlite(helper类)

绝地战士

我在具有两列的数据库上有一个表,然后尝试使用webservice,JSON将一些数据从某个URL解析到数据库并保存。我尝试用这种方法

  public void saveDataRecord(String id, String name) {
        ContentValues contentValues = new ContentValues();
        contentValues.put(CATEGORY_COLUMN_ID, id);
        contentValues.put(CATEGORY_COLUMN_NAME, name);
        database.insert(TABLE_NAME, null, contentValues);
        }

但是我也有模型类(包含setter和getter),当我尝试使用列表从数据库中读取数据时可以使用该模型类(它适用于具有数据库内部且已插入值的先前对象)。现在,我想使用它,因为它具有参数,并且对读取列表(查看底部代码)很有用。我有点困惑,如何使用getId,getName或setId,setName?
这?

public void saveDataRecord(TheModelClass blablabla) {
            ContentValues contentValues = new ContentValues();
            contentValues.put(CATEGORY_COLUMN_ID, blablabla.getId());
            contentValues.put(CATEGORY_COLUMN_NAME, blablalbla.getName());
            database.insert(TABLE_NAME, null, contentValues);
}

或这个?

 public void saveDataRecord(TheModelClass blablabla) {
                ContentValues contentValues = new ContentValues();
                contentValues.put(CATEGORY_COLUMN_ID, blablabla.setId());
                contentValues.put(CATEGORY_COLUMN_NAME, blablalbla.setName());
                database.insert(TABLE_NAME, null, contentValues);
    }

即使我在其他项目中也做到了

public List<TheModelClass> getAllEffectiveRates() {
        List<TheModelClass> EffectiveRates = new ArrayList<TheModelClass>();
        String selectQuery = "SELECT  * FROM " + TABLE_EFFECTIVE_RATE;

        SQLiteDatabase db = this.getReadableDatabase();
        Cursor c = db.rawQuery(selectQuery, null);

        // looping through all rows and adding to list
        if (c.moveToFirst()) {
            do {
                TheModelClass example = new TheModelClass();
                example.setERId(c.getInt(c.getColumnIndex(KEY_ER_ID)));
                example.setERTenor(c.getInt(c.getColumnIndex(KEY_ER_TENOR)));
                example.setERRate(c.getDouble(c.getColumnIndex(KEY_ER_RATE)));

                // add
                EffectiveRates.add(example);
            } while (c.moveToNext());
        }
        // db.close();
        c.close();
        return EffectiveRates;
    }

我仍然对getter和setter的确切功能感到困惑

乌舒尼

Getter基本上返回该实例保存的数据。Setter设置要由实例保存的数据。

对于您的情况,在插入数据时,应将getter用作ContentValues实例中的值。因此应该是:

public void saveDataRecord(TheModelClass blablabla) {
    ContentValues contentValues = new ContentValues();
    contentValues.put(CATEGORY_COLUMN_ID, blablabla.getId());
    contentValues.put(CATEGORY_COLUMN_NAME, blablalbla.getName());
    database.insert(TABLE_NAME, null, contentValues);
}

获取器将返回一个值。设置器(通常)不会返回值。因此,如果您使用设置器,则只能在ContentValues中设置实例的值,但实际上不会使用它,因为调用不会返回任何内容。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Android getter和setter,数据库sqlite(helper类)

来自分类Dev

在Android的SQLite数据库中存储日期和时间

来自分类Dev

在Android的SQLite数据库中存储日期和时间

来自分类Dev

离子sqlite数据库在ios和android上失败

来自分类Dev

从sqlite数据库android写入数据

来自分类Dev

Android SQLite MultiTable数据库开发

来自分类Dev

加密sqlite数据库Android:

来自分类Dev

Android从.csv插入sqlite数据库

来自分类Dev

Android SQLite数据库重新导入

来自分类Dev

遍历android sqlite数据库

来自分类Dev

数据库版本SQLite Android

来自分类Dev

恢复sqlite数据库android

来自分类Dev

查询“脱节”的Android sqlite数据库

来自分类Dev

使用SQLite的Android数据库错误

来自分类Dev

无法打开数据库android Sqlite

来自分类Dev

Android:SQLite插入数据库

来自分类Dev

在Android中升级SQLite数据库

来自分类Dev

无法查询Android SQLite数据库

来自分类Dev

android中的sqlite数据库错误

来自分类Dev

从SQLite数据库Android获取arraylist

来自分类Dev

Android SQLite数据库空指针

来自分类Dev

通过android创建sqlite数据库

来自分类Dev

Android从SQLite数据库检索值

来自分类Dev

在Android中连接SQLite数据库

来自分类Dev

Android插入SQLite数据库

来自分类Dev

Android-升级SQLite数据库

来自分类Dev

删除数据库android sqlite

来自分类Dev

Android SQLite数据库设计

来自分类Dev

从数据库SQLite Android删除