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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
SoloIlya
0 / 0 / 0
Регистрация: 28.05.2013
Сообщений: 64
#1

Отобразить таблицу БД - Программирование Android

28.05.2013, 11:44. Просмотров 916. Ответов 7
Метки нет (Все метки)

Всем доброго времени суток!
Недавно столкнулся с проблемой, как отобразить таблицу БД, которая содержит в себе 4 столбца. Пытался использовать уже имеющиеся примеры отображения таблицы в ListView, но у меня выходит только отобразить один столбец! Подскажите пожалуйста, как можно решить эту проблему? Что использовать для отображения таблицы?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.05.2013, 11:44     Отобразить таблицу БД
Посмотрите здесь:

Отобразить целочисленную переменную - Программирование Android
Имею переменную int total, которую хочу отобразить в Edit. После cellsEditor.setText(total); приложение вылетает с...

Отобразить одновременно текст и картинку - Программирование Android
Здравствуйте. Хочу создать создать приложение-обучение математики в формате лекций. Исходя из этого, мне нужно каким-то образом объединить...

Как отобразить в WebView сайт - Программирование Android
Сабж

Отобразить местоположение на карте по координатам - Программирование Android
Взял из книжки такой код для отображения местоположения на карте по заданным координатам (например, взял координаты Москвы): ...

OpenGL Как отобразить текст? - Программирование Android
Есть движущаяся камера, нужно нарисовать спрайты первым слоем и тексты. Может есть у кого готовые примеры?

Как отобразить модель 3D Max? - Программирование Android
Собственно вопрос - есть модель 3d max. Как ее отобразить? с возможностью поворота по любым осям

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
28.05.2013, 11:46     Отобразить таблицу БД #2
все правильно, используйте ListView.
SoloIlya
0 / 0 / 0
Регистрация: 28.05.2013
Сообщений: 64
28.05.2013, 12:11  [ТС]     Отобразить таблицу БД #3
А каким образом можно задать количество отображаемых в нем столбцов?
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
28.05.2013, 12:42     Отобразить таблицу БД #4
добавляя в лаяут айтема TextView'и.
SoloIlya
0 / 0 / 0
Регистрация: 28.05.2013
Сообщений: 64
28.05.2013, 13:05  [ТС]     Отобразить таблицу БД #5
В приведенном ниже коде у меня реализуется отображение одного столбца NAME, что нужно еще дописать чтоб осуществлялось отображение столбца PRICE?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.day);
        DatabaseOpenHelper dbhelper = new DatabaseOpenHelper(getBaseContext());
        SQLiteDatabase sqliteDB = dbhelper.getReadableDatabase();
        final String[] from = { NamesColumns.NAME, BaseColumns._ID };
        final Cursor c = sqliteDB.query(Names.TABLE_NAME, null, null, null, null, null,
                Names.DEFAULT_SORT);
        final int i = c.getCount();
        final int[] to = new int[] { R.id.text1};
        //final int[] to1 = new int[] { R.id.text2};
        final SimpleCursorAdapter adapter = new SimpleCursorAdapter(getApplicationContext(), R.layout.list,
                c, from, to);
        final ListView lv = (ListView) findViewById(R.id.listView1);        
        lv.setAdapter(adapter);
    }
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
28.05.2013, 13:08     Отобразить таблицу БД #6
Java
1
2
3
4
5
6
7
8
9
final String[] from = { NamesColumns.NAME, NamesColumns.PRICE };
        final Cursor c = sqliteDB.query(Names.TABLE_NAME, null, null, null, null, null,
                Names.DEFAULT_SORT);
        final int i = c.getCount();
        final int[] to = new int[] { R.id.text1,  R.id.text2};
        final SimpleCursorAdapter adapter = new SimpleCursorAdapter(getApplicationContext(), R.layout.list,
                c, from, to);
        final ListView lv = (ListView) findViewById(R.id.listView1);        
        lv.setAdapter(adapter);
SoloIlya
0 / 0 / 0
Регистрация: 28.05.2013
Сообщений: 64
28.05.2013, 13:21  [ТС]     Отобразить таблицу БД #7
Я внес эти изменения, но результат не изменился(
У меня есть еще класс в нем создается массив, может в нем надо что-то добавить или изменить?
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
package DataBase;
 
import java.util.ArrayList;
 
import DataBase.DatabaseContract.Names;
import DataBase.DatabaseContract.Names.NamesColumns;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.provider.BaseColumns;
import android.util.Log;
 
 
public class ManController {
    
    private static final boolean LOGV = false;
    private static int maxRowsInNames = -1;
    private static final String TAG = ManController.class.getSimpleName();
    
    private ManController(){    
    }
    
    public static int getMaxRowsInNames() {
        return maxRowsInNames;
    }
    
    public static ArrayList<Names> readNames(Context context) {
        ArrayList<Names> list = null;
        try {
                DatabaseOpenHelper dbhelper = new DatabaseOpenHelper(context);
                SQLiteDatabase sqliteDB = dbhelper.getReadableDatabase();
                String[] columnsToTake = { BaseColumns._ID, NamesColumns.NAME, NamesColumns.DATE };
                Cursor cursor = sqliteDB.query(Names.TABLE_NAME, columnsToTake, null, null, null, null, null,
                                Names.DEFAULT_SORT);
                if (cursor.moveToFirst()) {
                        list = new ArrayList<Names>();
                }
                while (cursor.moveToNext()) {
                        Names oneRow = new Names();
                        oneRow.setId(cursor.getLong(cursor.getColumnIndexOrThrow(BaseColumns._ID)));
                        oneRow.setName(cursor.getString(cursor.getColumnIndexOrThrow(NamesColumns.NAME)));
                        oneRow.setName(cursor.getString(cursor.getColumnIndexOrThrow(NamesColumns.DATE)));
                        list.add(oneRow);
                }
                cursor.close();
                dbhelper.close();
        } catch (Exception e) {
                Log.e(TAG, "Failed to select Names.", e);
        }
        return list;
    }
    
    public static void write(Context context, String name, Double price, int kol, String date) {
 
        try {
                //создали нашу базу и открыли для записи
                DatabaseOpenHelper dbhelper = new DatabaseOpenHelper(context);
                SQLiteDatabase sqliteDB = dbhelper.getWritableDatabase();
                String quer = null;
                int countRows = -1;
                //Открыли курсор для записи
                Cursor cursor = sqliteDB.query(Names.TABLE_NAME, new String[] { "count(*)" }, null, null, 
                        null, null, Names.DEFAULT_SORT);
                if (cursor.moveToFirst()) {
                        countRows = cursor.getInt(0);
                        if (LOGV) {
                                Log.v(TAG, "Count in Names table" + String.valueOf(countRows));
                        }
                }
                cursor.close();
                if ((maxRowsInNames == -1) || (maxRowsInNames >= countRows)) {
                        //дальще наш запрос в базу для записи полученны х дынных из функции
                        quer = String.format("INSERT INTO %s (%s, %s, %s, %s) VALUES (%s, %s, %s, %s);",
                                        // таблица
                                        Names.TABLE_NAME,
                                        // колонки
                                        Names.NamesColumns.NAME, Names.NamesColumns.PRICE,
                                        Names.NamesColumns.KOL, Names.NamesColumns.DATE,
                                        // поля
                                        name, price, kol, date);
                }
                //закрыли всю базу
                sqliteDB.execSQL(quer);
                sqliteDB.close();
                dbhelper.close();
        } catch (SQLiteException e) {
                Log.e(TAG, "Failed open rimes database. ", e);
        } catch (SQLException e) {
                Log.e(TAG, "Failed to insert Names. ", e);
        }
    }
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.05.2013, 16:33     Отобразить таблицу БД
Еще ссылки по теме:

Как отобразить элементы меню - Программирование Android
Подскажите пожалуйста. Я новичок в андроид-разработке. Пытаюсь создать обычное меню. В MainActivity прописываю код package...

Правильно вырезать и отобразить картинку - Программирование Android
Есть файлик с рожицами. Я его делю на 3 части по горизонтали и 5 частей по вертикали. Но сами рожицы не отцентрированы. Левые прижаты к...

Как отобразить папки, содержащие фотографии? - Программирование Android
Всем привет. Пытаюсь создать аналог галереи на android. Для этого мне нужно найти все фотографии(включая папки в которых они находятся) и...

Работа в фоне. Отобразить картинку по url - Программирование Android
Добрый вечер! Не получается решить две ситуации, уже обгуглился, голова пухнет... 1)есть маяк Beacon, когда я запускаю приложение...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
28.05.2013, 16:33     Отобразить таблицу БД #8
http://thinkandroid.wordpress.com/20...and-listviews/
Yandex
Объявления
28.05.2013, 16:33     Отобразить таблицу БД
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru