私はAndroidプログラミングには新しく、物事の仕組みを自分自身で明確にするため、これを念頭に置いています。アプリが削除されたときにSqliteデータベースに何が起こるか
AndroidアプリケーションでSqliteデータベースを作成する場合、データベースはどこに保存されますか?アプリが削除されると削除されますか?これに関する情報は、ウェブ開発の背景にある人々のAndroidプログラミングを理解する上で非常に役立ちます。
私はAndroidプログラミングには新しく、物事の仕組みを自分自身で明確にするため、これを念頭に置いています。アプリが削除されたときにSqliteデータベースに何が起こるか
AndroidアプリケーションでSqliteデータベースを作成する場合、データベースはどこに保存されますか?アプリが削除されると削除されますか?これに関する情報は、ウェブ開発の背景にある人々のAndroidプログラミングを理解する上で非常に役立ちます。
SQliteデータベースは単なるファイルで、他のファイルと同様に扱われます。つまり、アプリケーションのプライベートデータエリア(/data/data/$PACKAGENAME/databases
)に保存されています。それらは、アプリケーションのプライベートデータエリア内の他のものと共に削除されます。
必要に応じてSDカードにデータベースを作成できます。それらは、もちろん、アンインストール時には削除されません。
実際には、場所に 'getExternalFilesDir()'を使用した場合にも削除されます。 IOWは、外部ストレージのどこにデータベースを置くかによって異なります。 – CommonsWare
あなたの返信ありがとう、David。だからちょうどこの権利を得るために、MSSQLやMySqlのように単一のファイルではなくファイルとして保存されますか? – Zishan
私はMSSQLやMySQLが何をするのか分かりませんが、SQLiteは各データベースをアプリケーションの制御下で単一のファイルとして保存します。中央のデータベースストレージはありません。 sqlite3コマンドラインツールを入手し、それをどのように動かすかを感じる価値があります(デバッグにも便利です)。 –
データベースは/data/data/app.package.name/databases
にあります。このフォルダは、エミュレータまたはルートされたデバイス(たとえば、スーパーユーザー権限を持つファイルエクスプローラ)でのみアクセスできます。あなたは特に断りのない限り、すべての相対件のデータが(自分で)(データベースが含まれています)
削除されたアプリを削除すると
、アプリケーションは/data/data/<appname>
の下で彼らの件のデータを維持し、SQLiteの-データベースは/data/data/<appname>/databases
です。アプリをアンインストールすると、データベースを含め、ディレクトリツリー全体が/data/data/<appname>
で削除されます。それはこれに頼ることは良いことではないしかし
ディレクトリは '/ data/data/appname/databases'ではありません。'/data/data/app.package.name/databases'です。 –
通常、データベースは
/data/data/package.name.of.your.app/databases
に格納されます。はい、通常、ディレクトリ全体/data/data/package.name.of.your.app
は、アプリをアンインストールする場合は、削除されるだろう
File dbFile = getDatabasePath(db_name);
そして、:それはのような、ContextWrapper
にgetDatabasePath
を使用して見つけることがはるかに良いです。
データベース、環境設定、キャッシュファイル、一時ファイルはすべて、/data/data/app.package.name/の電話機メモリに保存されています。
アプリをアンインストールすると、このアプリのPhone Memoryフォルダ全体が完全に削除されます。
これはhttp://developer.android.com/guide/topics/data/data-storage.html –