- Shared Preference
- SQLiteデータベース
- Steamを用いたデータ保存
Shared Preference
Shared Preferenceはxmlにデータを保存する仕組みです。ちょっとしたデータの保存に向いています。
メリット
- 実装が簡単(コードが簡潔)
- Gsonを用いれば自作クラスオブジェクトも保存できる(※)
デメリット
- 多数データを保存するのには向かない
使い方
Shared Preferenceの使い方については以下の記事にまとめています。SQLiteデータベース
次はSQLiteデータベースによる保存です。形式の決まった多数データに向いています。
メリット
- 多数のデータの保存/読込に向いている
- BLOB型 or Gsonを用いれば自作クラスオブジェクトも保存できる
デメリット
- 決まった形式のデータしか保存できない(カラムに制約される)
- 後からテーブルの仕様を変えるのが大変
- ちょっとしたデータを保存したいだけの場合だとコードが煩雑になる
使い方
SQLiteデータベースの使い方の入門編は以下の記事にまとめています。Streamを用いたデータ保存
最後はjavaの通常のStream処理を用いたデータ保存についてです。例外処理などを全て自分で実装する必要がありますが、自由度は最も高いです。
サイズの大きなデータを保存するときに用いると良いと思います。
メリット
- 任意のデータを自由に保存できる
デメリット
- 書込/読込および例外処理を全て自分で実装する必要がある
まとめ
以上、ローカルデータを保存する3つの方法についてそれぞれメリット・デメリットを紹介しました。ちょっとしたデータの保存にはShared Preference、
多数のデータの保存にはSQLiteデータベース、
サイズの大きなデータの保存にはStream、
と使い分けると良いと思います。
