The database has data (more precisely, 2 lines) with information in each.
Here is the code (which is important, but not all) from DBADAPTER:
public static final String KEY_ROWID = "_id";
public static final String KEY_DEVICE = "device";
public static final String KEY_TYPE = "type";
public static final String KEY_DEVID = "devid";
public static final String[] ALL_KEYS = new String[] {KEY_ROWID, KEY_DEVICE, KEY_TYPE, KEY_DEVID};
public static final String[] DEVID_KEY = new String[] {KEY_DEVID};
public static final int COL_ROWID = 0;
public static final int COL_DEVICE = 1;
public static final int COL_TYPE = 2;
public static final int COL_DEVID = 3;
public static final String DATABASE_NAME = "dbDevices";
public static final String DATABASE_TABLE = "mainDevices";
public static final int DATABASE_VERSION = 10;
private static final String DATABASE_CREATE_SQL =
"CREATE TABLE " + DATABASE_TABLE
+ " (" + KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
+ KEY_DEVICE + " TEXT NOT NULL, "
+ KEY_TYPE + " TEXT, "
+ KEY_DEVID + " TEXT NOT NULL "
+ ");";
private final Context context;
private DatabaseHelper myDBHelper;
private SQLiteDatabase db;
public String getDevName(String devid) {
String name;
String where = KEY_DEVID + " like '%" + devid + "%'";
Cursor c = db.query(true, DATABASE_TABLE, ALL_KEYS,
where, null, null, null, null, null);
c.moveToFirst();
name = c.getString(COL_DEVICE);
return name;
}
Here is the code that calls it:
String incomingMessage = " ";
incomingMessage = in.readLine() + System.getProperty("line.separator");
devName = devDB.getDevName(incomingMessage);
And I know that this receives information because it is logged:
03-16 15:39:47.072: V/String(18073): 5122
Whenever I run this, I get an error:
03-16 15:39:47.122: W/System.err(18073): android.database.CursorIndexOutOfBoundsException: Index 0 requested, with a size of 0
03-16 15:39:47.122: W/System.err(18073): at android.database.AbstractCursor.checkPosition(AbstractCursor.java:426)
03-16 15:39:47.122: W/System.err(18073): at android.database.AbstractWindowedCursor.checkPosition(AbstractWindowedCursor.java:136)
03-16 15:39:47.132: W/System.err(18073): at android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:50)
03-16 15:39:47.132: W/System.err(18073): at com.ti.cc3x.android.DBAdapter.getDevName(DBAdapter.java:121)
03-16 15:39:47.132: W/System.err(18073): at com.ti.cc3x.android.broadcastListener$1.run(broadcastListener.java:112)
03-16 15:39:47.132: W/System.err(18073): at java.lang.Thread.run(Thread.java:841)
I tried checking non-null cursor. Everything that does does not tell me anything. I know that there is data where I ask him to look, I just do not know why this will not show. Can someone tell me where I was wrong? Thank!