Я пытаюсь создать класс, который будет отображать содержимое базы данных, и я использовал Tutorial , чтобы узнать, как это сделать. после прохождения урока я подумал, что у меня есть метод f, показывающий содержимое базы данных.
вот класс, который не будет работать:
public class WorkoutProgress extends ListActivity {
private DataBaseHelper datasource;
@Override
public void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
super.onCreate(savedInstanceState);
setContentView(R.layout.progress);
datasource = new DataBaseHelper(this);
datasource.open();
fillData();
datasource.close();
}
private void fillData() {
// Get all of the notes from the database and create the item list
Cursor c = datasource.getAllTitles();
startManagingCursor(c);
String[] from = new String[] { DataBaseHelper.KEY_TITLE };
int[] to = new int[] { R.id.text1 };
// Now create an array adapter and set it to display using our row
SimpleCursorAdapter notes =
new SimpleCursorAdapter(this, R.layout.notes_row, c, from, to);
setListAdapter(notes);
}
}
хорошо, извините, я забыл уточнить пару вещей. один этот класс не откроется и вместо этого вылетает приложение. logcat для этого класса здесь
04-03 14: 31: 25.556: ОШИБКА / База данных (14884): ошибка 1 (рядом с «tableacts»: синтаксическая ошибка) при подготовке «создания таблиц» (автоинкремент первичного ключа id2integer, дата-текст не нулевая, текст шагов нет) ноль, текст калорий не ноль); '.
04-03 14: 31: 25.556: DEBUG / AndroidRuntime (14884): выключение виртуальной машины
04-03 14: 31: 25.556: WARN / dalvikvm (14884): threadid = 1: поток завершается с необработанным исключением (группа = 0x400259f8)
04-03 14: 31: 25.566: ОШИБКА / AndroidRuntime (14884): ИСКЛЮЧИТЕЛЬНОЕ ИСКЛЮЧЕНИЕ: основное
04-03 14: 31: 25.566: ОШИБКА / AndroidRuntime (14884): java.lang.RuntimeException: невозможно запустить действие ComponentInfo {com.b00348312.workout / com.b00348312.workout.WorkoutProgress}: android.database.sqlite.SQLiteException : рядом с "tableacts": синтаксическая ошибка: создать tableacts (автоинкремент первичного ключа id2integer, datetext не нулевой, текст шагов не нулевой, текст калорий не нулевой);
04-03 14: 31: 25.566: ОШИБКА / AndroidRuntime (14884): на android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2787)
04-03 14: 31: 25.566: ОШИБКА / AndroidRuntime (14884): на android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2803)
04-03 14: 31: 25.566: ОШИБКА / AndroidRuntime (14884): на android.app.ActivityThread.access $ 2300 (ActivityThread.java:135)
04-03 14: 31: 25.566: ОШИБКА / AndroidRuntime (14884): на android.app.ActivityThread $ H.handleMessage (ActivityThread.java:2136)
04-03 14: 31: 25.566: ОШИБКА / AndroidRuntime (14884): на android.os.Handler.dispatchMessage (Handler.java:99)
04-03 14: 31: 25.566: ОШИБКА / AndroidRuntime (14884): на android.os.Looper.loop (Looper.java:144)
04-03 14: 31: 25.566: ОШИБКА / AndroidRuntime (14884): на android.app.ActivityThread.main (ActivityThread.java:4937)
04-03 14: 31: 25.566: ОШИБКА / AndroidRuntime (14884): на java.lang.reflect.Method.invokeNative (собственный метод)
04-03 14: 31: 25.566: ОШИБКА / AndroidRuntime (14884): в java.lang.reflect.Method.invoke (Method.java:521)
04-03 14: 31: 25.566: ОШИБКА / AndroidRuntime (14884): на com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:858)
04-03 14: 31: 25.566: ОШИБКА / AndroidRuntime (14884): на com.android.internal.os.ZygoteInit.main (ZygoteInit.java:616)
04-03 14: 31: 25.566: ОШИБКА / AndroidRuntime (14884): в dalvik.system.NativeStart.main (собственный метод)
04-03 14: 31: 25.566: ОШИБКА / AndroidRuntime (14884): вызвано: android.database.sqlite.SQLiteException: рядом с «tableacts»: синтаксическая ошибка: создание табличных действий (автоинкремент первичного ключа id2integer, дата-текст не ноль, текст шагов не ноль, текст калорий не нуль);
04-03 14: 31: 25.566: ОШИБКА / AndroidRuntime (14884): в android.database.sqlite.SQLiteDatabase.native_execSQL (собственный метод)
04-03 14: 31: 25.566: ОШИБКА / AndroidRuntime (14884): в android.database.sqlite.SQLiteDatabase.execSQL (SQLiteDatabase.java:1817)
04-03 14: 31: 25.566: ОШИБКА / AndroidRuntime (14884): на com.b00348312.workout.DataBaseHelper $ DatabaseHelper.onCreate (DataBaseHelper.java:60)
04-03 14: 31: 25.566: ОШИБКА / AndroidRuntime (14884): в android.database.sqlite.SQLiteOpenHelper.getWritableDatabase (SQLiteOpenHelper.java:106)
04-03 14: 31: 25.566: ОШИБКА / AndroidRuntime (14884): на com.b00348312.workout.DataBaseHelper.open (DataBaseHelper.java:78)
04-03 14: 31: 25.566: ОШИБКА / AndroidRuntime (14884): на com.b00348312.workout.WorkoutProgress.onCreate (WorkoutProgress.java:25)
04-03 14: 31: 25.566: ОШИБКА / AndroidRuntime (14884): на android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1069)04-03 14: 31: 25.566: ОШИБКА / AndroidRuntime (14884): на android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2751)
04-03 14: 31: 25.566: ОШИБКА / AndroidRuntime (14884): ... еще 11