【发布时间】:2016-11-19 11:29:11
【问题描述】:
- 如何使用“getCategories()”检索 CategoryListFragment 中的数据? 我在 MyDBHelper 中有 GetAllValues() 函数,但不确定如何使用它@fragments 类,因为尝试时无法正确初始化 MyDBHelper 对象。
MyDBHelper.class
public class MyDatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME="CategoryDatabase";
public MyDatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, 1);
}
@Override
public void onCreate(SQLiteDatabase database) {
database.execSQL("CREATE TABLE Category (_id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT);");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS Category");
onCreate(db);
}
public void addCategory(String name)
{
ContentValues values=new ContentValues(1);
values.put("name", name);
getWritableDatabase().insert("Category", "name", values);
}
public Cursor getCategories()
{
Cursor cursor = getReadableDatabase().rawQuery("select * from Category", null);
return cursor;
}
public ArrayList<String> GetAllValues()
{
String aTable = "Category"; // Table's name
ArrayList<String> list = new ArrayList<String>();
Cursor cursor = getCategories();
if (cursor.moveToFirst())
{
do
{
list.add(cursor.getString(0));
}
while (cursor.moveToNext());
}
if (cursor != null && !cursor.isClosed())
{
cursor.close();
}
return list;
}
}
【问题讨论】:
-
请添加您的 logcat 输出或错误。
-
请看我的回答并在片段类的 oncreateView() 方法中初始化 DBadapterClass。 stackoverflow.com/questions/40570129/…
标签: android sqlite android-fragments