不好说只是粘贴我的代码,希望有人能看到我所缺少的内容:数据库package gr.peos;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import android.content.Context;import android.database.SQLException;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteException;import android.database.sqlite.SQLiteOpenHelper;public class Database extends SQLiteOpenHelper{//The Android's default system path of your application database.private static String DB_PATH = "/data/data/gr.peos/databases/";//Name of the Database to be created.private static String DB_NAME = "BLib";private SQLiteDatabase myDataBase; private final Context myContext; /** * Constructor * Takes and keeps a reference of the passed context in order to access to the application assets and resources. * @param context */public Database(Context context) { super(context, DB_NAME, null, 1); this.myContext = context;} 调用它的部分在我的主要活动的onCreate方法上(也尝试过其他方法,但这并不是问题所在)。 Database myDbHelper = new Database(null); myDbHelper = new Database(this); try { myDbHelper.createDataBase(); } catch (IOException ioe) { throw new Error("Unable to create database"); }try {}catch(SQLException sqle){ throw sqle; }现在很奇怪。在我的设备上(我没有超级用户访问权限,因此在创建数据库后无法提取它),我的数据似乎为48KB。在模拟器上运行完全相同的代码时,不会复制数据库(Im不会在任何异常情况下进行选择)。确切地说,android / metadata表似乎正在被复制,但是其他表与数据不在同一个位置。有任何想法吗?
2 回答
白猪掌柜的
TA贡献1893条经验 获得超10个赞
如果您的文件名在Assets文件夹中具有扩展名,则必须添加代码。
喜欢
private static String DB_NAME = "BLib.extension";
扩展名就像“ .sqlite”,“。db” ... etc
添加回答
举报
0/150
提交
取消