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

Ошибка при записи данных в SQLite - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Событие для текста http://www.cyberforum.ru/android-dev/thread989630.html
Добрый день! Как сделать что бы при выделении слова можно было отправить этот текст в приложение и сразу же открыть его? У меня это называется "choose an action for text".
Программирование Android Расписания нужно сделать расписание в приложении он должен выглядеть как список я попробовал сделать через ListView но что то не очень))). Пожалуйста посоветуйте что-нибудь видео или какой то туториал или готовий код. Очень прошу http://www.cyberforum.ru/android-dev/thread988772.html
Значения в ListView Программирование Android
Как подставить к пунктам в ListView значения, что-бы допустим было Собака = 10 Кошка = 7. На данный момент у меня складывает суммы только из 3х EditText. Мне нужно чтобы каждый пункт имел своё число, и при его выболе, подставлялся в "уравнение" Вот код: main.xml
Как узнать Locale, который стоит на телефоне? Программирование Android
Может как-то не так выразился, но думаю вы меня поняли. Пишу игру на Android и мне нужно узнать locale, который стоит сейчас у меня на телефоне. Дело в том, что стоит русский и ни ru, ни ru_RU не подходит...
Программирование Android Клиент серверное приложение http://www.cyberforum.ru/android-dev/thread988436.html
Разрабатываю клиент серверное приложение, отправка текста в одну сторону, от клиента серверу, аля чат. Подскажите, как реализовать автоматическое отправление сообщения через определённый промежуток времени.
Программирование Android ArrayList Доброго времени суток! Мне нужно сделать случайную выборку чисел из массива и чтобы в последующим запросе небыло повторений. Так вот для этого я выбрал ArrayList поскольку из него можно удалять элементы. Но вот когда в ArrayList остается 8 элементов в дальнейшем из него ничего невозможно удалить. Да и ещё иногда бывает что удаления элементов работают через раз. Уже по 100 раз все... подробнее

Показать сообщение отдельно
Vlad161
0 / 0 / 0
Регистрация: 02.01.2011
Сообщений: 49
28.10.2013, 22:38  [ТС]
Все равно крашится.

Вот код
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
package ru.vlad.keeper;
 
import android.app.Activity;
import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;
 
public class MainActivity extends Activity {
    
    static final String COLUMN_NAME = "column";
    
    final String LOG_TAG = "myLogs";
 
    TextView tvOut;
    EditText etAdd;
    Button btnKeep;
    ListView listKeep;
 
    DBHelper dbHelper;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        dbHelper = new DBHelper(this);
        
        listKeep = (ListView) findViewById(R.id.listKeep);
 
        tvOut = (TextView) findViewById(R.id.tvOut);
 
        etAdd = (EditText) findViewById(R.id.etAdd);
 
        btnKeep = (Button) findViewById(R.id.btnKeep);
        
        btnKeep.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                
              ContentValues cv = new ContentValues();
 
              String text = etAdd.getText().toString();
 
              SQLiteDatabase db = dbHelper.getWritableDatabase();
                
                int n = 0;
              
                tvOut.setText("Btn Activ " + ++n);
                Log.d(LOG_TAG, "--- Insert in mytable: ---");
                
                cv.put(COLUMN_NAME, text);
                long rowID = db.insert("myTable", null, cv);
                Log.d(LOG_TAG, "row inserted, ID = " + rowID);
                
                
            }
        });
      
        
        
    }
   
}
 
 
class DBHelper extends SQLiteOpenHelper {
 
    final String LOG_TAG = "myLogs";
 
    public DBHelper(Context context) {
        super(context, "myDB", null, 1);
    }
 
 
    @Override
    public void onCreate(SQLiteDatabase sqLiteDatabase) {
 
        SQLiteDatabase db = getWritableDatabase();
 
        Log.d(LOG_TAG, "--- onCreate database ---");
        db.execSQL("create table mytable ("
                + "_id" + " INTEGER PRIMARY KEY AUTOINCREMENT, "
                + MainActivity.COLUMN_NAME + "text" + ");");
 
    }
 
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
 
    }
}
Вот что пишет
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
10-28 14:18:30.508: D/AndroidRuntime(944): Shutting down VM
10-28 14:18:30.508: W/dalvikvm(944): threadid=1: thread exiting with uncaught exception (group=0x41465700)
10-28 14:18:30.538: E/AndroidRuntime(944): FATAL EXCEPTION: main
10-28 14:18:30.538: E/AndroidRuntime(944): java.lang.IllegalStateException: getDatabase called recursively
10-28 14:18:30.538: E/AndroidRuntime(944):  at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:204)
10-28 14:18:30.538: E/AndroidRuntime(944):  at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:164)
10-28 14:18:30.538: E/AndroidRuntime(944):  at ru.vlad.keeper.DBHelper.onCreate(MainActivity.java:86)
10-28 14:18:30.538: E/AndroidRuntime(944):  at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:252)
10-28 14:18:30.538: E/AndroidRuntime(944):  at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:164)
10-28 14:18:30.538: E/AndroidRuntime(944):  at ru.vlad.keeper.MainActivity$1.onClick(MainActivity.java:52)
10-28 14:18:30.538: E/AndroidRuntime(944):  at android.view.View.performClick(View.java:4240)
10-28 14:18:30.538: E/AndroidRuntime(944):  at android.view.View$PerformClick.run(View.java:17721)
10-28 14:18:30.538: E/AndroidRuntime(944):  at android.os.Handler.handleCallback(Handler.java:730)
10-28 14:18:30.538: E/AndroidRuntime(944):  at android.os.Handler.dispatchMessage(Handler.java:92)
10-28 14:18:30.538: E/AndroidRuntime(944):  at android.os.Looper.loop(Looper.java:137)
10-28 14:18:30.538: E/AndroidRuntime(944):  at android.app.ActivityThread.main(ActivityThread.java:5103)
10-28 14:18:30.538: E/AndroidRuntime(944):  at java.lang.reflect.Method.invokeNative(Native Method)
10-28 14:18:30.538: E/AndroidRuntime(944):  at java.lang.reflect.Method.invoke(Method.java:525)
10-28 14:18:30.538: E/AndroidRuntime(944):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
10-28 14:18:30.538: E/AndroidRuntime(944):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
10-28 14:18:30.538: E/AndroidRuntime(944):  at dalvik.system.NativeStart.main(Native Method)
10-28 14:18:34.459: I/Process(944): Sending signal. PID: 944 SIG: 9
Добавлено через 11 минут
Ошибку исправил. Беда была тут:
Вместо этого
Java
1
2
3
 public void onCreate(SQLiteDatabase sqLiteDatabase) {
 
        SQLiteDatabase db = getWritableDatabase();
Надо вот так
Java
1
2
3
 public void onCreate(SQLiteDatabase db) {
 
        //SQLiteDatabase db = getWritableDatabase(); эту строчку удалить
Добавлено через 4 минуты
А вообще понял, что на начальном уровне брать куски кода из уроков и изменять их под себя не лучший вариант. Пошел читать Шилдта - Java полное руководство 8е издание, до БД я еще не дошел.

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