@Valenok2
Учусь WEB и Android программированию

ListView не наполняется из базы данных при помощи SimpleCursorAdapter. Что делать?

Делаю блокнот на android для практики с listview, адаптерами и SQLite. При использовании SimpleCursorAdapter возникает данная ошибка:
"Error Code : 1 (SQLITE_ERROR)
Caused By : SQL(query) error or missing database.
(no such table: NOTE_TABLE (code 1): , while compiling: INSERT INTO NOTE_TABLE (note_text) VALUES ('TEXT');)"
Подскажите в чем проблема.
Ниже ошибка и код классов.

public class ListActivity extends AppCompatActivity {
    ListView notelistView;
    SimpleCursorAdapter cursorAdapter;
    SQLiteDatabase db;
    SQLiteOpenHelper dbhelp;
    DatabaseHelper helper;
    Cursor listCursor;
    String[] from;
    int[] to;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_list);
        ListView noteList = findViewById(R.id.note_list);
        dbhelp = new DatabaseHelper(this);
        db = dbhelp.getReadableDatabase();
        helper = new DatabaseHelper(this);
        from = new String[] {helper.NOTE_TEXT};
        to = new int[] {R.id.note_list};
        db.rawQuery("INSERT INTO NOTE_TABLE (note_text) VALUES ('TEXT');", null);
        listCursor = db.rawQuery("SELECT note_first_string FROM note_table",null); //ORDER BY _id
        cursorAdapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, listCursor, from, to, 0);
        noteList.setAdapter(cursorAdapter);



    }
}


Класс-помощник
public class DatabaseHelper extends SQLiteOpenHelper {

    public static final String DATABASE_NAME = "NOTE_DB";
    public static int DATABASE_VERSION = 1;
    public static String TABLE_NAME = "note_table";
    public static final String NOTE_TEXT = "note_text";
    public DatabaseHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.rawQuery("CREATE TABLE NOTE_TABLE (_id INTEGER PRIMARY KEY AUTOINCREMENT," + " note_text TEXT," + " note_first_string TEXT);", null);


    }
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    }
}
  • Вопрос задан
  • 36 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Mint Rocket Тюмень
До 100 000 руб.
RentaTeam Москва
от 120 000 до 170 000 руб.
YLab Тольятти
от 80 000 до 130 000 руб.
16 июл. 2019, в 03:05
15000 руб./за проект
16 июл. 2019, в 02:57
5000 руб./за проект
16 июл. 2019, в 00:49
15000 руб./за проект