Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 06.10.2014
Сообщений: 27

Вывод данных из бд в фрагмент

20.01.2017, 20:23. Показов 3663. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте
У меня есть класс который наследуется от Fragment
и класс для работы с готовой базой данных которою я подгружаю.
Класс MondayFragment должен выводить данные, но выдает ошибку.
При работе с простым классом который наследуется от Activity все работает как надо.
Подскажите как решить проблему

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
public class MondayFragment extends Fragment {
 
 
    Cursor c = null;
    Cursor c1 = null;
    private View view;
 
    DatabaseHelper databaseHelper;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        view = inflater.inflate(R.layout.monday, container, false);
 
 
            databaseHelper = new DatabaseHelper(getActivity());
 
            final SQLiteDatabase sqLiteDatabase = databaseHelper.getReadableDatabase();
 
 
            Cursor cursor=sqLiteDatabase.query("days_of_the_week",null,null,null,null,null,null);
            if(cursor.moveToFirst()){
                do{
                    Log.d("log","IDDays"+cursor.getInt(cursor.getColumnIndex("IDDays"))+"name"+
                            cursor.getString(cursor.getColumnIndex("name")));
                }while (cursor.moveToNext());
            }
            else
            {
                Log.d("log","No");
            }
 
        return view;
 
    }
 
 
}
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
95
96
97
98
99
100
101
102
public class DatabaseHelper extends SQLiteOpenHelper {
 
    String DB_PATH = null;
    private static String DB_NAME = "shedule";
    private SQLiteDatabase myDataBase;
    private final Context myContext;
    SQLiteDatabase db = this.getReadableDatabase();
 
 
 
    private String ALIAS_IDDays="IDDays";
    private String ALIAS_name="name";
 
    public DatabaseHelper(Context context) {
        super(context, DB_NAME, null, 10);
        this.myContext = context;
        this.DB_PATH = "/data/data/com.bkeipr.shedulebkeipr/databases/";
     //   Log.e("Path 1", DB_PATH);
    }
 
 
    public void createDataBase() throws IOException {
        boolean dbExist = checkDataBase();
        if (dbExist) {
        } else {
            this.getReadableDatabase();
            try {
                copyDataBase();
            } catch (IOException e) {
                throw new Error("Error copying database");
            }
        }
    }
 
    private boolean checkDataBase() {
        SQLiteDatabase checkDB = null;
        try {
            String myPath = DB_PATH + DB_NAME;
            checkDB = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY);
        } catch (SQLiteException e) {
        }
        if (checkDB != null) {
            checkDB.close();
        }
        return checkDB != null ? true : false;
    }
 
    private void copyDataBase() throws IOException {
        InputStream myInput = myContext.getAssets().open(DB_NAME);
        String outFileName = DB_PATH + DB_NAME;
        OutputStream myOutput = new FileOutputStream(outFileName);
        byte[] buffer = new byte[10];
        int length;
        while ((length = myInput.read(buffer)) > 0) {
            myOutput.write(buffer, 0, length);
        }
        myOutput.flush();
        myOutput.close();
        myInput.close();
 
    }
 
    public void openDataBase() throws SQLException {
        String myPath = DB_PATH + DB_NAME;
        myDataBase = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY);
 
    }
 
    @Override
    public synchronized void close() {
        if (myDataBase != null)
            myDataBase.close();
        super.close();
    }
 
 
    @Override
    public void onCreate(SQLiteDatabase db) {
    }
 
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        if (newVersion > oldVersion)
            try {
                copyDataBase();
            } catch (IOException e) {
                e.printStackTrace();
 
            }
    }
 
    public Cursor query(String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy) {
        return myDataBase.query("days_of_the_week", null, null, null, null, null, null);
    }
    public Cursor query1() {
        SQLiteDatabase db = this.getReadableDatabase();
        Cursor c;
 
        return c = db.rawQuery("SELECT name FROM days_of_the_week ", null);
    }
 
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.01.2017, 20:23
Ответы с готовыми решениями:

Улучшить фрагмент кода, отвечающий за вывод таблицы на консоль
При выводе таблицы с помощью цикла, одна "|" полностю портит картину, как сделать, что бы она стала туда, куда ей положено? #include...

Вырезать фрагмент из wav файла и сохранить этот фрагмент в новый файл.
Добрый день, подскажите плиз как можно вырезать фрагмент из wav и сохранить его в новый wav файл?

Загрузка данных на фрагмент
Такой вопрос. В приложение поступают данные типа картинка и текст. Хочу сделать так что бы они загружались во фрагмент и заносились в...

8
111 / 111 / 43
Регистрация: 24.05.2015
Сообщений: 329
20.01.2017, 21:16
По-моему пора на форуме вводить какие-то минимальные правила, среди которых одним из обязательных условий было бы приводить лог ошибки, если таковая имеет место быть.
0
0 / 0 / 0
Регистрация: 06.10.2014
Сообщений: 27
20.01.2017, 21:23  [ТС]
забыл вставить

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
E/SQLiteLog: (1) no such table: days_of_the_week
D/AndroidRuntime: Shutting down VM
W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0x41cfb730)
E/AndroidRuntime: FATAL EXCEPTION: main
                  android.database.sqlite.SQLiteException: no such table: days_of_the_week (code 1): , while compiling: SELECT * FROM days_of_the_week
                      at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
                      at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:1118)
                      at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:691)
                      at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
                      at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
                      at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:37)
                      at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:44)
                      at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1436)
                      at android.database.sqlite.SQLiteDatabase.queryWithFactory(SQLiteDatabase.java:1283)
                      at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1154)
                      at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1322)
                      at com.bkeipr.shedulebkeipr.Fragment.MondayFragment.onCreateView(MondayFragment.java:43)
                      at android.support.v4.app.Fragment.performCreateView(Fragment.java:2184)
                      at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1298)
                      at android.support.v4.app.FragmentManagerImpl.moveFragmentsToInvisible(FragmentManager.java:2323)
                      at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2136)
                      at android.support.v4.app.FragmentManagerImpl.optimizeAndExecuteOps(FragmentManager.java:2092)
                      at android.support.v4.app.FragmentManagerImpl.execSingleAction(FragmentManager.java:1969)
                      at android.support.v4.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:620)
                      at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:143)
                      at android.support.v4.view.ViewPager.populate(ViewPager.java:1268)
                      at android.support.v4.view.ViewPager.populate(ViewPager.java:1116)
                      at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1642)
                      at android.view.View.measure(View.java:16831)
                      at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5245)
                      at android.support.design.widget.CoordinatorLayout.onMeasureChild(CoordinatorLayout.java:714)
                      at android.support.design.widget.HeaderScrollingViewBehavior.onMeasureChild(HeaderScrollingViewBehavior.java:90)
                      at android.support.design.widget.AppBarLayout$ScrollingViewBehavior.onMeasureChild(AppBarLayout.java:1375)
                      at android.support.design.widget.CoordinatorLayout.onMeasure(CoordinatorLayout.java:784)
                      at android.view.View.measure(View.java:16831)
                      at android.support.v4.widget.DrawerLayout.onMeasure(DrawerLayout.java:1081)
                      at android.view.View.measure(View.java:16831)
                      at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5245)
                      at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
                      at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:139)
                      at android.view.View.measure(View.java:16831)
                      at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5245)
                      at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1410)
                      at android.widget.LinearLayout.measureVertical(LinearLayout.java:695)
                      at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)
                      at android.view.View.measure(View.java:16831)
                      at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5245)
                      at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
                      at android.view.View.measure(View.java:16831)
                      at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5245)
                      at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1410)
                      at android.widget.LinearLayout.measureVertical(LinearLayout.java:695)
                      at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)
                      at android.view.View.measure(View.java:16831)
                      at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5245)
                      at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
                    at com.android.internal.policy.i
I/Process: Sending signal. PID: 16788 SIG: 9
Application terminated.
0
37 / 37 / 72
Регистрация: 31.10.2014
Сообщений: 206
20.01.2017, 21:28
Gartus13, в базе нет таблицы с именем "days_of_the_week"
0
111 / 111 / 43
Регистрация: 24.05.2015
Сообщений: 329
20.01.2017, 21:30
Там же написано, что базы данных days_of_the_week не существует?
Почему?
Наверное потому что метод onCreate в классе DatabaseHelper пустой.
0
0 / 0 / 0
Регистрация: 06.10.2014
Сообщений: 27
20.01.2017, 21:32  [ТС]
Ну когда я также делаю в другом проекте только не в фрагментах, то все работает и базу использую ту самую

Добавлено через 2 минуты
Цитата Сообщение от fraley Посмотреть сообщение
Там же написано, что базы данных days_of_the_week не существует?
Почему?
Наверное потому что метод onCreate в классе DatabaseHelper пустой.
Я подключаю уже готовою базу с таблицами
0
111 / 111 / 43
Регистрация: 24.05.2015
Сообщений: 329
20.01.2017, 21:49
Цитата Сообщение от Gartus13 Посмотреть сообщение
Я подключаю уже готовою базу с таблицами
Замечательно.
Падает на этой попытке обратиться в БД - SELECT * FROM days_of_the_week
В коде выше я ее не наблюдаю.
0
0 / 0 / 0
Регистрация: 06.10.2014
Сообщений: 27
20.01.2017, 21:54  [ТС]
Цитата Сообщение от fraley Посмотреть сообщение
Замечательно.
Падает на этой попытке обратиться в БД - SELECT * FROM days_of_the_week
В коде выше я ее не наблюдаю.
Ну почему тогда в другом проекте все работает?
0
42 / 42 / 5
Регистрация: 20.01.2015
Сообщений: 279
21.01.2017, 07:37
Небольшой совет. Когда работаете с БД не забывайте удалять приложение или хотя бы данные этого приложения с устройства. ДБхелпер видит что БД с таким именем уже существует и не пересоздает ее. А что там ему сугубо фиолетово.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.01.2017, 07:37
Помогаю со студенческими работами здесь

Создать фрагмент базы данных
НУЖНО ОЧЕНЬ СРОЧНО ПОЛНЫЙ ЗАВАЛ :wall: Контрольная работа Даны отношения моделирующие какую либо предметную область. С...

Из потока данных стандарта DVB извлечь фрагмент пакета Mpeg-2 со звуком или изображением
Здравствуйте! Мне нужна программа написанная на MS Visual C++ которая из потока данных стандарта DVB извлекала бы фрагмент пакета Mpeg-2 со...

Ввод структурированных данных в файл и вывод данных из этого файла на экран (сделать хранилище данных в файле)
Здравствуйте) помогите написать программу, осуществляющую ввод структурированных данных в файл и вывод данных из этого файла на экран...

Как установить LCID. Вывод данных из баз данных в динамические страницы
Я хостюсь на зарубежном хостинге. И отсюда все проблемы (но есть и свои плюсы). У меня есть база SQL Server 2000. При динамическом...

Реализовать ввод данных, вывод данных, поиск по номеру квартиры и возрасту
ввод данных, вывод данных, поиск по номеру квартиры и возрасту. Запись состоит из номера квартиры (тип integer), фамилии (тип string),...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru