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

"Attempt to re-open an already-closed object" при работе с SQLite - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Android и джойстик http://www.cyberforum.ru/android-dev/thread1416961.html
Всем привет Я создаю игру что то наподобие "alien shooter" и управлять героем с экрана как то не очень удобно и вот хочу в проекте реализовать поддержку джойстика. А как его подключать и что для него использовать я не знаю, помогите плз информацией.
Android Синхронизация баз данных на клиенте и сервере Здравствуйте, подскажите как реализовать простенькое клиент-серверное приложение в котором при редактировании бд сервера автоматически будет менятся бд клиента на устройстве (я понял так выглядит механизм репликация), спасибо) http://www.cyberforum.ru/android-dev/thread1416904.html
Изменить голубой цвет "список закончился" Android
Не знаю у кого как, но у меня при листании за пределы списка появляется голубая "туманная полоска" с той стороны где она закончилась (списки сверху вниз, табы справа-налево). Могу ее полностью отключить в моих списках запретив листать за пределы, но можно ли изменить цвет??? Голубой дико смотрится на красном, рыжем или коричневых тонах! Например сейчас у меня установлена Voice Recorder на...
Android Режим полета - перехват изменения, включение, отключение
Помогите! Кто что знает, слышал, писал... Поможет все! Кнопка случайно нажимается и... я вне связи! И даже не знаю об этом! Есть ли ресиверы? Можно ли узнавать по таймеру функцией? Можно ли вернуть после случайного отключения - включить. Можно ли отключать по таймеру (на ночь). Где-то находил индикатор активации для двухсимочного - для каждой симки, но не уверен что это универсально. ...
Android Получить отдельный кадр с камеры http://www.cyberforum.ru/android-dev/thread1416836.html
У меня идет захват видео через камеру. Но мне нужно анализировать из этого видео кадры. Как правильно сохранять каждый кадр видео с камеры?? Какая есть для этого структура?? Можете написать фрагмент сохранения(выделения) отдельных кадров видео с камеры?? Добавлено через 1 час 29 минут Мне в моем приложении нужно просто брать кадр и анализировать. Для этого нужно сохранять его куда нибудь в...
Android Debugger, как правильно с ним работать? День добрый. Подключаю свой девайс к компьютеру, Android Studio его видит. В режиме дебагинга выбираю запустить приложение на моём устройстве. Ранее никаких проблем не было и приложение всегда запускалось, и на всех брикпоинтах программа останавливалась. А вдруг непонятно с чего начались 2 беды: 1) Приложение просто не запускается. AS пишет "Connected to the target VM, address:... подробнее

Показать сообщение отдельно
Naomis
5 / 5 / 1
Регистрация: 11.03.2015
Сообщений: 196
Завершенные тесты: 1
09.04.2015, 20:31  [ТС]     "Attempt to re-open an already-closed object" при работе с SQLite
Цитата Сообщение от Armagedo Посмотреть сообщение
Причём здесь курсор, если речь идет о закрытии соединения с базой данных?
Курсоры закрывай себе так как и закрывал после подсказки Rube.
База данных, курсор - разницу улавливаешь?
Если честно, то улавливаю, вроде бы, но не то что бы явно...

Программу поправил... Спасибо огромное. Имена столбцов в БД...
Но "FATAL EXCEPTION: main " всё ещё есть, но уже по другим причинам, вроде.
Prolog
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
04-09 20:16:13.882  31989-31989/com.example.kirukato.coolstdreg I/Process﹕ Sending signal. PID: 31989 SIG: 9
04-09 20:16:24.393      580-580/com.example.kirukato.coolstdreg D/libEGL﹕ loaded /vendor/lib/egl/libEGL_adreno.so
04-09 20:16:24.393      580-580/com.example.kirukato.coolstdreg D/libEGL﹕ loaded /vendor/lib/egl/libGLESv1_CM_adreno.so
04-09 20:16:24.393      580-580/com.example.kirukato.coolstdreg D/libEGL﹕ loaded /vendor/lib/egl/libGLESv2_adreno.so
04-09 20:16:24.393      580-580/com.example.kirukato.coolstdreg I/Adreno-EGL﹕ <qeglDrvAPI_eglInitialize:316>: EGL 1.4 QUALCOMM build:  (CL4169980)
    OpenGL ES Shader Compiler Version: 17.01.10.SPL
    Build Date: 11/04/13 Mon
    Local Branch:
    Remote Branch:
    Local Patches:
    Reconstruct Branch:
04-09 20:16:24.433      580-580/com.example.kirukato.coolstdreg D/OpenGLRenderer﹕ Enabling debug mode 0
04-09 20:16:28.107      580-580/com.example.kirukato.coolstdreg V/EVENT__ACTIVITY﹕ ОТКРЫВАЕМ ПОДКЛЮЧЕНИЕ К БАЗЕ ДАННЫХ
04-09 20:16:28.127      580-580/com.example.kirukato.coolstdreg V/EVENT__ACTIVITY﹕ ОК- ОТКРЫЛИ
04-09 20:16:28.147      580-580/com.example.kirukato.coolstdreg V/EVENT__ACTIVITY﹕ ЖДЁМ 'ТЫК' КНОПКИ
04-09 20:16:29.008      580-580/com.example.kirukato.coolstdreg V/EVENT__ACTIVITY﹕ ТЫК!
04-09 20:16:29.008      580-580/com.example.kirukato.coolstdreg V/EVENT__ACTIVITY﹕ РАБОТАЕ С МАНАМИ --- if (edtMan.getSelectedItem() != null) ---
04-09 20:16:29.008      580-580/com.example.kirukato.coolstdreg V/EVENT__ACTIVITY﹕ ----if МЫ ВНУТРИ  -----
04-09 20:16:29.008      580-580/com.example.kirukato.coolstdreg V/EVENT__ACTIVITY﹕ ----if -----   checkMan = true;
04-09 20:16:29.008      580-580/com.example.kirukato.coolstdreg V/EVENT__ACTIVITY﹕ ----if -----   checkMan = true;-- ОК
04-09 20:16:29.008      580-580/com.example.kirukato.coolstdreg V/EVENT__ACTIVITY﹕ ----if----- ПРИСВАИВАЕМ КУРСОРУ  cur = db.GetCatalogValueByName(.........);
04-09 20:16:29.008      580-580/com.example.kirukato.coolstdreg V/EVENT__ACTIVITY﹕ Выводим edtMan.getSelectedItem().toString()------Вася
04-09 20:16:29.008      580-580/com.example.kirukato.coolstdreg V/DB__ACTIVITY﹕ ----МЫ В GetCatalogValueByName----
04-09 20:16:29.008      580-580/com.example.kirukato.coolstdreg V/DB__ACTIVITY﹕ ---ПРОСМОТР ПОСТУПАЮЩИХ ДАННЫХ. select _id from man where name = 'Вася '
04-09 20:16:29.008      580-580/com.example.kirukato.coolstdreg V/DB__ACTIVITY﹕ select _id from man where name = 'Вася '
04-09 20:16:29.008      580-580/com.example.kirukato.coolstdreg V/DB__ACTIVITY﹕ 1
04-09 20:16:29.008      580-580/com.example.kirukato.coolstdreg V/EVENT__ACTIVITY﹕ ----if----- ПРИСВАИВАЕМ КУРСОРУ  cur = db.GetCatalogValueByName(.........);-------ОК
04-09 20:16:29.008      580-580/com.example.kirukato.coolstdreg V/EVENT__ACTIVITY﹕ ----if-----   ПРИСВАИВАЕМ _id ---- cManID = cur.getInt(...._id")-----
04-09 20:16:29.008      580-580/com.example.kirukato.coolstdreg V/EVENT__ACTIVITY﹕ ----if-----   ПРИСВАИВАЕМ _id ---- cManID = cur.getInt(...._id")-----ОК
04-09 20:16:29.008      580-580/com.example.kirukato.coolstdreg V/EVENT__ACTIVITY﹕ РАБОТАЕ С EВЕНТ ТАЙПОМ --- if (edtET.getSelectedItem() != null) ---
04-09 20:16:29.008      580-580/com.example.kirukato.coolstdreg V/DB__ACTIVITY﹕ ----МЫ В GetCatalogValueByName----
04-09 20:16:29.008      580-580/com.example.kirukato.coolstdreg V/DB__ACTIVITY﹕ ---ПРОСМОТР ПОСТУПАЮЩИХ ДАННЫХ. select _id from event_type where name = 'ответ по дз '
04-09 20:16:29.008      580-580/com.example.kirukato.coolstdreg V/DB__ACTIVITY﹕ select _id from event_type where name = 'ответ по дз '
04-09 20:16:29.018      580-580/com.example.kirukato.coolstdreg V/DB__ACTIVITY﹕ 1
04-09 20:16:29.018      580-580/com.example.kirukato.coolstdreg V/EVENT__ACTIVITY﹕ РАБОТАЕ С МИТОМ --- if (edtMeet.getSelectedItem() != null) ---
04-09 20:16:29.018      580-580/com.example.kirukato.coolstdreg V/DB__ACTIVITY﹕ ----МЫ В GetCatalogValueByName----
04-09 20:16:29.018      580-580/com.example.kirukato.coolstdreg V/DB__ACTIVITY﹕ ---ПРОСМОТР ПОСТУПАЮЩИХ ДАННЫХ. select _id from event_type where name = 'лаба '
04-09 20:16:29.018      580-580/com.example.kirukato.coolstdreg V/DB__ACTIVITY﹕ select _id from event_type where name = 'лаба '
04-09 20:16:29.018      580-580/com.example.kirukato.coolstdreg V/DB__ACTIVITY﹕ 0
04-09 20:16:29.018      580-580/com.example.kirukato.coolstdreg D/AndroidRuntime﹕ Shutting down VM
04-09 20:16:29.018      580-580/com.example.kirukato.coolstdreg W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x4154d8b0)
04-09 20:16:29.038      580-580/com.example.kirukato.coolstdreg E/AndroidRuntime﹕ FATAL EXCEPTION: main
    android.database.CursorIndexOutOfBoundsException: Index 0 requested, with a size of 0
            at android.database.AbstractCursor.checkPosition(AbstractCursor.java:424)
            at android.database.AbstractWindowedCursor.checkPosition(AbstractWindowedCursor.java:136)
            at android.database.AbstractWindowedCursor.getInt(AbstractWindowedCursor.java:68)
            at com.example.kirukato.coolstdreg.EventActivity$1.onClick(EventActivity.java:119)
            at android.view.View.performClick(View.java:4421)
            at android.view.View$PerformClick.run(View.java:17903)
            at android.os.Handler.handleCallback(Handler.java:730)
            at android.os.Handler.dispatchMessage(Handler.java:92)
            at android.os.Looper.loop(Looper.java:213)
            at android.app.ActivityThread.main(ActivityThread.java:5225)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:525)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:741)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
            at dalvik.system.NativeStart.main(Native Method)
Как я вижу программа теперь идёт дальше,но всё же вылетает, что-то не так.

Добавлено через 8 минут
Для таблицы "meeting" работает некорректно
Java
1
Log.v(TAG, cur.getCount() + "");
выдаёт
Prolog
1
DB__ACTIVITY﹕ 0
Java
1
2
3
4
5
6
7
8
Log.v(TAG, "РАБОТАЕ С МИТОМ --- if (edtMeet.getSelectedItem() != null) ---" );
                if (edtMeet.getSelectedItem() != null)
                {
                    checkMeet = true;
                    cur = db.GetCatalogValueByName("event_type", "_id", "name", edtMeet.getSelectedItem().toString());
                    cMeetID = cur.getInt(cur.getColumnIndex("_id"));
                    //db.addRec("event", DB.EVENT_COLUMN_MEETING, cMeetID );
                }
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
public Cursor GetCatalogValueByName(String CatalogFullName,
                                        String FieldFullName,
                                        String ConditionField,
                                        String Value)
    {
        //Open();
 
        Log.v(TAG, "----МЫ В GetCatalogValueByName----");
 
        Log.v(TAG,"---ПРОСМОТР ПОСТУПАЮЩИХ ДАННЫХ." + " select " + FieldFullName + " from " + CatalogFullName +
                " where " + ConditionField + " = '" + Value + "'" );
 
        Cursor cur = mDB.rawQuery(" select " + FieldFullName +
                " from " + CatalogFullName +
                " where " + ConditionField + " = '" + Value + "'"
                , null);
 
        Log.v(TAG, " select " + FieldFullName +
                " from " + CatalogFullName +
                " where " + ConditionField + " = '" + Value + "'");
 
        cur.moveToFirst();
        //Close();
 
        Log.v(TAG, cur.getCount() + "");
 
        return cur;
    }
Я что-то упустил?
 
Текущее время: 18:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru