Android 为什么不创建sqlite数据库?

Android 为什么不创建sqlite数据库?,android,android-sqlite,sqliteopenhelper,saving-data,Android,Android Sqlite,Sqliteopenhelper,Saving Data,我知道这是一个重复的问题,但我已经搜索了所有相同的问题,没有解决我的问题。我试图创建一个包含一个表(用户信息)的sqlite数据库,当用户按下注册按钮时,我检查他的电子邮件是否存在于该表中,但数据库没有创建(我查看了项目数据文件,没有发现任何内容),而且没有出现明显的异常 以下是myDatabaseContract类: package com.example.registerandlogingapp; import android.provider.BaseColumns; public c

我知道这是一个重复的问题,但我已经搜索了所有相同的问题,没有解决我的问题。我试图创建一个包含一个表(用户信息)的sqlite数据库,当用户按下注册按钮时,我检查他的电子邮件是否存在于该表中,但数据库没有创建(我查看了项目数据文件,没有发现任何内容),而且没有出现明显的异常

以下是myDatabaseContract类:

package com.example.registerandlogingapp;

import android.provider.BaseColumns;

public class MyDatabaseContract {

class UsersInformation implements BaseColumns {

    public static final String TABLE_NAME = "Users_Information";

    public static  final String USER_EMAIL_COLUMN = "User_Email";

    public static final String USER_PASSWORD_COLUMN = "User_Password";


}

} 
下面是myDatabaseHelper类:

package com.example.registerandlogingapp;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class MyDatabaseHelper extends SQLiteOpenHelper {

private static final String DATABASE_NAME = "MyDatabase.db";

private static final int DATABASE_VERSION = 1;

private static  String sqlCreateTable ;

public MyDatabaseHelper( Context context) {

super(context, DATABASE_NAME,null,DATABASE_VERSION);
}

@Override
public void onCreate(SQLiteDatabase db) {

sqlCreateTable = "CREATE TABLE  " + MyDatabaseContract.UsersInformation.TABLE_NAME

+ "(" + MyDatabaseContract.UsersInformation._ID +" INTEGER PRIMARY KEY," + MyDatabaseContract.UsersInformation.USER_EMAIL_COLUMN +" TEXT,"

+ MyDatabaseContract.UsersInformation.USER_PASSWORD_COLUMN + " TEXT);"; 

 db.execSQL(sqlCreateTable;
}

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

 }
 }
以下是注册表活动:

   package com.example.registerandlogingapp;
import androidx.appcompat.app.AppCompatActivity;
import android.database.Cursor;
 import  android.database.sqlite.SQLiteDatabase;
 import android.os.Bundle;
 import android.util.Log;
 import android.view.View;
 import android.widget.Button;
 import android.widget.EditText;
 import android.widget.Toast;

public class RegisterActivity extends AppCompatActivity {

MyDatabaseHelper myDatabaseHelper;

SQLiteDatabase myDatabase;

Cursor cursor;

@Override
protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);


setContentView(R.layout.activity_register);

myDatabaseHelper = new MyDatabaseHelper(this);

myDatabase = myDatabaseHelper.getReadableDatabase();

Button registerButton = (Button) findViewById(R.id.registerButton);


registerButton.setOnClickListener(registerButtonListener);
}
 View.OnClickListener registerButtonListener = new View.OnClickListener()  {
  @Override
  public void onClick(View v) {

     String [] projection = { MyDatabaseContract.UsersInformation.USER_EMAIL_COLUMN };

     cursor = myDatabase.query(MyDatabaseContract.UsersInformation.TABLE_NAME,projection,null,null,null,null,

    
MyDatabaseContract.UsersInformation.USER_EMAIL_COLUMN);

     EditText emailEditText= (EditText) findViewById(R.id.emailEditText);

     String email = emailEditText.getText().toString();

     
while(cursor.moveToNext())
     {
         
Log.d("User_Email",cursor.getString(0));

         
if(cursor.getString(0).equals(email))
         {
             
Toast.makeText( getApplicationContext(),"This email already exists, please enter a different email",Toast.LENGTH_SHORT).show();
         }
         else {

             
Toast.makeText( getApplicationContext(),"You have successfully registered",Toast.LENGTH_SHORT).show();
         }
     }
     if(cursor != null)
     {
         
cursor.close();
     }
 }
 };

 @Override
 protected void onDestroy() {

if(myDatabaseHelper != null) {

    myDatabaseHelper.close();
}

if(myDatabase != null)
{
    myDatabase.close();
}

super.onDestroy();
}
}

尝试此[MyDatabaseHelper已编辑]

public static class MyDatabaseHelper extends SQLiteOpenHelper
{
    
    private static final int DATABASE_VERSION = 1;
    private static final String DATABASE_NAME = "MyDatabase.db";
    private static  String sqlCreateTable ;

    public MyDatabaseHelper(Context context)
    {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

     @Override
     public void onCreate(SQLiteDatabase db) {
            sqlCreateTable = "CREATE TABLE IF NOT EXISTS " + MyDatabaseContract.UsersInformation.TABLE_NAME + "("
                 + MyDatabaseContract.UsersInformation._ID + " INTEGER PRIMARY KEY ," + MyDatabaseContract.UsersInformation.USER_EMAIL_COLUMN + " TEXT NOT NULL,"
                 + MyDatabaseContract.UsersInformation.USER_PASSWORD_COLUMN + " TEXT )" ;

            db.execSQL(sqlCreateTable);             

        }

        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
            db.execSQL("DROP TABLE IF EXISTS " + MyDatabaseContract.UsersInformation.TABLE_NAME);
           
        }}

你的意思是在运行应用程序后无法看到SQLite文件夹?@Brahma Datta是的,并且查询未实现,没有出现异常。你是否尝试将数据输入SQLite数据库?我看到没有将数据存储到数据库中的代码@穆罕默德