Où est ma base de données sqlite stockée dans Android?
J'ai créé un sqlite
base de données sous android, je peux faire des requêtes à l'intérieur de mon code mais je ne le trouve pas sur le système de fichiers/sdcard.
J'ai vérifié les autres questions, il n'est PAS data/data/package-name...
Je vois une entrée de données sur mon app de prendre 52kb de l'espace, de sorte que ses il y, de plus quand je lance l'application il ne déclenche pas une OnCreate
le sens qu'il a déjà la DB.
Mon téléphone est enracinée & je suis en utilisant un custom jelly bean rom qui fonctionne très bien pour toutes fins utiles.
Toute idée d'où il pourrait être?
CODE c#
public class SqliteHelper : SQLiteOpenHelper
{
private const string DATABASE_NAME = "Book";
private const int DATABASE_VERSION = 1;
public SqliteHelper(Context ctx)
: base(ctx, DATABASE_NAME, null, DATABASE_VERSION)
{ }
// Method is called during creation of the database
public override void OnCreate(SQLiteDatabase db)
{
db.BeginTransaction();
try
{
db.ExecSQL("CREATE TABLE Chapters (Id INTEGER PRIMARY KEY AUTOINCREMENT, Name TEXT NOT NULL);");
ContentValues cv = new ContentValues();
cv.Put("Name", "1. Family");
db.Insert("Chapters", null, cv);
cv.Put("Name", "2. Shopping");
db.Insert("Chapters", null, cv);
cv.Put("Name", "3. Work");
db.Insert("Chapters", null, cv);
db.SetTransactionSuccessful();
}
finally
{
db.EndTransaction();
}
//if(db.IsOpen())
// db.Close();
}
source d'informationauteur sprocket12
Vous devez vous connecter pour publier un commentaire.
Dans mon téléphone enracinée, c'est dans :
/data/data/<your_app_package_name>/databases/<database_name>
exemple
/data/data/com.mon.package/bases de données/mydb
Il est là. La seule raison pour laquelle vous ne pouvez pas accéder à un appareil Android est parce que le dossier est privé et ne peut pas être vu par les méthodes conventionnelles, l'OS protège ce dossier et que le dossier (et de son contenu, par exemple votre base de données) ne peuvent être utilisés que par certaines applications.
Si vous voulez le voir, lancer un émulateur, l'exécution de votre application, accédez à DDMS vue, de faire
/data/data/packageName/databases
et il est là. Si vous n'avez pas accès à DDMS, utilisez cette commande ADB Shell de commande:$ adb pull /data/data/packageName/databases/yourDBFilename.db
Appel
Context.getDatabasePath
va vous donner la réponse définitiveBases de données Android sont stockés dans des "données/données/yourPackageName/bases de données/" par défaut
Si vous utilisez Android Studios, DDMS est dans "Outils" - "Android" - "Android Device Monitor".
Utilisation DDMS à trouver comme la façon dont vous l'auriez fait dans Eclipse.