在Android中使用SQLite,用getWritableDatabase()方法创建后,数据库文件在哪儿?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Android中使用SQLite,用getWritableDatabase()方法创建后,数据库文件在哪儿?相关的知识,希望对你有一定的参考价值。

我现在用SQLite 里的getWritableDatabase()方法创建了一个数据库,
我在用同样的方法换一个名字创建还是同一个数据库,取出的数据是一样的.
这个数据库电脑中没找到.也不知道这个数据库的路径.无法删除..
这样我也没办法指定数据库生成的路径..
有没有办法可以指定创建数据库的名字,路径?
因为是要用在手机上的.

可否用SQLiteDev生成的数据库放到手机中然后指定路径用?
如果可以请留下联系方式... 分值可以增加.

参考技术A 数据库存放在 /data/data/PACKAGE_NAME/databases 目录下

你当然可以指定数据库名字,可以将db文件打包在工程里。
private SQLiteDatabase openDatabase()
try
// 获得dictionary.db文件的绝对路径
String databaseFilename = DATABASE_PATH + "/" + DATABASE_FILENAME;
File dir = new File(DATABASE_PATH);
// 如果/sdcard/dictionary目录中存在,创建这个目录
if (!dir.exists())
dir.mkdir();
// 如果在/sdcard/dictionary目录中不存在
// dictionary.db文件,则从res\raw目录中复制这个文件到
// SD卡的目录(/sdcard/dictionary)
if (!(new File(databaseFilename)).exists())
// 获得封装dictionary.db文件的InputStream对象
InputStream is = getResources().openRawResource(
R.raw.dictionary);
FileOutputStream fos = new FileOutputStream(databaseFilename);
byte[] buffer = new byte[8192];
int count = 0;
// 开始复制dictionary.db文件
while ((count = is.read(buffer)) > 0)
fos.write(buffer, 0, count);


fos.close();
is.close();

// 打开/sdcard/dictionary目录中的dictionary.db文件
SQLiteDatabase database = SQLiteDatabase.openOrCreateDatabase(
databaseFilename, null);
return database;
catch (Exception e)

return null;
本回答被提问者采纳
参考技术B

你看看这个对你是否有帮助。没用过机器人SDK

如何在android中使用sqlite连接表

【中文标题】如何在android中使用sqlite连接表【英文标题】:How to join tables using sqlite in android 【发布时间】:2011-03-17 17:08:59 【问题描述】:

我正在尝试了解如何在 Android 应用程序中使用 sqlite 数据库对我的两个表进行简单的表连接。

是使用 CursorJoiner 最简单的方法还是有更简单的方法?

【问题讨论】:

最好在 SQL 中执行此操作。用必要的JOINs 创建一个VIEW。 我尝试这样做,但由于某种原因无法让我的项目识别它。 ***.com/a/4957197/334270 【参考方案1】:

在SQLiteDatabase 和SQLiteQueryBuilder 的实现中,您将看到可以将要加入的表传递给querytable 参数,即使文档暗示它只需要一个表的名称。 SQLiteQueryBuilder 的文档更加清晰,甚至建议使用 foo, barfoo LEFT OUTER JOIN bar ON (foo.id = bar.foo_id) 之类的内容。

【讨论】:

【参考方案2】:

如果你愿意使用第三方库,我推荐使用 Active Android

https://github.com/pardom/ActiveAndroid

使用它你可以像这样合并表格

From query = new Select()
    .from(Foo.class)
    .innerJoin(Bar.class)
    .on("Foo.Id=Bar.Id");

您甚至可以让光标返回以在加载器中使用

Cursor cursor = Cache.openDatabase().rawQuery(query.toSql(), query.getArguments());

更多详情here

【讨论】:

以上是关于在Android中使用SQLite,用getWritableDatabase()方法创建后,数据库文件在哪儿?的主要内容,如果未能解决你的问题,请参考以下文章

Android开发之利用SQLite进行数据存储

在Android中使用SQLite,用getWritableDatabase()方法创建后,数据库文件在哪儿?

在Android应用程序中使用SQLite数据库以及怎么用

如何在android中使用sqlite连接表

Android 数据库 大量插入 事务开启

如何在 android studio 中使用 sqlite 为特定帐户创建表?