Здравствуйте! Пытаюсь внести данные (2 текстовых поля) в бд и извлечь их в другое активити. Подскажите, по какой логике мне двигаться дальше? Нужно извлечь отдельным методом и передавать в списки или как-то иначе? PS:В логах вывелась информация что бд создана и данные извлечены.
Код базы
public class DataBase extends SQLiteOpenHelper {
public static final String DB_NAME = "notes";
public static final int DB_VERSION = 1;
public static final int DB_KEY = 0;
public static final String DB_TITLE = "title";
public static final String DB_NOTE = "note";
public DataBase(Context context)
{
super(context, DB_NAME, null, DB_VERSION);
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
sqLiteDatabase.execSQL("create table " + DB_NAME + "("
+ " _id integer primary key autoincrement, "
+ DB_TITLE + " text,"
+ DB_NOTE + " text)");
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int oldVersion, int newVersion) {
sqLiteDatabase.execSQL("drop table if exists " + DB_NAME );
onCreate(sqLiteDatabase);
}
}
Cursor cursor = database.query(DataBase.DB_NAME, null, null, null, null, null, null, null);
cursor.moveToFirst();
int tIndex = cursor.getColumnIndex(dataBase.DB_TITLE);
int nIndex = cursor.getColumnIndex(dataBase.DB_NOTE);
do {
String getTitle = ("title" + cursor.getString(tIndex));
String getNote = ("note" + cursor.getString(nIndex));
Note noteFromDB = new Note();
noteFromDB.setTitleText(getTitle);
noteFromDB.setNoteText(getNote);
arrayList.add(noteFromDB);
} while (cursor.moveToNext());
cursor.close();
database.getAll()- получить все данные). По поводу "передавать в списки" - как правило, это плохая идея, которая ничего, кроме потери ресурсов и производительности не несет (эффективнее, хотя и менее удобно работать напрямую с курсором). Вы можете рассмотреть новый инструмент google - Room – pavlofff Feb 26 '18 at 01:20