Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.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
Java 在Android中创建数据库_Java_Android_Sql_Sqlite - Fatal编程技术网

Java 在Android中创建数据库

Java 在Android中创建数据库,java,android,sql,sqlite,Java,Android,Sql,Sqlite,好的,我已经学习了一些教程,在学习了一个教程之后创建了一个databaseHelper类。然而,我不完全理解或者不知道如何实际创建数据库 在我的mainActivity中,我已经将其添加到onCreate中,但它不会创建任何数据库,或者至少在我的Android设备监视器中没有显示任何内容 基本上,我应该如何创建数据库 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedIns

好的,我已经学习了一些教程,在学习了一个教程之后创建了一个databaseHelper类。然而,我不完全理解或者不知道如何实际创建数据库

在我的mainActivity中,我已经将其添加到onCreate中,但它不会创建任何数据库,或者至少在我的Android设备监视器中没有显示任何内容

基本上,我应该如何创建数据库

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_login);

    sharedPreferences = getSharedPreferences(PREFERENCES, Context.MODE_PRIVATE);

    dbHelper = new databaseHelper(this);

}
爪哇


非常感谢您的帮助。

如android文档中所述,在调用getWritableDatabase或getReadableDatabase之一之前,不会实际创建或打开数据库


链接:

看看这个我以前试过,但没用。然而,我刚刚意识到我是个白痴。我没有为最后3个表分配主键,因此应用程序只是抛出了一个错误。您的答案成功,因此您被选中。
public class databaseHelper extends SQLiteOpenHelper {

static final String DATABASEHELPER = "DATABASE HELPER";

static final String dbName="chefs";

//User Table Fields
static final String userTable="user";
static final String userColID="userID";
static final String userColName="firstName";
static final String userColLast="lastName";
static final String userColDOB="DOB";
static final String userColGend="gender";
static final String userColAddr="address";
static final String userColPost="postcode";
static final String userColBio="bio";
static final String userColUser="username";
static final String userColEmail="email";
static final String userColPass="password";
static final String userColPic="picture";
static final String userColLastLog="lastlogin";
static final String userColLastLogIP="lastloginIP";
static final String userColRegisteredIP="registeredIP";
static final String userColCreatedOn="createdOn";

//Recipe Table Fields
static final String recipeTable="recipe";
static final String recipeColID="recipeID";
static final String recipeColName="name";
static final String recipeColCate="category";
static final String recipeColDesc="description";
static final String recipeColUserID="user_userID";

//Ingredient Table Fields
static final String ingredientTable="ingredient";
static final String ingredientColID="ingredientID";
static final String ingredientColRecipeID="recipe_recipeID";
static final String ingredientColName="name";
static final String ingredientColAmount="amount";
static final String ingredientColUnit="unit";

//Step Table Fields
static final String stepTable="step";
static final String stepColID="stepID";
static final String stepColRecipeID="recipe_recipeID";
static final String stepColNumber="stepNumber";
static final String stepColDesc="description";

public databaseHelper(Context context) {
    super(context, dbName, null,1);

    Log.d(DATABASEHELPER, "Database Created");
}

@Override
public void onCreate(SQLiteDatabase db) {

    // Creating User Table
    db.execSQL("CREATE TABLE "+userTable+" ("+userColID+" INTEGER PRIMARY KEY AUTOINCREMENT, "+userColName+" TEXT, "+userColLast+" TEXT, "
            +userColDOB+" NUMERIC, "+userColGend+" TEXT, "+userColAddr+" TEXT, "+userColPost+" TEXT, "+userColBio+" TEXT, "
            +userColUser+" TEXT, "+userColEmail+" TEXT, "+userColPass+" TEXT, "+userColPic+" TEXT, "+userColLastLog+" NUMERIC, "
            +userColLastLogIP+" TEXT, "+userColRegisteredIP+" TEXT, "+userColCreatedOn+" NUMERIC)");

    // Creating Recipe Table
    db.execSQL("CREATE TABLE "+recipeTable+" ("+recipeColID+" INTEGER AUTOINCREMENT, "+recipeColName+" INTEGER, "+recipeColCate+" TEXT, "
            +recipeColDesc+" TEXT, "+recipeColUserID+" INTEGER");

    // Creating Ingredient Table
    db.execSQL("CREATE TABLE "+ingredientTable+" ("+ingredientColID+" INTEGER AUTOINCREMENT, "+ingredientColRecipeID+" TEXT ,"+ingredientColName+" TEXT, "
            +ingredientColAmount+" INTEGER, "+ingredientColUnit+" TEXT");

    db.execSQL("CREATE TABLE "+stepTable+" ("+stepColID+" INTEGER AUTOINCREMENT, "+stepColRecipeID+" INTEGER, "+stepColNumber+" INTEGER, "
            +stepColDesc+" TEXT");


}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    Log.d(DATABASEHELPER, "Upgrading Database");

}
}