【问题标题】:Inserting to sqlite db from different Activities Android从不同的活动 Android 插入到 sqlite db
【发布时间】:2016-06-18 21:53:58
【问题描述】:
  final SQLiteDatabase mydb = openOrCreateDatabase("phone_calls",MODE_PRIVATE,null);
  mydb.execSQL("CREATE TABLE IF NOT EXISTS Numbers(PhoneNumber VARCHAR,FullName     VARCHAR,Cost VARCHAR );");
 mydb.execSQL("CREATE TABLE IF NOT EXISTS Calls(FromNum VARCHAR,ToNum     VARCHAR,duration VARCHAR );");

我在活动 1 中创建了这个 sqlite。我在第一个活动的第一个表中插入了一些数据。

现在我创建了第二个活动,我想将数据插入另一个表?我该怎么办?在第二个活动中再次创建数据库并插入其中?还是有其他方法?

【问题讨论】:

  • 保留原始数据库对象不是首选方法,但您不会再次创建数据库。该方法被称为openOrCreateDatabase 是有原因的

标签: java android sqlite


【解决方案1】:

首先,您应该阅读文档 - https://developer.android.com/training/basics/data-storage/databases.html

接下来,您应该尝试编写简单的应用程序以使用新知识。

如果失败,则用更多代码发布问题 Logcat 输出。

【讨论】:

    【解决方案2】:

    只需创建一个数据库助手类,它将创建您的所有表, 然后创建所需的方法,如 saveObject(YourObject)、deleteObject(id)、 等等……

    使您的助手单例并在 onCreate() 中的 Application 中启动一次

    只需在您的活动中使用它。

    例如你可以看这里:https://gist.github.com/mikeplate/9173040

    【讨论】:

    • 我在没有使用数据库助手的情况下创建了数据库。我想在另一个活动中访问这个数据库的所有内容。在这种情况下我是否也应该创建数据库助手类?
    猜你喜欢
    • 2013-02-07
    • 1970-01-01
    • 1970-01-01
    • 2011-01-27
    • 1970-01-01
    • 2019-12-31
    • 2012-02-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多