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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.71
TalgatMuratov
1 / 1 / 1
Регистрация: 01.04.2013
Сообщений: 40
#1

SQLite Android таблица - Программирование Android

01.04.2013, 20:02. Просмотров 2113. Ответов 16
Метки нет (Все метки)

Ужас устал помогите пожалуйста! В SQLite добавил дополнительную таблицу:
public static final String KEY_NAME = "Name";
После этого где только необходимо добавил KEY_NAME программа запускается но когда я с 1 окна с помощью перехожу в базу данных что бы передать полученный результат выдаёт ошибка в Debug а в самом коде вроде всё нормально Eclipse не ругается!
Я выложу полностью свой код, может я что то не правильно сделал в коде, пожалуйста откликнитесь а то я запутался!
Первое идёт простой калькулятор MainAcivity:
package com.talgat.kalkulator;


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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
 
@SuppressLint("CutPasteId")
public class MainActivity extends Activity implements OnClickListener {
    final int MENU_COLOR_BLACK = 1;
    final int MENU_COLOR_BLUE = 2;
    final int MENU_COLOR_GREEN = 3;
    final int MENU_COLOR_RED = 4;
    final int MENU_COLOR_WHITE = 5;
    final int MENU_HD1 =6;
    final int MENU_HD2 =7;
    final int MENU_HD3 =8;
    final int MENU_HD4 =9;
    final int MENU_HD5 =10;
    
    EditText but1;
    EditText but2;
    Button plus;
    Button minus;
    Button umno;
    Button delen;
    TextView result;
    String operator= "";
    
    
 
 @Override
 public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);
 View mStartButton = findViewById(R.id.button1);
 mStartButton.setOnClickListener(this);
 
 but1 = (EditText) findViewById(R.id.Num1);
 but2 = (EditText) findViewById(R.id.Num2);
 plus = (Button) findViewById(R.id.plus);
 minus = (Button) findViewById(R.id.minus);
 umno = (Button) findViewById(R.id.umno);
 delen = (Button) findViewById(R.id.delen);
 result = (TextView) findViewById(R.id.result);
 registerForContextMenu(result);
 registerForContextMenu(mStartButton);
 
 plus.setOnClickListener(this);
 minus.setOnClickListener(this);
 umno.setOnClickListener(this);
 delen.setOnClickListener(this);
 
 }
 
 
 public void onClick(View v) {
    float Num1 = 0;
    float Num2 = 0;
    float result1 = 0;
    
    
    if (TextUtils.isEmpty(but1.getText().toString())
    || TextUtils.isEmpty(but2.getText().toString())){
    return;
    }
    
    Num1 = Float.parseFloat(but1.getText().toString());
    Num2 = Float.parseFloat(but2.getText().toString());
    
    switch (v.getId()) {
    case R.id.plus:
    operator = "+";
    result1 = Num1 + Num2;
    break;
    case R.id.minus:
    operator = "-";
    result1 = Num1 - Num2;
    break;
    case R.id.umno:
    operator = "*";
    result1 = Num1 * Num2;
    break;
    case R.id.delen:
    operator = "/";
    result1 = Num1 / Num2;
    break;
    case R.id.button1:
//здесь я передаю полученный результат для обоих полей которые после заносятся в БД как insert(string).
// Это для вставки в KEY_CONTENT
    Intent intent = new Intent(this, Database.class);
    intent.putExtra("talgat", result.getText().toString());
// Это для вставки в KEY_NAME
    Intent intent1 = new Intent(this, Database.class);
    intent1.putExtra("talgat1", result.getText().toString());
 
    
    
    
    
    
    startActivity(intent1);
    startActivity(intent);
    break;
    
    
    
    default:
    break;
    
    }
    
    
    result.setText(Num1 + " " + operator + " " + Num2 + "=" + result1);
    
    
    
 
    
    
    
    
    }
 public void onCreateContextMenu(ContextMenu menu, View v,
    ContextMenuInfo menuInfo) {
    // TODO Auto-generated method stub
    switch (v.getId()) {
    case R.id.result:
    menu.add(0, MENU_COLOR_BLACK, 0, "Black");
    menu.add(0, MENU_COLOR_BLUE, 0, "Blue");
    menu.add(0, MENU_COLOR_GREEN, 0, "Green");
    menu.add(0, MENU_COLOR_RED, 0, "Red");
    menu.add(0, MENU_COLOR_WHITE, 0, "White");
    break;
    case R.id.button1:
    menu.add(0, MENU_HD1, 0, "Girl1");
    menu.add(0, MENU_HD2, 0, "Girl2");
    menu.add(0, MENU_HD3, 0, "Girl3");
    menu.add(0, MENU_HD4, 0, "Girl4");
    menu.add(0, MENU_HD5, 0, "Girl5");
    break;
    }}
@Override
    public boolean onContextItemSelected(MenuItem item) {
    // TODO Auto-generated method stub
    switch (item.getItemId()) {
    case MENU_COLOR_BLACK:
    result.setTextColor(Color.BLACK);
    
    
    break;
    case MENU_COLOR_BLUE:
    result.setTextColor(Color.BLUE);
    
    
    
    break;
    case MENU_COLOR_GREEN:
    result.setTextColor(Color.GREEN);
    
    break;
    
    case MENU_COLOR_RED:
    result.setTextColor(Color.RED);
    
    break;
    case MENU_COLOR_WHITE:
    result.setTextColor(Color.WHITE);
    
    break;
    case MENU_HD1:
    View mStartButton = findViewById(R.id.button1);
 mStartButton.setBackgroundResource(R.drawable.ic_launcher1);
    break;
    case MENU_HD2:
    View mStartButton1 = findViewById(R.id.button1);
    mStartButton1.setBackgroundResource(R.drawable.ic_launcher4);
    break;
    case MENU_HD3:
    View mStartButton2 = findViewById(R.id.button1);
    mStartButton2.setBackgroundResource(R.drawable.ic_launcher5);
    break;
    case MENU_HD4:
    View mStartButton3 = findViewById(R.id.button1);
    mStartButton3.setBackgroundResource(R.drawable.ic_launcher6);
    break;
    case MENU_HD5:
    View mStartButton4 = findViewById(R.id.button1);
    mStartButton4.setBackgroundResource(R.drawable.ic_launcher7);
    break;
    }
    return super.onContextItemSelected(item);
}
 
 
 
 }
Адаптер БД, таблицы SQLiteAdapter class:
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
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
 
public class SQLiteAdapter {
 
    public static final String MYDATABASE_NAME = "MY_DATABASE3";
    public static final String MYDATABASE_TABLE = "MY_TABLE";
    public static final String KEY_NAME = "Name";
//Добавил KEY_NAME;
    public static final int MYDATABASE_VERSION = 1;
    public static final String KEY_CONTENT = "Content";
    public static final String KEY_ID = "_id";
 
    
 
    private SQLiteHelper sqLiteHelper;
    private SQLiteDatabase sqLiteDatabase;
 
    private Context context;
 
    public SQLiteAdapter(Context c) {
    context = c;
    }
 
    public SQLiteAdapter openToRead() throws android.database.SQLException {
    sqLiteHelper = new SQLiteHelper(context, MYDATABASE_NAME, null,
    MYDATABASE_VERSION);
    sqLiteDatabase = sqLiteHelper.getReadableDatabase();
    return this;
    }
 
    public SQLiteAdapter openToWrite() throws android.database.SQLException {
    sqLiteHelper = new SQLiteHelper(context, MYDATABASE_NAME, null,
    MYDATABASE_VERSION);
    sqLiteDatabase = sqLiteHelper.getWritableDatabase();
    return this;
    }
 
    public void close() {
    sqLiteHelper.close();
    }
 
    public long insert(String content, String name) {
    ContentValues values = new ContentValues();
    values.put(KEY_CONTENT, content);
    values.put(KEY_NAME, name);
//в insert в скобках добавил String name и также указал что вставка именно в KEY_NAME
    
    return sqLiteDatabase.insert(MYDATABASE_TABLE , null, values);
    }
 
    public int deleteAll() {
    return sqLiteDatabase.delete(MYDATABASE_TABLE , null, null);
    }
 
    public Cursor queueAll() {
    String[] columns = new String[] { KEY_ID, KEY_CONTENT, KEY_NAME };
Здесь тоже самое вставил!
    Cursor cursor = sqLiteDatabase.query(true, MYDATABASE_TABLE , columns, null,
    null, null, null, null, null);
 
    return cursor;
    }
 
    public class SQLiteHelper extends SQLiteOpenHelper {
 
    public SQLiteHelper(Context context, String name,
    CursorFactory factory, int version) {
    super(context, name, factory, version);
    }
 
    @Override
    public void onCreate(SQLiteDatabase db) {
//Создание БД также вставил KEY_NAME
    // TODO Auto-generated method stub
    // create table MY_DATABASE (ID integer primary key, Content text not null);
    String SCRIPT_CREATE_DATABASE = "create table "
    + MYDATABASE_TABLE + " (" + KEY_ID + " integer primary key autoincrement, " + KEY_CONTENT
    + " text not null,"
    +KEY_NAME + "text not null);";
    db.execSQL(SCRIPT_CREATE_DATABASE);
    }
 
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    // TODO Auto-generated method stub
    db.execSQL("DROP TABLE IF EXISTS" + MYDATABASE_TABLE);
    onCreate(db);
    }
    }
}
А вот куда и переходит мои полученный данные в Database class:
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
103
104
105
106
107
import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
 
 
public class Database extends Activity implements OnClickListener {
    
    
 
    private SQLiteAdapter mySQLiteAdapter;
    ListView listContent;
    
    
    
 
    
    
 
    SimpleCursorAdapter cursorAdapter;
    Cursor cursor;
    
    
    
 
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    
    
    
    listContent = (ListView) findViewById(R.id.listContent);
    View mStartButton = findViewById(R.id.deleteall);
    mStartButton.setOnClickListener(this);
    
    
 
    /*
    * Создаем/Открываем a SQLite-базу и заполняем ее именами
    * Закрываем базу
    */
    mySQLiteAdapter = new SQLiteAdapter(this);
    mySQLiteAdapter.openToWrite();
    Intent intent = getIntent();
    String data1 = intent.getStringExtra("talgat");
    Intent intent1 = getIntent();
    String data2 = intent1.getStringExtra("talgat1");
    mySQLiteAdapter.insert(data1, data2);
    
    
    
    
    
 
    /*
    * Открываем эту же базу и считываем содержимое.
    */
    //mySQLiteAdapter = new SQLiteAdapter(this);
    //mySQLiteAdapter.openToRead();
 
    cursor = mySQLiteAdapter.queueAll();
    //startManagingCursor(cursor);
//Здесь добавил SQLiteAdapter.KEY_NAME и дополнительно R.id.text1 
//String[] from это массив строк
//  int[] to целочисленный массив куда закидываются данные в TextView нужно чтобы KEY_CONTENT заносился в R.id.text а KEY_NAME в R.id.text1 
String[] from = new String[] { SQLiteAdapter.KEY_CONTENT, SQLiteAdapter.KEY_NAME };
    int[] to = new int[] { R.id.text, R.id.text1 };
 
    cursorAdapter = new SimpleCursorAdapter(this, R.layout.row, cursor,
    from, to);
 
    listContent.setAdapter(cursorAdapter);
    
    
    }
 
    public void onClick(View v) {
    
    
    switch (v.getId()) {
    case R.id.deleteall:
    mySQLiteAdapter.deleteAll();
    updateList();
    break;
 
    default:
    break;
    }
    }
 
    private void updateList() {
    cursor.requery();
    }
 
    @Override
    protected void onDestroy() {
    // TODO Auto-generated method stub
    super.onDestroy();
    mySQLiteAdapter.close();
    }
}
вот xml файл row для TextView:text и text1:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:orientation="vertical" >
<TextView 
 android:id="@+id/text"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:padding="10dip" 
 android:text="@string/text"
 android:textColor="@color/black"/>
<TextView 
android:id="@+id/text1"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:padding="10dip" 
 android:text="@string/text"
 android:textColor="@color/black"/>
</LinearLayout>
Может где то я ошибся но Eclipse ошибок не видит вроде всё правильно но когда я передаю с помощью Intent нажимаю кнопку перехода то тогда вылазиет такое:
вот ссылка на картинку с ошибкой
http://talgatmuratov.narod2.ru/Eclipse/Eclipse.jpg
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.04.2013, 20:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос SQLite Android таблица (Программирование Android):

Не удаляется таблица в SQLite - Программирование Android
Первоначально в приложении существует бд с пустой таблицей. Эта база копируется из assets. По ходу выполнения приложения таблица...

SQLite Android - Программирование Android
Привет всем! У меня образовалась такая проблема: пишу приложение на android, при этом воспользовавшись макетом &quot;Master/Detal Flow&quot;. Мне...

SQLite и android - Программирование Android
Привет. Вот решил посмотреть, что же такое android. Проконсультируете пожалуйста. 1. На сколько эффективно работает SQLite с 5-10...

Android и sqlite - Программирование Android
Вечер добрый, товарищи! Вопрос такой: как быстро считывать и передавать большое кол-во данных между приложением и БД? Речь идёт о...

Android, ListView, база данных SQLite - Программирование Android
Как достать картинку из БД (SQLite) и поместить её в ListView??? помогите, пожалуйста :)

Импорт данных из Excel в SQLite Android - Программирование Android
Добрый вечер! Подскажите как имортировать данные из EXCEL файла в в SQLite. Гугл выдает много ссылок, но все они какие-то черезчур...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
lifestyle
Mobile Developer
232 / 228 / 4
Регистрация: 10.05.2009
Сообщений: 917
01.04.2013, 20:39 #2
хм а какую ошибку то выкидывает?!
А версию БД подняли на единицу?))) вообщем или снести из телефона приложение и установить программу заново, либо - корректный вариант - увеличить версию БД
это
Java
1
public static final int MYDATABASE_VERSION = 1;
на
Java
1
public static final int MYDATABASE_VERSION = 2;
Пы.Сы.
При изменении структуры БД необходимо увеличивать как минимум на единицу версию БД
а метод onUpgrade() запуститься автоматом при изменении ыерсии БД и удалить старые таблицы и заменит их на новые, соответственно тебе нужно правильно перегрузить данный метод. В твоем коде он перегружен правильно, но если ты добавишь еще таблицу то соответственно внеси в метод onUpgrade() соответствующие изменения что бы потом проблем не было...
TalgatMuratov
1 / 1 / 1
Регистрация: 01.04.2013
Сообщений: 40
01.04.2013, 21:06  [ТС] #3
Я сделал как вы просили поменял версию на 2 но ошибка другая после того как я с калькулятора передаю в интет в базу! не получилось!
lifestyle
Mobile Developer
232 / 228 / 4
Регистрация: 10.05.2009
Сообщений: 917
01.04.2013, 21:57 #4
что за ошибка то???
permission на интернет добавлен?
как БД передается в инет?
Есть рут на телефоне?
TalgatMuratov
1 / 1 / 1
Регистрация: 01.04.2013
Сообщений: 40
01.04.2013, 22:32  [ТС] #5
/здесь я передаю полученный результат для обоих полей которые после заносятся в БД как insert(string).
// Это для вставки в KEY_CONTENT
Intent intent = new Intent(this, Database.class);
intent.putExtra("talgat", result.getText().toString());
// Это для вставки в KEY_NAME
Intent intent1 = new Intent(this, Database.class);
intent1.putExtra("talgat1", result.getText().toString());

startActivity(intent1);
startActivity(intent);

а в Database.class
mySQLiteAdapter = new SQLiteAdapter(this);
mySQLiteAdapter.openToWrite();
Intent intent = getIntent();
String data1 = intent.getStringExtra("talgat");
Intent intent1 = getIntent();
String data2 = intent1.getStringExtra("talgat1");
mySQLiteAdapter.insert(data1, data2); Этот второй String образовался из за того что я добавил в long insert в
SQLiteAdapter.class

public long insert(String content, String name) {
ContentValues values = new ContentValues();
values.put(KEY_CONTENT, content);
values.put(KEY_NAME, name); //Вот эту строку и то что выделено красным

return sqLiteDatabase.insert(MYDATABASE_TABLE , null, values);
}
lifestyle
Mobile Developer
232 / 228 / 4
Регистрация: 10.05.2009
Сообщений: 917
01.04.2013, 23:54 #6
а пользоваться тегами языка программирования не пробовал?? зачем два раза подряд startActivity() ?!!
да и какая ошибка то?! покажи логи...
TalgatMuratov
1 / 1 / 1
Регистрация: 01.04.2013
Сообщений: 40
02.04.2013, 00:20  [ТС] #7
Вот LogCat вкладка verbose:
04-01 20:16:42.667: D/ddm-heap(226): Got feature list request
04-01 20:16:43.146: I/dalvikvm(226): Debugger is active
04-01 20:16:43.377: I/System.out(226): Debugger has connected
04-01 20:16:43.397: I/System.out(226): waiting for debugger to settle...
04-01 20:16:43.640: I/System.out(226): waiting for debugger to settle...
04-01 20:16:43.857: I/System.out(226): waiting for debugger to settle...
04-01 20:16:44.057: I/System.out(226): waiting for debugger to settle...
04-01 20:16:44.266: I/System.out(226): waiting for debugger to settle...
04-01 20:16:44.493: I/System.out(226): waiting for debugger to settle...
04-01 20:16:44.749: I/System.out(226): waiting for debugger to settle...
04-01 20:16:44.948: I/System.out(226): waiting for debugger to settle...
04-01 20:16:45.214: I/System.out(226): waiting for debugger to settle...
04-01 20:16:45.461: I/System.out(226): waiting for debugger to settle...
04-01 20:16:45.657: I/System.out(226): waiting for debugger to settle...
04-01 20:16:45.940: I/System.out(226): waiting for debugger to settle...
04-01 20:16:46.148: I/System.out(226): waiting for debugger to settle...
04-01 20:16:46.347: I/System.out(226): waiting for debugger to settle...
04-01 20:16:46.607: I/System.out(226): waiting for debugger to settle...
04-01 20:16:46.807: I/System.out(226): waiting for debugger to settle...
04-01 20:16:47.027: I/System.out(226): debugger has settled (1328)
04-01 20:16:49.717: D/dalvikvm(226): GC freed 711 objects / 56040 bytes in 138ms
04-01 20:16:56.747: W/KeyCharacterMap(226): No keyboard for id 0
04-01 20:16:56.792: W/KeyCharacterMap(226): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
04-01 20:17:06.267: E/Database(226): Failure 1 (near "EXISTSMY_TABLE": syntax error) on 0x139210 when preparing 'DROP TABLE IF EXISTSMY_TABLE'.

и ещё вот
04-01 20:16:56.747: W/KeyCharacterMap(226): No keyboard for id 0
04-01 20:16:56.792: W/KeyCharacterMap(226): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
04-01 20:17:06.267: E/Database(226): Failure 1 (near "EXISTSMY_TABLE": syntax error) on 0x139210 when preparing 'DROP TABLE IF EXISTSMY_TABLE'.
lifestyle
Mobile Developer
232 / 228 / 4
Регистрация: 10.05.2009
Сообщений: 917
02.04.2013, 00:37 #8
замени это:
Java
1
2
3
4
5
6
@Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    // TODO Auto-generated method stub
    db.execSQL("DROP TABLE IF EXISTS" + MYDATABASE_TABLE); /
    onCreate(db);
    }
на
Java
1
2
3
4
5
6
@Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    // TODO Auto-generated method stub
    db.execSQL("DROP TABLE IF EXISTS " + MYDATABASE_TABLE); //тут нужно было добавить пробел после EXISTS
    onCreate(db);
    }
Пы. Сы.

читай логи...
TalgatMuratov
1 / 1 / 1
Регистрация: 01.04.2013
Сообщений: 40
02.04.2013, 01:02  [ТС] #9
Нет не выходит вместо него вышли логи
04-01 21:00:36.720: W/ActivityThread(252): Application com.talgat.kalkulator is waiting for the debugger on port 8100...
04-01 21:00:36.750: I/System.out(252): Sending WAIT chunk
04-01 21:00:36.810: D/ddm-heap(252): Got feature list request
04-01 21:00:36.830: I/dalvikvm(252): Debugger is active
04-01 21:00:36.960: I/System.out(252): Debugger has connected
04-01 21:00:36.960: I/System.out(252): waiting for debugger to settle...
04-01 21:00:37.160: I/System.out(252): waiting for debugger to settle...
04-01 21:00:37.362: I/System.out(252): waiting for debugger to settle...
04-01 21:00:37.570: I/System.out(252): waiting for debugger to settle...
04-01 21:00:37.798: I/System.out(252): waiting for debugger to settle...
04-01 21:00:38.014: I/System.out(252): waiting for debugger to settle...
04-01 21:00:38.220: I/System.out(252): waiting for debugger to settle...
04-01 21:00:38.470: I/System.out(252): waiting for debugger to settle...
04-01 21:00:38.707: I/System.out(252): waiting for debugger to settle...
04-01 21:00:38.930: I/System.out(252): waiting for debugger to settle...
04-01 21:00:39.175: I/System.out(252): waiting for debugger to settle...
04-01 21:00:39.391: I/System.out(252): waiting for debugger to settle...
04-01 21:00:39.631: I/System.out(252): debugger has settled (1431)
04-01 21:00:41.250: D/dalvikvm(252): GC freed 711 objects / 56040 bytes in 168ms
04-01 21:00:55.400: W/KeyCharacterMap(252): No keyboard for id 0
04-01 21:00:55.410: W/KeyCharacterMap(252): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
04-01 21:01:08.710: E/Database(252): Error inserting Name=null Content=null
04-01 21:01:08.710: E/Database(252): android.database.sqlite.SQLiteException: table MY_TABLE has no column named Name: , while compiling: INSERT INTO MY_TABLE(Name, Content) VALUES(?, ?);
04-01 21:01:08.710: E/Database(252): at android.database.sqlite.SQLiteProgram.native_compile(Native Method)
04-01 21:01:08.710: E/Database(252): at android.database.sqlite.SQLiteProgram.compile(SQLiteProgram.java:110)
04-01 21:01:08.710: E/Database(252): at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:59)
04-01 21:01:08.710: E/Database(252): at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:41)
04-01 21:01:08.710: E/Database(252): at android.database.sqlite.SQLiteDatabase.compileStatement(SQLiteDatabase.java:1027)
04-01 21:01:08.710: E/Database(252): at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1413)
04-01 21:01:08.710: E/Database(252): at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1286)
04-01 21:01:08.710: E/Database(252): at com.talgat.kalkulator.SQLiteAdapter.insert(SQLiteAdapter.java:55)
04-01 21:01:08.710: E/Database(252): at com.talgat.kalkulator.Database.onCreate(Database.java:61)
04-01 21:01:08.710: E/Database(252): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
04-01 21:01:08.710: E/Database(252): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)
04-01 21:01:08.710: E/Database(252): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
04-01 21:01:08.710: E/Database(252): at android.app.ActivityThread.access$2200(ActivityThread.java:119)
04-01 21:01:08.710: E/Database(252): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
04-01 21:01:08.710: E/Database(252): at android.os.Handler.dispatchMessage(Handler.java:99)
04-01 21:01:08.710: E/Database(252): at android.os.Looper.loop(Looper.java:123)
04-01 21:01:08.710: E/Database(252): at android.app.ActivityThread.main(ActivityThread.java:4363)
04-01 21:01:08.710: E/Database(252): at java.lang.reflect.Method.invokeNative(Native Method)
04-01 21:01:08.710: E/Database(252): at java.lang.reflect.Method.invoke(Method.java:521)
04-01 21:01:08.710: E/Database(252): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
04-01 21:01:08.710: E/Database(252): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
04-01 21:01:08.710: E/Database(252): at dalvik.system.NativeStart.main(Native Method)
c4sp3r
0x5B4C322291BD52AE
92 / 92 / 5
Регистрация: 04.03.2013
Сообщений: 295
02.04.2013, 03:22 #10
Error inserting Name=null Content=null
Тут у тебя заместо строк null
Java
1
public long insert(String content, String name)
ищи почему в метод не передаются нужные строки.

Не по теме:

lifestyle, как тебе не лень в таком копаться =)

TalgatMuratov
1 / 1 / 1
Регистрация: 01.04.2013
Сообщений: 40
02.04.2013, 17:02  [ТС] #11
Я так и знал когда, я делал БД там уже было один String Content а в Database.class
public long insert(String content, String name)
mySQLiteAdapter.insert(data1)//был String Content тогда спокойно работал
А когда в public long insert(String content, String name)//добавил String name в Database.class Eclipse предложил в mySQLiteAdapter.insert(data1, data1)/ вставить тоже String data1.

Добавлено через 3 часа 22 минуты
Но всё же не работает до сих пор пытаюсь!

Добавлено через 1 час 19 минут
04-02 12:22:13.705: E/Database(220): Error inserting Name=5.0 + 5.0=10.0 Content=5.0 + 5.0=10.0
lifestyle
Mobile Developer
232 / 228 / 4
Регистрация: 10.05.2009
Сообщений: 917
03.04.2013, 00:54 #12

Не по теме:

Цитата Сообщение от c4sp3r Посмотреть сообщение
Не по теме:
lifestyle, как тебе не лень в таком копаться =)
Да я и не копаюсь, достаточно в лог глянуть, к тому же у меня в одном проекте много работы с БД, а его ошибки это вечные ошибки-очепатки - забыть воткнуть пробел или сменить версию БД после изменения таблицы , правда только если версия выше единицы))))



Добавлено через 3 минуты
опять пробела не хватает
Java
1
2
3
4
5
6
7
8
9
10
11
 @Override
    public void onCreate(SQLiteDatabase db) {
//Создание БД также вставил KEY_NAME
    // TODO Auto-generated method stub
    // create table MY_DATABASE (ID integer primary key, Content text not null);
    String SCRIPT_CREATE_DATABASE = "create table "
    + MYDATABASE_TABLE + " (" + KEY_ID + " integer primary key autoincrement, " + KEY_CONTENT
    + " text not null,"
    +KEY_NAME +/*добавь пробел!!!*/"text not null);";
    db.execSQL(SCRIPT_CREATE_DATABASE);
    }
TalgatMuratov
1 / 1 / 1
Регистрация: 01.04.2013
Сообщений: 40
03.04.2013, 01:50  [ТС] #13
Здравствуйте! Я это попробовал )) но не вышло! такие же ошибки! может я скину вам на почту или куда нибудь ещё свой БД(проект "workspace") я в этом новичок у нас в универе этому никто не учит хочется узнать почему и решить проблему о когда вы пишите прям душа радуется пробую бес конца))! Заранее огромное спасибо!
c4sp3r
0x5B4C322291BD52AE
92 / 92 / 5
Регистрация: 04.03.2013
Сообщений: 295
03.04.2013, 11:47 #14
Попробуй прикрепить свой проект тут ну или залей куда-нибудь.

Не по теме:

TalgatMuratov, а как называется универ если не секрет?

TalgatMuratov
1 / 1 / 1
Регистрация: 01.04.2013
Сообщений: 40
03.04.2013, 13:01  [ТС] #15
универ КазНу им Аль-фараби
вот ссылка для скачивания: http://**********/files/r87o3l8ud
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.04.2013, 13:01
Привет! Вот еще темы с ответами:

Где хранятся файлы с БД SQLite в Android Studio? - Программирование Android
Такая проблема, создал БД, создал колонки с именами, но потом начал переименовывать и ошибка (код ниже). Пишет не создано колонки с именем,...

Вывод данных по ключевым словам. Android SQLite - Программирование Android
Здравствуйте! Требуется создать приложение, которое бы осуществляло поиск по базе данных и вывод результата. В достаточно большой таблице...

Копирование файла с Android на PC, или синхронизация SQLite - Программирование Android
Здравствуйте!!! У меня на телефоне есть база данных (путь до базы /data/data/имя приложения/databases/baza.db). Когда тестировал на...

Как обновить одно поле в таблице SQLite Android - Программирование Android
Привет. Встал вопрос... Как обновить только одну запись в таблице SQLite - Android. Обновлять всю запись слишком много лишнего кода...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
03.04.2013, 13:01
Ответ Создать тему
Опции темы

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