【问题标题】:Android SQlite Database storing to phone's memory and retrievingAndroid SQlite 数据库存储到手机内存和检索
【发布时间】:2015-11-13 08:11:56
【问题描述】:

我对 android 和数据库比较陌生。我正在开发一个应用程序,我将所有详细信息存储在用户输入的数据库中。当用户输入所有详细信息时,我想提供一个选项来保存整个数据库。当他回到应用程序时,他必须能够创建一个新数据库或打开以前存储的数据库。我检查了很多文章,但我不太确定。欢迎任何帮助。我已经在下面发布了我的数据库程序。

public class DBHandler extends SQLiteOpenHelper {
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_NAME = "productDB.db";
public static final String TABLE_INFO = "info";
public static final String COLUMN_ID1 = "_id1";
public static final String COLUMN_PLAYER = "player";
public static final String COLUMN_RUNSSCORED = "runsscored";
public static final String COLUMN_BALLSFACED = "ballsfaced";
public static final String COLUMN_WICKETS = "wickets";

public DBHandler(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
    super(context, DATABASE_NAME, factory, DATABASE_VERSION);
}

@Override
public void onCreate(SQLiteDatabase db) {
            String query1 = "CREATE TABLE " + TABLE_SCOREINFO + "(" +
            COLUMN_ID1 + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
            COLUMN_PLAYER + " TEXT, " + COLUMN_RUNSSCORED + " INTEGER, " +
            COLUMN_BALLSFACED + " INTEGER, " +
            COLUMN_WICKETS +  " INTEGER " + ");";
    db.execSQL(query1);
}

我也写了相应的行添加代码。现在,当用户单击特定按钮时,该数据库必须存储在内存中,以后如果用户希望输入新的详细信息,那么我如何创建新数据库,如果他希望打开以前存储的数据,如何检索它?

【问题讨论】:

    标签: android android-studio android-sqlite


    【解决方案1】:

    首先,大多数使用静态数据库名称和版本的人会像这样简化他们的 SQLiteOpenHelper 构造函数:

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

    DATABASE_NAME 是文件系统上数据库文件的名称(具体来说,在应用程序数据目录的databases 目录中)。这意味着上面的代码总是打开同一个数据库文件。如果这就是你想要的,那么你就完成了。

    如果你真的想要单独的数据库文件,那么你需要允许不同的数据库名称,例如:

    public DBHandler(Context context, String dbName) {
        super(context, dbName, null, DATABASE_VERSION);
    }
    

    【讨论】:

      猜你喜欢
      • 2011-12-30
      • 1970-01-01
      • 2015-03-16
      • 2016-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多