Android SQLite问题
我在这里问了一些关于SQLite的问题,可能是因为我不完全理解它是如何工作的。我正在读两本使用教程和示例的书,但我很难弄清楚我将如何做到这一点 我要做的是用户创建一个列表,他们点击加号按钮,输入列名,列表视图显示他们创建的列表(列表视图插入ArrayList)。我想获取该ArrayList并使用字符串创建表列 现在,我使用的示例是创建扩展SQLiteOpenHelper的类和另一个扩展Activity并显示布局和数据的类 我的问题是:Android SQLite问题,android,sqlite,Android,Sqlite,我在这里问了一些关于SQLite的问题,可能是因为我不完全理解它是如何工作的。我正在读两本使用教程和示例的书,但我很难弄清楚我将如何做到这一点 我要做的是用户创建一个列表,他们点击加号按钮,输入列名,列表视图显示他们创建的列表(列表视图插入ArrayList)。我想获取该ArrayList并使用字符串创建表列 现在,我使用的示例是创建扩展SQLiteOpenHelper的类和另一个扩展Activity并显示布局和数据的类 我的问题是: 什么调用扩展SQLiteOpenHelper以创建数据库的类
getwriteabledatabase
和getReadableDatabase
。这些方法返回一个数据库对象,您可以在该对象上执行查询
class DatabaseHelper extends SQLiteOpenHelper {
List columns;
public AccountsDatabaseHelper(Context context, List columns) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
this.columns = columns;
}
...
}
活动中的代码:
...
DatabaseHelper helper = new DatabaseHelper(this, myArrayList);
helper.getWriteableDatabase(); //This will execute the onCreate
...
问:我可以创建一个数据库,并在常规活动中创建数据库表吗?对于#2,我不确定我的问题措辞是否正确。。。ArrayList保存表列的名称。因此,当用户点击GO时,应用程序将遍历数组列表并使用其字符串创建表列。这是用户要做的第一件事吗?您可以将该arraylist作为参数传递给SQLiteOpenHelper的构造函数,将其存储在实例变量中,并在onCreate中使用它。@dmon:是的,用户在继续创建SQL表之前先填充arraylist。现在我才发现这个,但还没有测试过。我可以在一个活动类中编写一个完整的SQL类吗?你可以把类放在任何你想要的地方,但我不明白你为什么想要/需要这样做。这样做不会使它成为活动的“一部分”,因此您将获得很少的收益。。。我是否会在主活动中放置类似的内容(SQLclass将是扩展SQLiteOpenHelper的新类):SQLclass sqlc=newsqlclass();onCreate(ArrayListVariable);(ArrayList变量是ArrayList名称)?