首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >安卓SQLite问题

安卓SQLite问题
EN

Stack Overflow用户
提问于 2011-04-30 02:27:16
回答 1查看 160关注 0票数 0

我在这里问了一些关于SQLite的问题,也许是因为我不完全理解它是如何工作的。我正在读两本使用教程和例子的书,但我很难弄清楚我将如何做到这一点。

我要做的是,一个用户创建一个列表,他们点击一个加号按钮,输入一个列名,列表视图显示他们创建的列表(列表视图被插入到一个ArrayList中)。我想使用这个ArrayList并使用字符串来创建表列。

现在,我使用的示例是创建扩展SQLiteOpenHelper的类和另一个只扩展活动并显示布局和数据的类。

我的问题是:

  1. ,什么叫扩展SQLiteOpenHelper以创建数据库的类?这是从启动应用程序自动运行吗?还是在我的活动中调用它?

  1. ,我计划在FOR循环中使用ArrayList构建一个长字符串,以便为其列创建create字符串。我将如何将ArrayList带到SQLite类?我正在考虑使用捆绑的意图,但我不确定这是否有效(或者它会吗?)。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-04-30 03:24:16

  1. 实现SQLiteOpenHelper“提供了两种主要的重写方法: onCreate和onUpgrade。onCreate将在您第一次创建助手实例时自动调用,并且只有在数据库尚不存在的情况下才会自动调用。它位于执行create语句的onCreate中。

然后,您可以使用这个helper对象获取数据库的实例,可以是可读的,也可以是可写的,这取决于您需要什么:getWritableDatabasegetReadableDatabase。这些方法返回一个数据库对象,您可以对其执行查询。

从这里开始,您可以将

  1. 包装在超类中,也可以将查询/插入/删除/更新方法添加到帮助程序中。它们将接受一个可读或可写的实例,例如,插入您要添加的任何内容的列表。这里不需要意图,您将直接获得Helper/Wrapper实例并在那里执行操作。

编辑-如何将数组列表传递给您的SQLiteOpenHelper:

代码语言:javascript
代码运行次数:0
运行
复制
class DatabaseHelper extends SQLiteOpenHelper {
    List columns;
    public AccountsDatabaseHelper(Context context, List columns) {
      super(context, DATABASE_NAME, null, DATABASE_VERSION);
      this.columns = columns;
    }

    ...
}

活动中的代码:

代码语言:javascript
代码运行次数:0
运行
复制
  ...
  DatabaseHelper helper = new DatabaseHelper(this, myArrayList);
  helper.getWriteableDatabase(); //This will execute the onCreate
  ...      
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5839044

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档