09-07 16:18:14.358: ERROR/AndroidRuntime(29185): at android.database.CursorWindow.getLong_native(Native Method)
09-07 16:18:14.358: ERROR/AndroidRuntime(29185): at android.database.CursorWindow.getInt(CursorWindow.java:434)
09-07 16:18:14.358: ERROR/AndroidRuntime(29185): at android.database.AbstractWindowedCursor.getInt(AbstractWindowedCursor.java:93)
09-07 16:18:14.358: ERROR/AndroidRuntime(29185): at com.ceosoftcenters.healyourbody.app.HealYourBodyApplication.setProblemDataSet(HealYourBodyApplication.java:108)
09-07 16:18:14.358: ERROR/AndroidRuntime(29185): at com.ceosoftcenters.healyourbody.app.HealYourBodyApplication.onCreate(HealYourBodyApplication.java:49)
09-07 16:18:14.358: ERROR/AndroidRuntime(29185): at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:969)
09-07 16:18:14.358: ERROR/AndroidRuntime(29185): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4244)
09-07 16:18:14.358: ERROR/AndroidRuntime(29185): ... 10 more
代码:
SQLiteDatabase database = SQLiteDatabase.openOrCreateDatabase(appFilesDir.getAbsolutePath() + ConstantsUtil.HEAL_YOUR_BODY_DBFILE_PATH, null);
// query all data
String sql = "select id,problem from bookdata";
Cursor cursor = database.rawQuery(sql,null);
if (cursor.getCount() > 0)
{
cursor.moveToFirst();
ProblemData pd = null;
while(!cursor.isLast()){
int id = cursor.getInt(cursor.getColumnIndex("id"));
String problemName = cursor.getString(cursor.getColumnIndex("problem"));
pd = new ProblemData(id,problemName);
problemDataSet.add(pd);
cursor.moveToNext();
}
int id = cursor.getInt(cursor.getColumnIndex("id"));
String problemName = cursor.getString(cursor.getColumnIndex("problem"));
pd = new ProblemData(id,problemName);
problemDataSet.add(pd);
}
原因:字段写错了,
solution: ID Problem
本文详细分析了一款名为HealYourBody的应用在启动过程中遇到的AndroidRuntime错误,并提供了具体的解决方案。错误发生在尝试从数据库中读取数据时,通过检查代码发现是由于字段名错误导致的问题。
1278

被折叠的 条评论
为什么被折叠?



