我正在阅读Android SQLite NotePad教程,该教程引用了创建数据库适配器类来创建和访问数据库表.在处理多表SQLite数据库时,最佳做法是为每个表创建不同的适配器类,还是为整个Android应用程序创建单个数据库适配器类?
我的应用程序使用多个表,我希望不必拥有一个庞大的适配器类.但问题是,每个适配器中的NotePad示例都有一个SQLiteOpenHelper的嵌套子类.访问第一个表时,一切正常.当我尝试访问第二个tble(来自不同的活动)时,我的应用程序崩溃了.
起初,我认为崩溃是由版本控制问题引起的,但两个适配器现在都具有相同的数据库版本,但它仍然崩溃.
以下是该表的一个数据库适配器的示例.其他适配器都遵循相同的格式,具有不同的实现.
public class InfoDBAdapter {
public static final String ROW_ID = "_id";
public static final String NAME = "name";
private static final String TAG = "InfoDbAdapter";
private static final String DATABASE_NAME = "myappdb";
private static final String DATABASE_TABLE = "usersinfo";
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_CREATE = "create table usersinfo (_id integer primary key autoincrement, "
+ NAME
+ " TEXT," + ");";
private DatabaseHelper mDbHelper;
private SQLiteDatabase mDb; …Run Code Online (Sandbox Code Playgroud) 我一直在搜索示例和教程,但我似乎无法理解如何在子类SimpleCursorAdapter中处理回收.我知道对于常规ArrayAdapter,你可以检查convertView for null和inflate,如果null是xml,如果不是null,则回收,但是我在查看SimpleCursorAdapter子类中from和to数组的工作方式时遇到了一些麻烦.我试图通过Commonsware的"繁忙的Android开发编码器指南"来解决这个问题,但是没有成功.如果有人知道任何提示,示例或教程,我将很高兴看到它们.