Java 如何在android中使用SQLite?

Java 如何在android中使用SQLite?,java,android,sqlite,Java,Android,Sqlite,我已经找到了这个主题的一些答案(例如),但它不起作用。我只得到警告,它无法解析方法“openOrCreateDatabase(java.lang.String,int,null)” 以下是我的源代码: public class DBHandler { SQLiteDatabase database; DBHandler() { database = openOrCreateDatabase("DatabaseName", Context.MODE_PRIV

我已经找到了这个主题的一些答案(例如),但它不起作用。我只得到警告,它无法解析方法“openOrCreateDatabase(java.lang.String,int,null)”

以下是我的源代码:

public class DBHandler
{
    SQLiteDatabase database;
    DBHandler()
    {
        database = openOrCreateDatabase("DatabaseName", Context.MODE_PRIVATE, null);
    }
}
是一个开源SQL数据库,将数据存储到设备上的文本文件中。Android自带了内置的SQLite数据库实现

请查看以下链接

  • 结构

     public class MySQLiteHelper extends SQLiteOpenHelper {
    
      public static final String TABLE_COMMENTS = "comments";
      public static final String COLUMN_ID = "_id";
      public static final String COLUMN_COMMENT = "comment";
    
      private static final String DATABASE_NAME = "commments.db";
      private static final int DATABASE_VERSION = 1;
    
      // Database creation sql statement
      private static final String DATABASE_CREATE = "create table "
          + TABLE_COMMENTS + "(" + COLUMN_ID
          + " integer primary key autoincrement, " + COLUMN_COMMENT
          + " text not null);";
    
      public MySQLiteHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
      }
    
      @Override
      public void onCreate(SQLiteDatabase database) {
        database.execSQL(DATABASE_CREATE);
      }
    
      @Override
      public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        Log.w(MySQLiteHelper.class.getName(),
            "Upgrading database from version " + oldVersion + " to "
                + newVersion + ", which will destroy all old data");
        db.execSQL("DROP TABLE IF EXISTS " + TABLE_COMMENTS);
        onCreate(db);
      }
    
    } 
    
    是一个开源SQL数据库,将数据存储到设备上的文本文件中。Android自带了内置的SQLite数据库实现

    请查看以下链接

  • 结构

     public class MySQLiteHelper extends SQLiteOpenHelper {
    
      public static final String TABLE_COMMENTS = "comments";
      public static final String COLUMN_ID = "_id";
      public static final String COLUMN_COMMENT = "comment";
    
      private static final String DATABASE_NAME = "commments.db";
      private static final int DATABASE_VERSION = 1;
    
      // Database creation sql statement
      private static final String DATABASE_CREATE = "create table "
          + TABLE_COMMENTS + "(" + COLUMN_ID
          + " integer primary key autoincrement, " + COLUMN_COMMENT
          + " text not null);";
    
      public MySQLiteHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
      }
    
      @Override
      public void onCreate(SQLiteDatabase database) {
        database.execSQL(DATABASE_CREATE);
      }
    
      @Override
      public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        Log.w(MySQLiteHelper.class.getName(),
            "Upgrading database from version " + oldVersion + " to "
                + newVersion + ", which will destroy all old data");
        db.execSQL("DROP TABLE IF EXISTS " + TABLE_COMMENTS);
        onCreate(db);
      }
    
    } 
    

    正如注释者给出的示例,您将需要创建SQLiteOpenHelper类的子类,并重写将创建数据库和表的onCreate和onUpgrade方法。然后,您可以使用这个helper类的getReadableDatabase()或getWriteableDatabase()方法来获取SQLite数据库的副本。您可以在此对象上执行查询。 下面的代码片段演示了这一点

    public class DBAdapter {
    private SQLiteDatabase database;
    private Context context;
    private DatabaseHelper dbHelper;
    
    
    private class DatabaseHelper extends SQLiteOpenHelper {
    
        public DatabaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
            super(context, name, factory, version);
        }
    
        @Override
        public void onCreate(SQLiteDatabase db) {
            db.execSQL(CREATE_TABLES_QUERY);
        }
    
        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
            db.execSQL("DROP TABLE IF EXIST "+TABLE_QUERY);
        }
    }
    
    public DBAdapter(Context ctx) {
        this.context = ctx;
    
    }
    
    public DBAdapter open() throws SQLException {
        dbHelper = new DatabaseHelper(context, DBNAME, null,DBVERSION);
        database = dbHelper.getWritableDatabase();
        return this;
    }
    
    public Cursor executeQuery() {
        Cursor result = database.rawQuery(YOUR_QUERY, null);
        return result;
    }
    
    }

    使用它可以获得更多帮助


    我希望这会有所帮助。

    正如评论员给您提供的示例一样,您需要创建SQLiteOpenHelper类的子类,并重写将创建数据库和表的onCreate和onUpgrade方法。然后,您可以使用这个helper类的getReadableDatabase()或getWriteableDatabase()方法来获取SQLite数据库的副本。您可以在此对象上执行查询。 下面的代码片段演示了这一点

    public class DBAdapter {
    private SQLiteDatabase database;
    private Context context;
    private DatabaseHelper dbHelper;
    
    
    private class DatabaseHelper extends SQLiteOpenHelper {
    
        public DatabaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
            super(context, name, factory, version);
        }
    
        @Override
        public void onCreate(SQLiteDatabase db) {
            db.execSQL(CREATE_TABLES_QUERY);
        }
    
        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
            db.execSQL("DROP TABLE IF EXIST "+TABLE_QUERY);
        }
    }
    
    public DBAdapter(Context ctx) {
        this.context = ctx;
    
    }
    
    public DBAdapter open() throws SQLException {
        dbHelper = new DatabaseHelper(context, DBNAME, null,DBVERSION);
        database = dbHelper.getWritableDatabase();
        return this;
    }
    
    public Cursor executeQuery() {
        Cursor result = database.rawQuery(YOUR_QUERY, null);
        return result;
    }
    
    }

    使用它可以获得更多帮助


    我希望它能有所帮助。

    使用下面的示例创建数据库

     import android.content.ContentValues;
            import android.content.Context;
            import android.database.sqlite.SQLiteDatabase;
            import android.database.sqlite.SQLiteOpenHelper;
            import android.util.Log;
    
            import com.ayconsultancy.sumeshmedicals.SumeshMedicalContext;
            import com.ayconsultancy.sumeshmedicals.model.PlaceModel;
            import com.ayconsultancy.sumeshmedicals.utils.Utils;
    
            import org.json.JSONArray;
            import org.json.JSONException;
            import org.json.JSONObject;
    
            import java.util.ArrayList;
    
            /**
             * Created by Admin33 on 16-02-2016.
             */
            public class DBHelper extends SQLiteOpenHelper {
                static String DATABASE_NAME = "sumesh_medicals";
                static int DATABASE_VERSION = 1;
                static DBHelper dbHelperInstance;
                static SQLiteDatabase db;
    
                public DBHelper(Context context) {
                    super(context, DATABASE_NAME, null, DATABASE_VERSION);
                }
    
                public static DBHelper getInstance() {
                    if (dbHelperInstance == null) {
                        dbHelperInstance = new DBHelper(SumeshMedicalContext.getContext());
                    }
                    return dbHelperInstance;
                }
    
                @Override
                public void onCreate(SQLiteDatabase db) {
                    Utils.ShowLogD("in sqlite oncreate");
                    try {
                        db.execSQL(DBQueries.CREATE_OTC_TABLE);
                        db.execSQL(DBQueries.CREATE_SHOP_DETAILS_TABLE);
                        db.execSQL(DBQueries.CREATE_USER_DETAILS_TABLE);
                        db.execSQL(DBQueries.CREATE_CITY_TABLE);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
    
                   // insertIntoShopDetails(db);
                    //  insertIntoOTcPrescrion(db);
    
                }
    
                public synchronized SQLiteDatabase getDababase() {
                    if (db == null || (db != null && !db.isOpen())) {
                        db = this.getWritableDatabase();
                    }
                    return db;
                }
    
                public synchronized void close() {
                    super.close();
                    if (db != null)
                        db.close();
                }
    
                @Override
                public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    
                }
    }
    

    使用下面的示例创建数据库

     import android.content.ContentValues;
            import android.content.Context;
            import android.database.sqlite.SQLiteDatabase;
            import android.database.sqlite.SQLiteOpenHelper;
            import android.util.Log;
    
            import com.ayconsultancy.sumeshmedicals.SumeshMedicalContext;
            import com.ayconsultancy.sumeshmedicals.model.PlaceModel;
            import com.ayconsultancy.sumeshmedicals.utils.Utils;
    
            import org.json.JSONArray;
            import org.json.JSONException;
            import org.json.JSONObject;
    
            import java.util.ArrayList;
    
            /**
             * Created by Admin33 on 16-02-2016.
             */
            public class DBHelper extends SQLiteOpenHelper {
                static String DATABASE_NAME = "sumesh_medicals";
                static int DATABASE_VERSION = 1;
                static DBHelper dbHelperInstance;
                static SQLiteDatabase db;
    
                public DBHelper(Context context) {
                    super(context, DATABASE_NAME, null, DATABASE_VERSION);
                }
    
                public static DBHelper getInstance() {
                    if (dbHelperInstance == null) {
                        dbHelperInstance = new DBHelper(SumeshMedicalContext.getContext());
                    }
                    return dbHelperInstance;
                }
    
                @Override
                public void onCreate(SQLiteDatabase db) {
                    Utils.ShowLogD("in sqlite oncreate");
                    try {
                        db.execSQL(DBQueries.CREATE_OTC_TABLE);
                        db.execSQL(DBQueries.CREATE_SHOP_DETAILS_TABLE);
                        db.execSQL(DBQueries.CREATE_USER_DETAILS_TABLE);
                        db.execSQL(DBQueries.CREATE_CITY_TABLE);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
    
                   // insertIntoShopDetails(db);
                    //  insertIntoOTcPrescrion(db);
    
                }
    
                public synchronized SQLiteDatabase getDababase() {
                    if (db == null || (db != null && !db.isOpen())) {
                        db = this.getWritableDatabase();
                    }
                    return db;
                }
    
                public synchronized void close() {
                    super.close();
                    if (db != null)
                        db.close();
                }
    
                @Override
                public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    
                }
    }
    

    要将数据保存到sqlite中,请使用以下main中的first

    public class MainActivity extends AppCompatActivity {
    
    String one,two;
    EditText name,phone;
    Button saveButton;
    List<StudentModel> list = new ArrayList<StudentModel>();
    DatabaseHelper db;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    
        db = new DatabaseHelper(getApplicationContext());
    
        saveButton=(Button)findViewById(R.id.submit);
        name=(EditText)findViewById(R.id.textName);
        phone=(EditText)findViewById(R.id.textPhone);
    
        saveButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
    
                StudentModel student = new StudentModel();
                student.name = name.getText().toString();
                student.phone_number = phone.getText().toString();
                db.addStudentDetail(student);
    
                list = db.getAllStudentsList();
                print(list);
    
    
    
    
            }
        });
    }
    private void print(List<StudentModel> list) {
    
        String value = "";
        for(StudentModel sm : list){
            value = value+"id: "+sm.id+", name: "+sm.name+" Ph_no: "+sm.phone_number+"\n";
        }
    
        Log.i("<<<<<<<<<<",value);
    
    }
    
    
    }
    

    尝试使用以下方法将数据保存到sqlite中

    public class MainActivity extends AppCompatActivity {
    
    String one,two;
    EditText name,phone;
    Button saveButton;
    List<StudentModel> list = new ArrayList<StudentModel>();
    DatabaseHelper db;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    
        db = new DatabaseHelper(getApplicationContext());
    
        saveButton=(Button)findViewById(R.id.submit);
        name=(EditText)findViewById(R.id.textName);
        phone=(EditText)findViewById(R.id.textPhone);
    
        saveButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
    
                StudentModel student = new StudentModel();
                student.name = name.getText().toString();
                student.phone_number = phone.getText().toString();
                db.addStudentDetail(student);
    
                list = db.getAllStudentsList();
                print(list);
    
    
    
    
            }
        });
    }
    private void print(List<StudentModel> list) {
    
        String value = "";
        for(StudentModel sm : list){
            value = value+"id: "+sm.id+", name: "+sm.name+" Ph_no: "+sm.phone_number+"\n";
        }
    
        Log.i("<<<<<<<<<<",value);
    
    }
    
    
    }
    

    试试看

    这是我的代码,告诉你如何使用sqlite数据库

     import android.content.ContentValues;
            import android.content.Context;
            import android.database.sqlite.SQLiteDatabase;
            import android.database.sqlite.SQLiteOpenHelper;
            import android.util.Log;
    
            import com.ayconsultancy.sumeshmedicals.SumeshMedicalContext;
            import com.ayconsultancy.sumeshmedicals.model.PlaceModel;
            import com.ayconsultancy.sumeshmedicals.utils.Utils;
    
            import org.json.JSONArray;
            import org.json.JSONException;
            import org.json.JSONObject;
    
            import java.util.ArrayList;
    
            /**
             * Created by Admin33 on 16-02-2016.
             */
            public class DBHelper extends SQLiteOpenHelper {
                static String DATABASE_NAME = "sumesh_medicals";
                static int DATABASE_VERSION = 1;
                static DBHelper dbHelperInstance;
                static SQLiteDatabase db;
    
                public DBHelper(Context context) {
                    super(context, DATABASE_NAME, null, DATABASE_VERSION);
                }
    
                public static DBHelper getInstance() {
                    if (dbHelperInstance == null) {
                        dbHelperInstance = new DBHelper(SumeshMedicalContext.getContext());
                    }
                    return dbHelperInstance;
                }
    
                @Override
                public void onCreate(SQLiteDatabase db) {
                    Utils.ShowLogD("in sqlite oncreate");
                    try {
                        db.execSQL(DBQueries.CREATE_OTC_TABLE);
                        db.execSQL(DBQueries.CREATE_SHOP_DETAILS_TABLE);
                        db.execSQL(DBQueries.CREATE_USER_DETAILS_TABLE);
                        db.execSQL(DBQueries.CREATE_CITY_TABLE);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
    
                   // insertIntoShopDetails(db);
                    //  insertIntoOTcPrescrion(db);
    
                }
    
                public synchronized SQLiteDatabase getDababase() {
                    if (db == null || (db != null && !db.isOpen())) {
                        db = this.getWritableDatabase();
                    }
                    return db;
                }
    
                public synchronized void close() {
                    super.close();
                    if (db != null)
                        db.close();
                }
    
                @Override
                public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    
                }
    }
    
    DatabaseHelper.java

                public class DatabaseHelper extends SQLiteOpenHelper {
    
                        public DatabaseHelper(Context context) {
                            super(context, "loginDB.db", null, 1);
                            getWritableDatabase();
                        }
    
                        @Override
                        public void onCreate(SQLiteDatabase sqLiteDatabase) {
                            String query = "create table registration (id INTEGER,Image BLOB,firstname VARCHAR,Lastname VARCHAR,DateOfBirth VARCHAR,Phone VARCHAR,Gender VARCHAR, Email VARCHAR primary key,Password VARCHAR);";
                            sqLiteDatabase.execSQL(query);
                        }
    
                        @Override
                        public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
    
                        }
                //method for insert data
                public boolean insertRecord(byte[] imageInByte,String fn) {
                    SQLiteDatabase db = this.getWritableDatabase();
                    ContentValues contentValues = new ContentValues();
                    contentValues.put("Image", imageInByte);
                    contentValues.put("Firstname", fn);
                    db.insert("signup", null, contentValues);
                    return true;
                }
    
           public boolean updaterecord(String fn,String ln,String unme){
                    SQLiteDatabase db = this.getWritableDatabase();
                    ContentValues contentValues = new ContentValues();
                    contentValues.put("Firstname", fn);
                    contentValues.put("Lastname", ln);
                    contentValues.put("Username", unme);
                    return db.update(TABLE_NAME, contentValues, "Username = ?", new String[]{(unme)}) > 0;
                }
    
    public boolean deleterecord(String FirstName) {
    
                SQLiteDatabase db = this.getWritableDatabase();
                return db.delete(TABLE_NAME, "Firstname = ?", new String[]{FirstName}) > 0;
            }
    
                 public int displayDetail(String email, String password) {
                        SQLiteDatabase db = this.getWritableDatabase();
                        Cursor cursor = db.rawQuery("select * from registration where Email='" + email + "'AND Password='" + password + "'", null);
    
                        return cursor.getCount();
                    }
    
                    public ArrayList displayDetails(String email, String password) {
                        SQLiteDatabase db = this.getWritableDatabase();
                        Cursor cursor = db.rawQuery("select * from registration where Email='" + email + "'AND Password='" + password + "'", null);
    
                        ArrayList<ModelClass> arrayList = new ArrayList();
                        ModelClass model;
                        if (cursor != null) {
                            if (cursor.getCount() > 0) {
                                while (cursor.moveToNext()) {
                                    model = new Model();
                                    model.setFirstname(cursor.getString(cursor.getColumnIndex("Firstname")));
                                    model.setLastname(cursor.getString(cursor.getColumnIndex("Lastname")));
                                    arrayList.add(model);
                                }
                            }
                        }
                        return arrayList;
                    }
                    }
    
    public类DatabaseHelper扩展了SQLiteOpenHelper{
    公共数据库助手(上下文){
    super(上下文“loginDB.db”,null,1);
    getWritableDatabase();
    }
    @凌驾
    public void onCreate(SQLiteDatabase SQLiteDatabase){
    String query=“创建表注册(id INTEGER、Image BLOB、firstname VARCHAR、Lastname VARCHAR、DateOfBirth VARCHAR、Phone VARCHAR、Gender VARCHAR、Email VARCHAR主键、Password VARCHAR);”;
    execSQL(查询);
    }
    @凌驾
    public void onUpgrade(SQLiteDatabase SQLiteDatabase,inti,inti1){
    }
    //插入数据的方法
    公共布尔插入记录(字节[]imageInByte,字符串fn){
    SQLiteDatabase db=this.getWritableDatabase();
    ContentValues ContentValues=新ContentValues();
    contentValues.put(“图像”,imageInByte);
    contentValues.put(“Firstname”,fn);
    db.insert(“signup”,null,contentValues);
    返回true;
    }
    公共布尔更新记录(字符串fn、字符串ln、字符串埃厄特派团){
    SQLiteDatabase db=this.getWritableDatabase();
    ContentValues ContentValues=新ContentValues();
    contentValues.put(“Firstname”,fn);
    contentValues.put(“Lastname”,ln);
    contentValues.put(“用户名”,埃厄特派团);
    返回db.update(TABLE_NAME,contentValues,“Username=?”,新字符串[]{(埃厄特派团)}>0;
    }
    公共布尔deleterecord(字符串名){
    SQLiteDatabase db=this.getWritableDatabase();
    返回db.delete(表_NAME,“Firstname=?”,新字符串[]{Firstname})>0;
    }
    public int displayDetail(字符串电子邮件、字符串密码){
    SQLiteDatabase db=this.getWritableDatabase();
    Cursor Cursor=db.rawQuery(“从注册中选择*,其中Email='”+Email+“'和Password='“+Password+””,null);
    返回cursor.getCount();
    }
    公共ArrayList显示详细信息(字符串电子邮件、字符串密码){
    SQLiteDatabase db=this.getWritableDatabase();
    Cursor Cursor=db.rawQuery(“从注册中选择*,其中Email='”+Email+“'和Password='“+Password+””,null);
    ArrayList ArrayList=新的ArrayList();
    模型类模型;
    如果(光标!=null){
    if(cursor.getCount()>0){
    while(cursor.moveToNext()){
    模型=新模型();
    model.setFirstname(cursor.getString(cursor.getColumnIndex(“Firstname”));
    model.setLastname(cursor.getString(cursor.getColumnIndex(“Lastname”));
    arrayList.add(模型);
    }
    }
    }
    返回数组列表;
    }
    }
    
    以下是我如何使用sqlite数据库的代码

     import android.content.ContentValues;
            import android.content.Context;
            import android.database.sqlite.SQLiteDatabase;
            import android.database.sqlite.SQLiteOpenHelper;
            import android.util.Log;
    
            import com.ayconsultancy.sumeshmedicals.SumeshMedicalContext;
            import com.ayconsultancy.sumeshmedicals.model.PlaceModel;
            import com.ayconsultancy.sumeshmedicals.utils.Utils;
    
            import org.json.JSONArray;
            import org.json.JSONException;
            import org.json.JSONObject;
    
            import java.util.ArrayList;
    
            /**
             * Created by Admin33 on 16-02-2016.
             */
            public class DBHelper extends SQLiteOpenHelper {
                static String DATABASE_NAME = "sumesh_medicals";
                static int DATABASE_VERSION = 1;
                static DBHelper dbHelperInstance;
                static SQLiteDatabase db;
    
                public DBHelper(Context context) {
                    super(context, DATABASE_NAME, null, DATABASE_VERSION);
                }
    
                public static DBHelper getInstance() {
                    if (dbHelperInstance == null) {
                        dbHelperInstance = new DBHelper(SumeshMedicalContext.getContext());
                    }
                    return dbHelperInstance;
                }
    
                @Override
                public void onCreate(SQLiteDatabase db) {
                    Utils.ShowLogD("in sqlite oncreate");
                    try {
                        db.execSQL(DBQueries.CREATE_OTC_TABLE);
                        db.execSQL(DBQueries.CREATE_SHOP_DETAILS_TABLE);
                        db.execSQL(DBQueries.CREATE_USER_DETAILS_TABLE);
                        db.execSQL(DBQueries.CREATE_CITY_TABLE);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
    
                   // insertIntoShopDetails(db);
                    //  insertIntoOTcPrescrion(db);
    
                }
    
                public synchronized SQLiteDatabase getDababase() {
                    if (db == null || (db != null && !db.isOpen())) {
                        db = this.getWritableDatabase();
                    }
                    return db;
                }
    
                public synchronized void close() {
                    super.close();
                    if (db != null)
                        db.close();
                }
    
                @Override
                public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    
                }
    }
    
    DatabaseHelper.java

                public class DatabaseHelper extends SQLiteOpenHelper {
    
                        public DatabaseHelper(Context context) {
                            super(context, "loginDB.db", null, 1);
                            getWritableDatabase();
                        }
    
                        @Override
                        public void onCreate(SQLiteDatabase sqLiteDatabase) {
                            String query = "create table registration (id INTEGER,Image BLOB,firstname VARCHAR,Lastname VARCHAR,DateOfBirth VARCHAR,Phone VARCHAR,Gender VARCHAR, Email VARCHAR primary key,Password VARCHAR);";
                            sqLiteDatabase.execSQL(query);
                        }
    
                        @Override
                        public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
    
                        }
                //method for insert data
                public boolean insertRecord(byte[] imageInByte,String fn) {
                    SQLiteDatabase db = this.getWritableDatabase();
                    ContentValues contentValues = new ContentValues();
                    contentValues.put("Image", imageInByte);
                    contentValues.put("Firstname", fn);
                    db.insert("signup", null, contentValues);
                    return true;
                }
    
           public boolean updaterecord(String fn,String ln,String unme){
                    SQLiteDatabase db = this.getWritableDatabase();
                    ContentValues contentValues = new ContentValues();
                    contentValues.put("Firstname", fn);
                    contentValues.put("Lastname", ln);
                    contentValues.put("Username", unme);
                    return db.update(TABLE_NAME, contentValues, "Username = ?", new String[]{(unme)}) > 0;
                }
    
    public boolean deleterecord(String FirstName) {
    
                SQLiteDatabase db = this.getWritableDatabase();
                return db.delete(TABLE_NAME, "Firstname = ?", new String[]{FirstName}) > 0;
            }
    
                 public int displayDetail(String email, String password) {
                        SQLiteDatabase db = this.getWritableDatabase();
                        Cursor cursor = db.rawQuery("select * from registration where Email='" + email + "'AND Password='" + password + "'", null);
    
                        return cursor.getCount();
                    }
    
                    public ArrayList displayDetails(String email, String password) {
                        SQLiteDatabase db = this.getWritableDatabase();
                        Cursor cursor = db.rawQuery("select * from registration where Email='" + email + "'AND Password='" + password + "'", null);
    
                        ArrayList<ModelClass> arrayList = new ArrayList();
                        ModelClass model;
                        if (cursor != null) {
                            if (cursor.getCount() > 0) {
                                while (cursor.moveToNext()) {
                                    model = new Model();
                                    model.setFirstname(cursor.getString(cursor.getColumnIndex("Firstname")));
                                    model.setLastname(cursor.getString(cursor.getColumnIndex("Lastname")));
                                    arrayList.add(model);
                                }
                            }
                        }
                        return arrayList;
                    }
                    }
    
    public类DatabaseHelper扩展了SQLiteOpenHelper{
    公共数据库助手(上下文){
    super(上下文“loginDB.db”,null,1);
    getWritableDatabase();
    }
    @凌驾
    public void onCreate(SQLiteDatabase SQLiteDatabase){
    String query=“创建表注册(id整数、图像BLOB、firstname VARCHAR、Lastname VARCHAR、DateOfBirth VARCHAR、Phone VAR