2011-07-10 137 views
0

的列表视图显示我有,我有以下处理程序创建一个数据库:SQLite数据库

public class DatabaseHelper extends SQLiteOpenHelper { 
    private static final String DATABASE_NAME = "trade.db"; 
    public static final String RESOURCEID = "resourceid"; 
    public static final String STARTPRICE = "startprice"; 
    public static final String CURRENTBID = "currentbid"; 
    public static final String EXPIRES = "expires"; 
    public static final String BUYNOWPRICE = "buynowprice"; 
    public static final String TYPE = "type"; 

    public DatabaseHelper(Context context) { 
     super(context, DATABASE_NAME, null, 1); 
    } 

    @Override 
    public void onCreate(SQLiteDatabase db) { 
     db.execSQL("CREATE TABLE cards (_id INTEGER PRIMARY KEY AUTOINCREMENT, resourceid TEXT, startprice TEXT,currentbid TEXT, expires TEXT, buynowprice TEXT, type TEXT);"); 
    } 

    @Override 
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
     android.util.Log.w("cards", 
       "Upgrading database, which will destroy all old data"); 
     db.execSQL("DROP TABLE IF EXISTS "); 
     onCreate(db); 
    } 
} 

我想在一个列表视图,其中项目是可选择的,以显示该数据库的项目,可惜我一个完成android nooby(第一个应用程序)。有人可以向我解释我将如何做到这一点?我很清楚这里有一些例子,但我根本无法遵循它们。由于

回答

0

我可以给你如何表达完整的例子..但它会让你变得懒惰......无论我可以指导你...就像你必须创建一个ListView的布局以及ListView的布局......你可以做到这一点也不会产生这些布局......但不管它是什么,你需要创建一个adapter它可能是SimpleAdapter ......你必须把该适配器的纪录由HashMap ......如下面的例子:


SimpleAdapter adapter = new SimpleAdapter(this,appntmntHistoryList,R.layout.appointment_history_text,new String[] {"date","appntmnt_id"},new int[] {R.id.appDateHist, R.id.appWithFakeHist}); 
appointmentHistory.setAdapter(adapter);

这进程是用于从数据库存储记录中提取键/值对中的那些记录

HashMap
...

+0

虽然这会消耗更多内存,但只需使用CursorAdapter显示来自数据库查询的结果即可。 –

+0

好的...因为克里斯是完全noob ...最好尝试更简单的一个...是不是? – hossaindoula

+0

我只打算在数据库中有最多30条记录,所以我不认为记忆应该是一个很大的问题。 简而言之,适配器是将数据库转换为listview想要的格式? – chris