Android SQLITE数据库方法错误
我是android新手,正在学习SQLitedatabase。我正在尝试创建一个新数据库。为什么此代码中的“openorCreateDatabase()”方法不为人所知。 toast.maketext()中的getApplicationContext()方法如何Android SQLITE数据库方法错误,android,sqlite,Android,Sqlite,我是android新手,正在学习SQLitedatabase。我正在尝试创建一个新数据库。为什么此代码中的“openorCreateDatabase()”方法不为人所知。 toast.maketext()中的getApplicationContext()方法如何 }因为您没有在上下文对象上调用它。例如,在活动内部,您可以访问这些方法,因为活动扩展了上下文,但不在某些任意类中。相反,请使用以下命令: public final class MyDatabase { static Strin
}因为您没有在上下文对象上调用它。例如,在活动内部,您可以访问这些方法,因为活动扩展了上下文,但不在某些任意类中。相反,请使用以下命令:
public final class MyDatabase {
static String DATABASE_NAME="DATABASE";
static String TABLE_NAME="MY_TABLE";
static String DATABASE_CREATE="CREATE TABLE IF NOT EXISTS"+TABLE_NAME+
"(ID INTEGER PRIMARY KEY, NAME TEXT,CITY TEXT);";
public static void createDatabase(Context context) {
try {
SQLiteDatabase mydb = context.openOrCreateDatabase(DATABASE_NAME,
Context.MODE_PRIVATE,null);
mydb.execSQL(DATABASE_CREATE);
} catch(Exception e){
Toast.makeText(context, "Error in creating table",
Toast.LENGTH_LONG).show();
}
}
}
在活动中调用MyDatabase.createDatabase(this)。这可能是您的解决方案
public class DbHelper extends SQLiteOpenHelper {
private static int DB_VERSION = 1;
private static final String DB_NAME = "simpleUser.sql";
private static DbHelper instance;
public DbHelper(Context context) {
super(context, DB_NAME, null, DB_VERSION);
}
public static synchronized DbHelper getHelper(Context context) {
if (instance == null)
instance = new DbHelper(context);
return instance;
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(Users.SQL_CREATE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
如果你有一个错误,你应该张贴在这里。要在Android中学习SQLite,请遵循本教程,您可以直接从活动、服务或片段调用它。您不创建任何实例(这就是为什么我为您声明一切都是静态的——在我看来,创建一个实例有点毫无意义)。如果我的回答对你有帮助,你会接受吗?:)您可以通过单击屏幕左侧箭头下方的勾号接受答案。
public class DbHelper extends SQLiteOpenHelper {
private static int DB_VERSION = 1;
private static final String DB_NAME = "simpleUser.sql";
private static DbHelper instance;
public DbHelper(Context context) {
super(context, DB_NAME, null, DB_VERSION);
}
public static synchronized DbHelper getHelper(Context context) {
if (instance == null)
instance = new DbHelper(context);
return instance;
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(Users.SQL_CREATE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}