Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование 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. Мне нужно чтобы каждый пункт имел...
Как узнать Locale, который стоит на телефоне? Программирование Android
Может как-то не так выразился, но думаю вы меня поняли. Пишу игру на Android и мне нужно узнать locale, который стоит сейчас у меня на телефоне. Дело в том, что стоит русский и ни ru, ни ru_RU не...
Программирование Android Клиент серверное приложение http://www.cyberforum.ru/android-dev/thread988436.html
Разрабатываю клиент серверное приложение, отправка текста в одну сторону, от клиента серверу, аля чат. Подскажите, как реализовать автоматическое отправление сообщения через определённый промежуток...
Программирование Android ArrayList Доброго времени суток! Мне нужно сделать случайную выборку чисел из массива и чтобы в последующим запросе небыло повторений. Так вот для этого я выбрал ArrayList поскольку из него можно удалять... подробнее
Vlad161
0 / 0 / 0
Регистрация: 02.01.2011
Сообщений: 49
28.10.2013, 22:38  [ТС] 0

Ошибка при записи данных в SQLite

28.10.2013, 22:38. Просмотров 1517. Ответов 10
Метки (Все метки)

Ответ

Все равно крашится.

Вот код
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е издание, до БД я еще не дошел.

Всем спасибо

Вернуться к обсуждению:
Ошибка при записи данных в SQLite
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.10.2013, 22:38
Готовые ответы и решения:

Ошибка при записи данных в файл
Помогите пожалуйста!! Вот лог ошибки: java.lang.NullPointerException: Attempt...

Как найти id записи в SQlite таблице при клике на кнопку расположенную в Listview item?
привет ! подскажите пожалуйста решение((( Кейс: у меня есть листвью ,...

Ошибка при создании SQLite
При запуске приложения вылетает ошибка: 03-09 11:04:42.436 ...

SQLite, ошибка: не существует поля "почта" в базе данных
Создал самую простую программку для понимания баз данных SQLite. Есть два...

Узнать номер записи по id (SQLite)
Привет! Осваиваю SQLite, столкнулся с проблемой. Мне нужно получить номер...

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