以下は、私がSQLlite
データベースに保存したいカスタムクラスです。私は格納してCalendar
フィールドstartTime
とendTime
全体を取得し、後でCalendar
タイプのすべてのフィールドを使用できるようにしたいと思います。AndroidのSQLLiteデータベースにカレンダーフィールドを含むカスタムオブジェクトを保存する方法は?
私はSQLLiteストアString
とInt
を知っています。 SQLLiteでカスタムクラスを保存する方法はありますか?
Gson
ライブラリが助けになることがわかっていますが、以下のコードは正しいですか?
public class Model_BlockTimes {
Calendar startTime;
Calendar endTime;
public Model_BlockTimes() {
}
public Model_BlockTimes(Calendar startTime, Calendar endTime) {
this.startTime = startTime;
this.endTime = endTime;
}
public Calendar getStartTime() {
return startTime;
}
public void setStartTime(Calendar startTime) {
this.startTime = startTime;
}
public Calendar getEndTime() {
return endTime;
}
public void setEndTime(Calendar endTime) {
this.endTime = endTime;
}
}
私のテストコードはGsonとの間で変換され、動作しません。これは
public String convertToJson(Model_BlockTimes times) {
Gson gson = new Gson();
String resp = gson.toJson(times);
return resp;
}
がどのようにバックModel_BlockTimes
にJSONから戻って変換するには?:よう
は私が保存され、sqlliteから取得する機能convertToJson(...)
からの応答を格納することができます**?
日付を文字列形式で変換し、データベースに保存します – sasikumar
私は知っていますが、カスタムオブジェクトをカスタムオブジェクトとしてsqllite dbに保存する方法はありますか?私は多くのクラスのためにこれを使用しようとしています、そうでなければ、異なるクラスの各メンバフィールドのための文字列変換器との間で書き込みを行います。 – user1406716
永続性を扱うときのその獣の本質の種類。大量の情報を保存する場合は、より多くの正規化の観点からアプローチし、個別にすべてを保存するのではなく、実行時にどの情報を生成できるかを調べるのが最善の方法です。 また、jsonを解析してからオブジェクトに変換することは、複雑なオブジェクトに対して有効なアプローチですが、SQLiteのオブジェクトの「これを保存する方法」を書くことは避けられません。 – Nick