如何访问android资产文件夹中的数据库?
嗨,我有单独的数据库和表。我需要将该数据库放入/保存到我的资产文件夹中。然后我想从数据库中获取我存储在资产文件夹中的数据。任何人都能告诉我怎么做?提前感谢。无法直接从资产文件夹读取数据库,因此您必须复制数据库,例如复制到应用程序存储中。像这样定义路径如何访问android资产文件夹中的数据库?,android,sqlite,android-assets,Android,Sqlite,Android Assets,嗨,我有单独的数据库和表。我需要将该数据库放入/保存到我的资产文件夹中。然后我想从数据库中获取我存储在资产文件夹中的数据。任何人都能告诉我怎么做?提前感谢。无法直接从资产文件夹读取数据库,因此您必须复制数据库,例如复制到应用程序存储中。像这样定义路径 private static String DB_PATH = "/data/data/com.yourpackage.package/databases/"; private static String DB_NAME = "yourda
private static String DB_PATH = "/data/data/com.yourpackage.package/databases/";
private static String DB_NAME = "yourdatabase.dat";
通过这种方法,应该可以复制:
private void copyDataBase() throws IOException
{
InputStream mInput = mContext.getResources().getAssets().open(DB_NAME);
String outFileName = DB_PATH + DB_NAME;
File createOutFile = new File(outFileName);
if(!createOutFile.exists()){
createOutFile.mkdir();
}
OutputStream mOutput = new FileOutputStream(outFileName);
byte[] mBuffer = new byte[1024];
int mLength;
while ((mLength = mInput.read(mBuffer))>0)
{
mOutput.write(mBuffer, 0, mLength);
}
mOutput.flush();
mOutput.close();
mInput.close();
}
但是,您必须创建一个数据库类,就像您要创建一个新数据库时所做的那样。这超出了此处的框架,但应该为您提供一个开始的方向。无法直接从资产文件夹读取数据库,因此您必须复制数据库,例如复制到应用程序存储中。像这样定义路径
private static String DB_PATH = "/data/data/com.yourpackage.package/databases/";
private static String DB_NAME = "yourdatabase.dat";
通过这种方法,应该可以复制:
private void copyDataBase() throws IOException
{
InputStream mInput = mContext.getResources().getAssets().open(DB_NAME);
String outFileName = DB_PATH + DB_NAME;
File createOutFile = new File(outFileName);
if(!createOutFile.exists()){
createOutFile.mkdir();
}
OutputStream mOutput = new FileOutputStream(outFileName);
byte[] mBuffer = new byte[1024];
int mLength;
while ((mLength = mInput.read(mBuffer))>0)
{
mOutput.write(mBuffer, 0, mLength);
}
mOutput.flush();
mOutput.close();
mInput.close();
}
但是,您必须创建一个数据库类,就像您要创建一个新数据库时所做的那样。这超出了本文的框架,但应该给您一个开始的方向。根据我的搜索,首先我们必须复制数据库并将其粘贴到资产文件夹中。
然后按照这个链接我们将访问数据库。我是这样做的。一切顺利。根据我的搜索,首先我们必须复制数据库并将其粘贴到资产文件夹中。
然后按照这个链接我们将访问数据库。我是这样做的。万事如意。运行时将数据库从资产文件夹复制到应用程序数据文件夹运行时将数据库从资产文件夹复制到应用程序数据文件夹