2016-04-24 8 views
0

現在、私は開かれるとすぐにサーバーからsqliteデータベースをダウンロードするアン​​ドロイドアプリを開発しています。私はこのデータベースファイルを非常に頻繁にアプリケーションで使用しなければならず、頻繁にこのデータベースファイルからデータを取得しなければなりません。したがって、モバイルでこのデータベースの正しい場所またはディレクトリを指定する必要があります。したがって、このデータベースファイルを効率的に読み書きできます。デフォルトではアンドロイドアプリケーションのsqliteデータベースの場所は?

+0

コンテンツプロバイダ、syncadapter – Pomagranite

答えて

0

は、新しく作成されたデータベースがに格納されます。

//data/data/<Your-Application-Package-Name>/databases/<your-database-name> 

しかし、このフォルダは非根ざしたデバイスにアクセスできません。インターネット上でデータベースを送信すると、セキュリティのために危険ですが、それは絶対に必要だならば、あなたはこのようにMySQLiteOpenHelperコンストラクタを変更することができます。これにより

public class MySQLiteOpenHelper extends SQLiteOpenHelper { 
    MySQLiteOpenHelper(Context context) { 
     super(context, "/mnt/sdcard/<your-app-name>/database_name.db", null, 0); 
} 

}

、あなたは上のフォルダにデータベースを格納していますSDカード

このアプローチを使用することによって、あなたはmanifest.xmlに外部ストレージに書き込むための余分なアクセス許可が必要になりますことを忘れないでください:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

あなたが現在より多くの情報と例を見つける:Location of sqlite database on the device

関連する問題