ローカルへのデータの保存方法 (3つの方法のメリット・デメリットを比較) | Androidアプリ開発

ローカルデータの保存方法のポピュラーな方法として以下の3つがあります。
  • 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、
と使い分けると良いと思います。
タイトルとURLをコピーしました