База данных не сохраняется

Почему-то программа не сохраняет базу данных (после перезагрузки список очищается, но сразу после того, как я заношу его, он отображается нормально). Кто-нибудь знает, где я накосячил? Заранее спасибо.

Код активности, где должен отображаться список

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        addBtn = (FloatingActionButton) findViewById(R.id.addBtn);
        timetableList = (RecyclerView) findViewById(R.id.timetableList);
        // вношу данные из активности DateTime в список
        timetableList.setLayoutManager(new LinearLayoutManager(getApplicationContext()));
        timetableArrayList = DBHelper.getInstance(getApplicationContext()).getTimetable();
        adapter = new DataAdapter(timetableArrayList);
        timetableList.setAdapter(adapter);
        // по кнопке в итеме удаляю элемент из списка
        adapter.setOnClickDeleteListener(new DataAdapter.onClickDelete() {
            @Override
            public void onClickDelete(Timetable timetable, int position) {
                DBHelper.getInstance(getApplicationContext()).deleteActivity(timetable);
                timetableArrayList.remove(position);
                adapter.notifyDataSetChanged();
            }
        });
        // по кнопке перехожу в активность DateTime для настройкки времени, даты и названия занятия
        addBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent i;
                i = new Intent(MainActivity.this, DateTime.class);
                startActivityForResult(i, 1);
            }
        });

    }
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent i) {
    if (resultCode == 0) {return;}
    String activityName = i.getStringExtra("activityName");
    String date = i.getStringExtra("date");
    String time = i.getStringExtra("time");
    String description = i.getStringExtra("description");
    String type = i.getStringExtra("type");
    Timetable timetable = new Timetable(activityName, time, date, description, type);
    DBHelper.getInstance(getApplicationContext()).
            addTimetable(timetable);
    timetableArrayList.add(timetable);
    adapter.notifyDataSetChanged();

SQLHelper

public class SQLHelper extends SQLiteOpenHelper {

    private static final String DB_NAME = "notes.db";
    private static final int DB_VERSION = 1;


    public static final String TIMETABLE = "timetable";
    public static final String NAME= "title";
    public static final String TIME = "time";
    public static final String DATE = "date";
    public static final String DESCRIPTION = "description";
    public static final String TYPE = "type";

    public SQLHelper(@Nullable Context context) {
        super(context, DB_NAME, null, DB_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("CREATE TABLE " + TIMETABLE +
                NAME + " (TEXT NOT NULL, " +
                DESCRIPTION + " TEXT NOT NULL, " +
                TYPE + " TEXT NOT NULL, " +
                TIME + " NUMERIC, " +
                DATE + " NUMERIC)");

    }

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

    }
}

DBHelper

public class DBHelper {

    private static DBHelper instance;
    private SQLHelper dbHelper;
    private SQLiteDatabase db;

    private DBHelper(Context context){
        dbHelper = new SQLHelper(context);
        db = dbHelper.getWritableDatabase();
    }

    public static DBHelper getInstance(Context context){
        if(instance == null)
            instance = new DBHelper(context);
        return instance;
    }


    public void addTimetable(Timetable activity){
        ContentValues contentValues = new ContentValues();
        contentValues.put(SQLHelper.NAME, activity.getTitle());
        contentValues.put(SQLHelper.TIME, activity.getTime());
        contentValues.put(SQLHelper.DATE, activity.getDate());
        contentValues.put(SQLHelper.DESCRIPTION, activity.getDescription());
        contentValues.put(SQLHelper.TYPE, activity.getType());
        db.insert(SQLHelper.TIMETABLE, null, contentValues);
    }
    public ArrayList<Timetable> getTimetable() {
        ArrayList<Timetable> timetable = new ArrayList<>();
        Cursor cursor = db.query(SQLHelper.TIMETABLE, new String[]{"*"},
                null, null, null, null, null);
        int name = cursor.getColumnIndex(SQLHelper.NAME);
        int time = cursor.getColumnIndex(SQLHelper.TIME);
        int date = cursor.getColumnIndex(SQLHelper.DATE);
        int description = cursor.getColumnIndex(SQLHelper.DESCRIPTION);
        int type = cursor.getColumnIndex(SQLHelper.TYPE);
        while (cursor.moveToNext()){
            timetable.add (new Timetable(
                    cursor.getString(name),
                    cursor.getString(time),
                    cursor.getString(date),
                    cursor.getString(description),
                    cursor.getString(type)));
        }
        return timetable;
    }
    public void deleteActivity(Timetable timetable){
        db.delete(SQLHelper.TIMETABLE,
                SQLHelper.NAME + "=" + timetable.getTitle() + "AND" +
                        SQLHelper.TIME + "=" + timetable.getTime() + "AND" +
                        SQLHelper.DATE + "=" + timetable.getDate() + "AND" +
                        SQLHelper.DESCRIPTION + "=" + timetable.getDescription() + "AND" +
                        SQLHelper.TYPE + "=" + timetable.getType(),
                null);

    }
}

Ответы (0 шт):