Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Вывод из базы данных в ListView через SimpleCursorAdapter - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Ошибка при нажатии на кнопку http://www.cyberforum.ru/android-dev/thread1447530.html
package ru.test.gthen; import android.app.*; import android.os.*; import android.view.*; import android.widget.*; import java.util.Random; import android.content.*; import...
Программирование Android Сохранение состояния Checkbox в Listview Возникла проблема с сохранением состояния checkbox'ов в Listview. Listview состоит из текста, напротив которого стоит чекбокс. Требуется чтобы перед закрытием приложения все состояния чеков... http://www.cyberforum.ru/android-dev/thread1447457.html
Программирование Android Исключения Try {} catch() {}
Здравствуйте. Подскажите пожалуйста, как правильно отлавливать исключения. Вот у меня есть ошибка в раздел "catch" нужно писать какую именно ошибку мы хотим отловить? Я так понимаю если у...
Псевдо глобальные переменные Программирование Android
public void Class1() { Integer gmx = 5; } public boolean Class2() { return true; }
Программирование Android Как узнать нагрузку CPU в Android приложении? http://www.cyberforum.ru/android-dev/thread1447287.html
Стодкнулся с проблемой по получению информации о нагрузке ЦП. На многих форумах написано, что нужно доставать с ядра линукса с файла /proc/stat, но там черт голову сломит. Есть ли уже готовы решения...
Программирование Android Как в ndk добавить stl классы? В Application.mk добавил APP_STL := stlport_static и все равно ndk-build не видит классов string, vector и тд. Как настроить ndk чтоб эти классы были видны?? подробнее

Показать сообщение отдельно
Rilina
4 / 4 / 0
Регистрация: 16.11.2013
Сообщений: 33

Вывод из базы данных в ListView через SimpleCursorAdapter - Программирование Android

15.05.2015, 21:06. Просмотров 3827. Ответов 26
Метки (Все метки)

Доброе время суток.
Пишу программу под Андроид в среде Android Studio и возникла проблема с выводом данных в listview через SimpleCursorAdapter.
Суть: программа сохраняет результаты проверки в БД, затем при переходе в окно "Результаты" отображает их через listview.
ПРОБЛЕМА: не выводит данные из БД.
ПОДРОБНЕЕ:Проблем с записью в БД нет, проверялось - данные записываются, ошибку выбивает в самом приложении при переходе на окно с выводом результатов на телефоне "В приложении произошла ошибка".

Активити, которое должно выводить:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.SimpleCursorAdapter;
import android.widget.ListView;
 
 
public class Results extends ActionBarActivity {
     DatabaseHelper dbHelper;
    SQLiteDatabase sdb;
    SimpleCursorAdapter scAdapter;
    ListView list;
 
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.results);
        dbHelper = new DatabaseHelper(this, "mydatabase.db", null, 1);
        sdb = dbHelper.getWritableDatabase();
 
        Cursor cursor = sdb.query("rezults", new String[]{dbHelper.NAME_COLUMN, dbHelper.MARK_COLUMN},
                null, null,
                null, null, null);
 
        // формируем столбцы сопоставления
        String[] from = new String[] { dbHelper.NAME_COLUMN, dbHelper.MARK_COLUMN };
        int[] to = new int[] { R.id.tvName, R.id.tvMark };
 
        // создаем адаптер и настраиваем список
        scAdapter = new SimpleCursorAdapter(this, R.layout.item, cursor, from, to,0);
        list = (ListView) findViewById(R.id.listView);
        list.setAdapter(scAdapter);
 
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_results, menu);
        return true;
    }
 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
 
        int id = item.getItemId();
 
 
        if (id == R.id.action_settings) {
            return true;
        }
 
        return super.onOptionsItemSelected(item);
    }
 
 
}
Класс базы данных:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import android.content.Context;
import android.database.DatabaseErrorHandler;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
import android.provider.BaseColumns;
import android.util.Log;
import java.util.ArrayList;
import java.util.List;
 
import android.content.Context;
import android.database.Cursor;
 
public class DatabaseHelper extends SQLiteOpenHelper implements BaseColumns {
 
    private static final String DATABASE_NAME = "mydatabase.db";
    private static final String DATABASE_TABLE = "rezults";
 
    public static final String NAME_COLUMN = "name";
    public static final String MARK_COLUMN = "marks";
 
    private static final String DATABASE_CREATE_SCRIPT = "create table "
            + DATABASE_TABLE + " (" + BaseColumns._ID
            + " integer primary key autoincrement, " + NAME_COLUMN
            + " text not null, " + MARK_COLUMN + " integer);";
 
    public DatabaseHelper(Context context, String name, CursorFactory factory,
                          int version, DatabaseErrorHandler errorHandler) {
        super(context, name, factory, version, errorHandler);
        // TODO Auto-generated constructor stub
    }
 
    public DatabaseHelper(Context context, String name, CursorFactory factory,
                          int version) {
        super(context, name, factory, version);
        // TODO Auto-generated constructor stub
    }
 
 
    @Override
    public void onCreate(SQLiteDatabase db) {
        // TODO Auto-generated method stub
        db.execSQL(DATABASE_CREATE_SCRIPT);
    }
 
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // TODO Auto-generated method stub
        // Запишем в журнал
     //   Log.w("SQLite", "Обновляемся с версии " + oldVersion + " на версию " + newVersion);
 
        // Удаляем старую таблицу и создаём новую
        db.execSQL("DROP TABLE IF IT EXIST " + DATABASE_TABLE);
        // Создаём новую таблицу
        onCreate(db);
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru