【发布时间】:2015-07-22 22:22:59
【问题描述】:
我正在尝试读取我尝试在列表视图中显示的所有数据库条目。我比较新,所以我不知道我搞砸了哪一部分。
这是描述数据库的类。
public class Item {
public static final String TABLE = "ITEM";
// Labels Table Columns names
public static final String KEY_ID = "id";
public static final String KEY_NAME = "name";
public static final String KEY_EXPIRY = "expiry";
// property help us to keep data
public int item_ID;
public String name;
public int expiry;
}
这是带有 DatabaseHelper 的类
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DBHelper extends SQLiteOpenHelper {
//version number to upgrade database version
//each time if you Add, Edit table, you need to change the
//version number.
private static final int DATABASE_VERSION = 1;
// Database Name
private static final String DATABASE_NAME = "crud.db";
public DBHelper(Context context ) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
//All necessary tables you like to create will create here
String CREATE_TABLE_ITEM = "CREATE TABLE " + Item.TABLE + "("
+ Item.KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT ,"
+ Item.KEY_NAME + " TEXT, "
+ Item.KEY_EXPIRY + " INTEGER )";
db.execSQL(CREATE_TABLE_ITEM);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// Drop older table if existed, all data will be gone!!!
db.execSQL("DROP TABLE IF EXISTS " + Item.TABLE);
// Create tables again
onCreate(db);
}
}
现在我想读取所有数据库条目并在活动中使用 onCreate() 填充列表视图 - 这样当我调用该活动时,就会显示列表。
public class ItemShow extends ListActivity {
TextView item_Id;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_item_show);
}
最好的方法是什么?我尝试了很多搜索,但似乎没有一个解决方案有效。
谢谢你:)
【问题讨论】:
-
刚刚发布了一个答案,并在调用 GetAllItem() 函数之前提醒您,您必须通过创建另一个将行数据添加到表中的函数来用数据填充表