2012-05-01 17 views
2

私はLocationオブジェクトのArrayListを持っています。 ArrayListは、通常、1000〜10,000のLocationオブジェクトから を持ちます。Android Parcelableの配列をファイルに保存するにはどうすればいいですか?

ArrayListを永続化してから、それを後で に読み込みたいと思っています。

SQLiteDBに各 を格納する代わりに、 LocationオブジェクトのArrayListを1つのファイルとして書き出す方がはるかに高速であると想定しています。

オブジェクトのArrayListを読み書きするためのサンプルコードを表示できますか、より良い解決策を提案できますか?

答えて

0

本当に10kの場所をすべて保存し、すべて削除して毎回10kの場所の新しいセットを保存する必要がありますか?または、時折更新を加えるだけですか? (複数行の削除や追加など)。後者の場合、SQLiteを使用したいと思うよりも、Dbでこれらのアクションを行うほうが簡単です。

また、SQLiteはファイルシステム上の保存されたファイルでもあり、たとえばMySQLのようなDBサーバーはありません。

さておき、これはSOの前に議論されているので、あなたは、これらを見てみたいことがあります。

Android data storage - File vs SQLite

Sqlite vs File based data storing?

+0

各データセットは、固定されたセットです。挿入、削除、検索なし。リストやオブジェクトの配列をバイナリデータとしてファイルに保存し、バイナリデータとして読み込むのは、AFAIKがテキストファイルをベースにしているSQLiteやJSONを使用するよりもはるかに高速です。 Javaには、このような状況を処理するためのObjectOutputStreamとObjectInputStreamがあります。私はこれらがAndroidで非常に遅いと理解しているシリアライゼーションに依存していることを理解しています。私はAndroidにObjectOutputStreamの効率的なアナログがあることを期待していましたが、明らかにそうではありませんでしたか? – Ted

+0

あなたはSerializableを実装すべきです。これを見てくださいhttp://stackoverflow.com/questions/7135086/storing-a-parcelable-object-to-a-file-in-android –

+0

スピードが心配ならば、私はあなたのベストを思います必要なデータタイプのソリューションをテストし、結果をベンチマークすることです。 –

関連する問題