我在一个数据库上有一个包含两列的表,然后我尝试使用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),当我尝试使用List从数据库读取数据时可以使用它(它作用于我以前对象,其中包含数据库,并且已经插入了值)。现在我想使用它,因为它有参数,对读取List很有用(请看下面的代码)。我有点困惑,怎么用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到底做了什么
6条答案
按热度按时间3zwtqj6y1#
是的,您可以使用Get Set方法
有关使用getset设置数据的信息,请参阅以下代码
使用getset获取数据的代码如下所示
ygya80vv2#
Getter基本上返回该示例保存的数据。Setter设置示例要保存的数据。
在您的例子中,在插入数据时,您应该使用getter作为ContentValues示例中的值。因此,它应该是:
Getters将返回值。Setters(通常)不会返回值。因此,如果您使用setter,您将只在Content Values中设置示例的值,但您不会实际使用它,因为调用不会返回任何内容。
j0pj023g3#
最好了解更多关于使用对象和使用包裹的知识。下面是一个非常有用的工具,可以生成您需要的所有代码,包括表、模型、用于插入的类等等:
在Android中创建一个名为Dic With ID,Name,Code的表用Put EditText作为名称和代码,并使用onse保存按钮,然后onClick
如果要从数据库显示数据到表单,请执行以下操作:
为模型添加一个包,并将每个模型放在一个单独的文件中。为DB添加一个包添加两个文件,一个文件名为OpenHelper.Java,另一个文件名为Database.Java,以便于代码管理
svgewumm4#
v440hwme5#
snz8szmq6#