sqlite的数据库文件放在程序哪里

如题所述

要在Android系统中操作SQLite数据库,是通过Android的核心类SQLiteDatabase类来实现的,通常情况下为了数据库升级的需要以及使用方便,我们会选择继承SQLiteOpenHelper抽像类,但是SQLiteOpenHelper会将数据库文件创建在一个固定的目录(内存的/data/data/<package name/databases>目录中),如果你想使用已经存在的数据库文件也就是说数据库会和程序一起发布,就得通过使用SQLiteDabase的静态方法OpenOrCreateDatabase()方法来得到SQLiteDabase对象,下面是一个具体操作类:
package net.my.dao;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import net.my.jokebook.R;
import android.app.Activity;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
public class DBHelper {
//得到SD卡路径
private final String DATABASE_PATH = android.os.Environment
.getExternalStorageDirectory().getAbsolutePath()
+ "/joke";
private final Activity activity;
//数据库名
private final String DATABASE_FILENAME;
public DBHelper(Context context) {
// TODO Auto-generated constructor stub
//这里直接给数据库名
DATABASE_FILENAME = "jokebook.db3";
activity = (Activity)context;
}
//得到操作数据库的对象
public SQLiteDatabase openDatabase()
{
try
{
boolean b = false;
//得到数据库的完整路径名
String databaseFilename = DATABASE_PATH + "/" + DATABASE_FILENAME;
//将数据库文件从资源文件放到合适地方(资源文件也就是数据库文件放在项目的res下的raw目录中)
//将数据库文件复制到SD卡中 File dir = new File(DATABASE_PATH);
if (!dir.exists())
b = dir.mkdir();
//判断是否存在该文件
if (!(new File(databaseFilename)).exists())
{
//不存在得到数据库输入流对象
InputStream is = activity.getResources().openRawResource(
R.raw.jokebook);
//创建输出流
FileOutputStream fos = new FileOutputStream(databaseFilename);
//将数据输出
byte[] buffer = new byte[8192];
int count = 0;
while ((count = is.read(buffer)) > 0)
{
fos.write(buffer, 0, count);
}
//关闭资源
fos.close();
is.close();
}
//得到SQLDatabase对象
SQLiteDatabase database = SQLiteDatabase.openOrCreateDatabase(
databaseFilename, null);
return database;
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
return null;
}
}
写完这个类之后,就能得到SQLiteDatabase对象,就能对数据库操作了
温馨提示:内容为网友见解,仅供参考
无其他回答

sqlite的数据库文件在什么地方? sqlite数据库文件后缀名,提取方法...
SQLite数据库文件通常以.db3为后缀,查找时可以直接搜索。在Android设备上,它们通常存储在内存的"data\/data\/"目录中。若需要更精确地定位,可以打开设备的文件浏览器(通过"Window" > "Show View" > "Other" > "Android" > "File Explorer"),然后进入"data\/data\/"路径,找到对应于你应用程序的...

sqlite的数据库文件放在程序哪里
\/\/将数据库文件从资源文件放到合适地方(资源文件也就是数据库文件放在项目的res下的raw目录中)\/\/将数据库文件复制到SD卡中 File dir = new File(DATABASE_PATH);if (!dir.exists())b = dir.mkdir();\/\/判断是否存在该文件 if (!(new File(databaseFilename)).exists()){ \/\/不存在得...

Android开发怎么查看和管理sqlite数据库
选择DDMS 切换到DDMS,显示File Explorer窗口,找到\/data\/data\/ 啰嗦一句,你可能在你自己的eclipse没找到,File Explorer ,如果找不到的话,就去网上下载,"easyExplorer

SQLite数据库文件保存位置在哪的???
回答:你要找的 sqlite数据库 文件,默认情况下存储在这个位置C:\\Documents and Settings\\Administrator\\.android\\avd\\你的虚拟机名字.avd\/userdata.img这个镜像文件中。如果你想不打开虚拟机就找到你的数据库文件,可以尝试用 ultraiso 等能够处理镜像文件的工具打开这个文件,我没有试过。不过这样做貌似...

SQLite数据库文件保存位置在哪的???
你要找的 sqlite数据库 文件,默认情况下存储在这个位置C:\\Documents and Settings\\Administrator\\.android\\avd\\你的虚拟机名字.avd\/userdata.img这个镜像文件中。如果你想不打开虚拟机就找到你的数据库文件,可以尝试用 ultraiso 等能够处理镜像文件的工具打开这个文件,我没有试过。不过这样做貌似是没有...

...本人计划将应用程序安装到C盘,sqlite数据库放到D盘。
我觉得你如果想将sqlite数据库放在和应用程序不相对的目录里,你可以在程序中让用户配置sqlite文件的路径。比如:app.config中。如果你强行打包将sqlite放在D盘,那如果正好一个客户机没有D盘怎么办呢?所以还是将Sqlite数据库文件的路径配置在appconfig文件里比较好,至少很灵活。

Android开发怎么查看和管理sqlite数据库
1 首先打开android项目的调试模式,然后找到显示DDMS 2 切换到DDMS,显示File Explorer窗口,找到\/data\/data\/ 如下图1 ,然后找到程序包的文件夹,打开databases,就能看到sqlite数据库文件了。选择将其导出。如下图2.这样就把sqlite数据库文件以文件的方式导出来了,然后使用sqlite界面管理工具如SQLite ...

androidstudiosqlite数据库在哪
该数据库查找具体步骤如下:1、在Android Studio中,点击View菜单,选择Tool Windows。2、在弹出的子菜单中,选择DeviceFileExplorer。3、在DeviceFileExplorer窗口中,找到并展开\/data\/data\/your.package.name\/路径。4、在此路径下,就能看到SQLite数据库文件。

连真实手机后建立的sqlite数据库存放在什么文件夹下面
要找的sqlite数据库 文件,默认情况下存储在这个位置 C:\\Documents and Settings\\Administrator\\.android\\avd\\ 虚拟机名字.avd\/userdata.img这个镜像文件中。如果想不打开虚拟机就找到你的数据库文件,已经试过ultraiso无法识别这种镜像格式。而且这样做是没有什么意义的。当虚拟机载入这个镜像中的信息并成功...

Android开发怎么查看和管理sqlite数据库
1 看 sqlite数据库 可以使用eclipse的插件DDMS,或者Android工具包中的adb工具来查看。sqlite数据库在安卓项目中的位置是\/data\/data\/项目包\/databases中。2 在这里呢 演示使用eclipse插件来看。在Eclipse安装好插件,找到 DDMS 2选中DDMS 点击ok,显示File Explorer窗口,找到\/data\/data\/ 3 打开databases,...

相似回答