Это фрагмент основного действия:
Код: Выделить всё
Database db = new Database(this,editText.getText().toString());
String text = db.printRow();
textView.setText(text);
Код: Выделить всё
String nickname="EmptyNick";
public Database(Context context, String name) {
super(context, "database.db", null, 1);
nickname = name;
}
public void onCreate(SQLiteDatabase db) {
if(!nickname.equals("EmptyNick")) {
db.execSQL("create table player(id integer primary key autoincrement,nick text);");
Users user = new Users();
user.setNick("Mariusz");
addPlayer(user);
}
else {
//not important
}
}
private void addPlayer(Users user) {
SQLiteDatabase db = getWritableDatabase();
ContentValues values = new ContentValues();
values.put("nick",user.getNick());
db.insertOrThrow("player",null,values);
}
public String printRow() {
String string=null;
if(!nickname.equals("EmptyNick")) {
String[] columns = {"id","nick"};
SQLiteDatabase db = getReadableDatabase();
Cursor cursor = db.query("player",columns,null,null,null,null,null);
cursor.moveToFirst();
while (cursor.moveToNext()) {
string += cursor.getString(1);
}
}
else {
//not important
}
return string;
}
нет такой таблицы: player
Вызвано: java.lang .reflect.IndictionTargetException
Вызвано: android.database.sqlite.SQLiteException: нет такой таблицы: player (код 1): , при компиляции: SELECT id, ник FROM player
Я действительно не понимаю, в чем дело. Ошибка говорит, что таблицы «игрок» нет, но это так. В начале метода onCreate в строке:
Код: Выделить всё
db.execSQL("create table player(id integer primary key autoincrement,nick text);");
Подробнее здесь: https://stackoverflow.com/questions/274 ... am-crashes
Мобильная версия