不好说只是粘贴我的代码,希望有人能看到我所缺少的内容:
数据库
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表似乎正在被复制,但是其他表与数据不在同一个位置。有任何想法吗?
白猪掌柜的