在Android中使用SQLite,用getWritableDatabase()方法创建后,数据库文件在哪儿?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Android中使用SQLite,用getWritableDatabase()方法创建后,数据库文件在哪儿?相关的知识,希望对你有一定的参考价值。
我现在用SQLite 里的getWritableDatabase()方法创建了一个数据库,
我在用同样的方法换一个名字创建还是同一个数据库,取出的数据是一样的.
这个数据库电脑中没找到.也不知道这个数据库的路径.无法删除..
这样我也没办法指定数据库生成的路径..
有没有办法可以指定创建数据库的名字,路径?
因为是要用在手机上的.
可否用SQLiteDev生成的数据库放到手机中然后指定路径用?
如果可以请留下联系方式... 分值可以增加.
你当然可以指定数据库名字,可以将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 的实现中,您将看到可以将要加入的表传递给query
的table
参数,即使文档暗示它只需要一个表的名称。 SQLiteQueryBuilder 的文档更加清晰,甚至建议使用 foo, bar
或 foo 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()方法创建后,数据库文件在哪儿?的主要内容,如果未能解决你的问题,请参考以下文章