Вывод массива в list view

213
11 ноября 2017, 11:25

Я вывожу данные из SQLite при помощи сл. кода:

Cursor cursor = sqLiteDatabase.query("Messeg",null,null,null,null,null,null);
if(cursor.moveToFirst()) {
    while (cursor.moveToNext()) {
       dataMess.setText(cursor.getInt(cursor.getColumnIndex("id"))+cursor.getString(cursor.getColumnIndex("fr"))+cursor.getString(cursor.getColumnIndex("t")));
    }
} else {
    dataMess.setText("no table");
}

Последняя занесенная запись выводится в text view. Я пытаюсь вывести все записи из БД в list view.

Как это сделать?

Answer 1

Замените имена таблиц и содержимого, и примерно так выводятся в ListView данные из DB.

private Cursor cursor;
private SQLiteDatabase db;
...
ListView mListHead = findViewById(R.id.list_heads);
try {
        SQLiteOpenHelper databaseHelper = new DBSQLiteOpenHelper(this);
        db = databaseHelper.getReadableDatabase();
        cursor = db.query(MY_TABLE,
                new String[]{"_id", "Content1", "Content2"},
                null, null, null, null, null);
        ListAdapter listAdapter = new SimpleCursorAdapter(
                this,
                R.layout.layout_heads,
                cursor,
                new String[]{"Content1", "Content2"},
                new int[] {R.id.text_one, R.id.text_two});
        mListHead.setAdapter(listAdapter);
} catch (Exception e) {
        Toast.makeText(this, "Database unavailable", Toast.LENGTH_SHORT).show();
    }
READ ALSO
@Contract, аннотация к циклу

@Contract, аннотация к циклу

День добрый господа

204
После того как отправил нужные данные по сокету, его нужно закрывать?

После того как отправил нужные данные по сокету, его нужно закрывать?

То есть потом, для того что бы получить ещё данных просто заново открыть? Это не сильно нагружает сервер(открытие и закрытие сокетов)?

277