私はオブジェクトのコンテンツをSqliteに格納する必要があります。 オブジェクトの直列化またはParcelableを使って、どちらが最良の方法であるのか疑問に思っていました。AndroidはSQLiteにParcelableオブジェクトを格納します
Parcelableとして保存することはできますか?どうしたらいいですか?
私はオブジェクトのコンテンツをSqliteに格納する必要があります。 オブジェクトの直列化またはParcelableを使って、どちらが最良の方法であるのか疑問に思っていました。AndroidはSQLiteにParcelableオブジェクトを格納します
Parcelableとして保存することはできますか?どうしたらいいですか?
オブジェクトを永続化可能なデータ構造(XML、JSON、Serializable
)に変換して、データベースの列に埋め込むことを歓迎します。互換性の問題に対処する必要があることにご留意ください(アプリのバージョン2ではクラスが変更され、バージョン1とバージョン2の両方の構造に対応する必要があります)。また、このルートを使用すると、多くのデータベース機能(オブジェクト内の何かを照会するなど)が失われることにも注意してください。
SQLiteが必須でない場合は、オブジェクトデータベースまたはCouchDbを使用するか、永続化可能なデータ構造をファイルに格納することもできます。
確かに確実に動作しないものは、Parcel
にParcelable
を注ぎ、Parcel
を保存してみてください。 Parcel
は、IPCのみを対象としており、永続化するようには設計されていません。これはParcelable
がSerializable
より速い理由の1つです。
いつものように、完璧な答え:)とにかく、Serializableが後方互換性のためにスケーラブルであるかどうかはわかりません。 – StErMi
@StErMi:もし私が個人的にJSONやおそらくXMLを使うことになってしまったのであれば、データの中にはおそらくデータの一部ができない限りテキストに変換する。それは、あなたが実際にデータを読むことができるときに、それが謎のブロブではなく、簡単にデバッグすることです。 – CommonsWare
あなたは完全に正しいです:)私は試してみましょう:) – StErMi
データを保持する必要がある場合は、Serializable
を使用してください。 Parcelable
は、IPCの使用を目的としています。これはバイナリ形式であり、永続性には推奨されません。
あなたは本当にsqliteでデータを保持する必要がありますフォルダーに保管する方が良いでしょうか? – ademar111190