Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android SQLITE数据库方法错误_Android_Sqlite - Fatal编程技术网

Android SQLITE数据库方法错误

Android SQLITE数据库方法错误,android,sqlite,Android,Sqlite,我是android新手,正在学习SQLitedatabase。我正在尝试创建一个新数据库。为什么此代码中的“openorCreateDatabase()”方法不为人所知。 toast.maketext()中的getApplicationContext()方法如何 }因为您没有在上下文对象上调用它。例如,在活动内部,您可以访问这些方法,因为活动扩展了上下文,但不在某些任意类中。相反,请使用以下命令: public final class MyDatabase { static Strin

我是android新手,正在学习SQLitedatabase。我正在尝试创建一个新数据库。为什么此代码中的“openorCreateDatabase()”方法不为人所知。 toast.maketext()中的getApplicationContext()方法如何


}因为您没有在上下文对象上调用它。例如,在活动内部,您可以访问这些方法,因为活动扩展了上下文,但不在某些任意类中。相反,请使用以下命令:

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) {
        }
    }