2つの列を持つデータベース上のテーブルがあり、Webサービスを使用しようとしています。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は基本的に、そのインスタンスが保持するデータを返します。セッターは、インスタンスが保持するデータを設定します。
あなたの場合、データを挿入するときは、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]
コメントを追加