我的android数据库在哪里?
我在eclipse上创建了一个android应用程序,在那里我创建了一个数据库(仅用于测试),我必须在最终的应用程序中使用该数据库来获取和存储应用程序中的信息。但最重要的是,我必须能够与其他人共享该数据库。我找不到要共享的文件。我对sql不太了解,但我认为它们是以.db格式存储的,所以我尝试搜索它,但找不到该文件。我可以看到条目,但看不到文件 我还在手机上运行了这个应用程序,但仍然找不到数据库文件,而是找到了其他应用程序(如whatsapp)的数据库文件我的android数据库在哪里?,android,database,android-sqlite,Android,Database,Android Sqlite,我在eclipse上创建了一个android应用程序,在那里我创建了一个数据库(仅用于测试),我必须在最终的应用程序中使用该数据库来获取和存储应用程序中的信息。但最重要的是,我必须能够与其他人共享该数据库。我找不到要共享的文件。我对sql不太了解,但我认为它们是以.db格式存储的,所以我尝试搜索它,但找不到该文件。我可以看到条目,但看不到文件 我还在手机上运行了这个应用程序,但仍然找不到数据库文件,而是找到了其他应用程序(如whatsapp)的数据库文件 那么,我的数据库在哪里?您可以在设备的内
那么,我的数据库在哪里?您可以在设备的内部存储器上找到您创建的数据库:
/data/data/<app-package-name>/databases/<database-name>
/data/data//数据库/
您需要是root用户才能使用文件资源管理器查看该文件。您可以在设备的内部存储器上找到您创建的数据库:
/data/data/<app-package-name>/databases/<database-name>
/data/data//数据库/
您需要是root用户才能使用文件资源管理器查看该文件。无论您使用的是emulator还是real device,都可以使用DDMS(窗口->打开透视->DDMS)导航数据库 在DDMS中,有一个文件资源管理器(如果不可见,请单击窗口->显示视图->文件资源管理器) 现在,您可以作为
/data/data//databases/
现在,要保存文件,请单击文件资源管理器右上角的“保存”按钮
更新:
实际上,在插入表行之前,我看不到数据库。如果需要具有预定义数据的静态表,可以在创建表时进行插入。例如:-请参阅onCreate()
method->
public class DbHelper extends SQLiteOpenHelper {
SQLiteDatabase db;
public DbHelper(Context context) {
super(context, "pics.db", null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table picture(_id INTEGER PRIMARY KEY,pics varchar(20))");
db.execSQL("insert into picture values(1001,'one.jpg')");
db.execSQL("insert into picture values(1002,'two.jpg')");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
}
public long insert(ContentValues cv) {
db = getWritableDatabase();
long l=db.insert("picture", null, cv);
db.close();
return l;
}
public Cursor getAllValues() {
db=getReadableDatabase();
Cursor cr=db.query("picture", null, null, null, null, null, "_id");
db.close();
return cr;
}
}
无论您使用的是emulator还是real device,都可以使用DDMS(窗口->打开透视->DDMS)导航数据库 在DDMS中,有一个文件资源管理器(如果不可见,请单击窗口->显示视图->文件资源管理器) 现在,您可以作为
/data/data//databases/
现在,要保存文件,请单击文件资源管理器右上角的“保存”按钮
更新:
实际上,在插入表行之前,我看不到数据库。如果需要具有预定义数据的静态表,可以在创建表时进行插入。例如:-请参阅onCreate()
method->
public class DbHelper extends SQLiteOpenHelper {
SQLiteDatabase db;
public DbHelper(Context context) {
super(context, "pics.db", null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table picture(_id INTEGER PRIMARY KEY,pics varchar(20))");
db.execSQL("insert into picture values(1001,'one.jpg')");
db.execSQL("insert into picture values(1002,'two.jpg')");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
}
public long insert(ContentValues cv) {
db = getWritableDatabase();
long l=db.insert("picture", null, cv);
db.close();
return l;
}
public Cursor getAllValues() {
db=getReadableDatabase();
Cursor cr=db.query("picture", null, null, null, null, null, "_id");
db.close();
return cr;
}
}
如果我想在我的应用程序中首先有一个数据库呢。比如,我为最终的应用程序制作了一个问题和选项列表。我该怎么做呢?你可以在创建表的同时进行插入。但是对于插入,我需要在程序中有这些问题,如果我的程序中有这些问题,我不需要数据库。其次,我将有大约1000个问题,我应该如何编写所有这些。首先,数据库是程序的一部分,用于数据持久性。(即,即使在应用程序关闭后,数据仍保持不变)。现在,如果你有“静态”问题(从不改变),那么首选的方式就是我的答案。如果您有“动态”问题,请使用客户机-服务器应用程序。您还必须在服务器端键入。最后一个问题是:如何向数据库中添加数千个问题。我想在发布应用程序之前创建一个包含所有问题的数据库,并用它来获取问题。但是我还是要把所有的问题写在哪里。比如一个文本文件或者程序本身。如果我首先想在我的应用程序中有一个数据库呢。比如,我为最终的应用程序制作了一个问题和选项列表。我该怎么做呢?你可以在创建表的同时进行插入。但是对于插入,我需要在程序中有这些问题,如果我的程序中有这些问题,我不需要数据库。其次,我将有大约1000个问题,我应该如何编写所有这些。首先,数据库是程序的一部分,用于数据持久性。(即,即使在应用程序关闭后,数据仍保持不变)。现在,如果你有“静态”问题(从不改变),那么首选的方式就是我的答案。如果您有“动态”问题,请使用客户机-服务器应用程序。您还必须在服务器端键入。最后一个问题是:如何向数据库中添加数千个问题。我想在发布应用程序之前创建一个包含所有问题的数据库,并用它来获取问题。但是我还是要把所有的问题写在哪里。比如一个文本文件或者程序本身。我想建立一个包含一系列问题的数据库,由应用程序显示,我必须在发布应用程序之前输入这些问题。我想创建一个数据库,其中包含应用程序显示的一系列问题,我必须在发布应用程序之前输入这些问题。我该怎么做?