2015-10-07 2 views
-4

У меня проблема: я написал приложение, но SQLiteDatabase не работает.К сожалению, это приложение перестало работать (SQLiteDatabase)

Мой код класса базы данных:

package com.example.frauprinzssapp; 

import android.content.ContentValues; 
import android.content.Context; 
import android.database.DatabaseErrorHandler; 
import android.database.sqlite.SQLiteDatabase; 
import android.database.sqlite.SQLiteDatabase.CursorFactory; 
import android.database.sqlite.SQLiteOpenHelper; 

public class database extends SQLiteOpenHelper{ 

public static final String DB_NAME = "users.db"; 
public static final String DB_TABLENAME = "users_table"; 
public static final String COL_1 = "id"; 
public static final String COL_2 = "name"; 
public static final String COl_3 = "class"; 
public static final String COL_4 = "right"; 

public database(Context context) { 
    super(context, DB_NAME, null, 1); 

} 

@Override 
public void onCreate(SQLiteDatabase db) { 
    db.execSQL("create table "+DB_TABLENAME+"(id INTEGER PRIMARY KEY  AUTOINCREMENT, name TEXT, class TEXT, right INTEGER)"); 
} 

@Override 
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
    db.execSQL("DROP TABLE IF EXIST "+DB_TABLENAME); 
    onCreate(db); 
} 

public boolean insertdata(String name, String clas){ 
    SQLiteDatabase db = this.getWritableDatabase(); 
    ContentValues cv = new ContentValues(); 
    cv.put(COL_2, name); 
    cv.put(COl_3, clas); 
    cv.put(COL_4, 0); 
    long result = db.insert(DB_TABLENAME, null, cv); 
    if (result == -1){ 
     return false; 
    }else{ 
     return true; 
    } 
} 
} 

Основной код:

package com.example.frauprinzssapp; 

import java.io.FileOutputStream; 
import java.io.IOException; 
import java.util.ArrayList; 
import java.util.List; 

import android.app.Activity; 
import android.content.Context; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.EditText; 
import android.widget.Toast; 

public class Main extends Activity { 

List<String> addusers = new ArrayList<String>(); 
database myDb; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    myDb = new database(this); 
} 
//-----change view voids----- 
public void main(View view){ 
    setContentView(R.layout.main); 
} 
public void adduser(View view){ 
    setContentView(R.layout.adduser); 
} 
public void removeuser(View view){ 
    setContentView(R.layout.removeuser); 
} 

//------actions------ 
public void add(){ 
    EditText name = (EditText) findViewById(R.id.aun); 
    EditText clas = (EditText) findViewById(R.id.auc); 
    if (name.toString() == null || clas.toString() == null){ 
     Toast.makeText(Main.this, "please fill in all textfields!",  Toast.LENGTH_LONG); 
     return; 
    } 
try{ 
    myDb.insertdata(name.toString(), clas.toString()); 
    Toast.makeText(Main.this, "added user "+name.toString()+"!", Toast.LENGTH_LONG); 
}catch(Exception e){ 
    Toast.makeText(Main.this, "[ERROR] Could not create user maybe its already created!", Toast.LENGTH_LONG); 
} 
} 
public void remove(){ 

} 
public void show(){ 

} 
} 

Я использовал

android:onClick="add" 

сделать так, чтобы добавить() аннулируются работает пожалуйста теперь он просто помещает случайные вещи в sqlite helpee

+0

я думаю, что 'общественной недействительной надстройки()' должен быть изменен на 'общественного ничтожного оных (View вида)' – Wilik

+0

, который работал, но теперь у меня есть проблема, что он просто ставлю в некоторых случайных вещах – Rof

ответ

-2

попробовать ....

//------actions------ 
public void add(){ 
    EditText name = (EditText) findViewById(R.id.aun); 
    EditText clas = (EditText) findViewById(R.id.auc); 
    String name1 = name.getText().toString(); 
    String clas1 = clas.getText().toString(); 
    if (name1.equals("") || clas1.equals("")){ 
    Toast.makeText(Main.this, "please fill in all textfields!", Toast.LENGTH_LONG); 
    return; 
    } 
    try{ 
    myDb.insertdata(name1, clas1); 
    Toast.makeText(Main.this, "added user "+name1+"!", Toast.LENGTH_LONG); 
    }catch(Exception e){ 
    Toast.makeText(Main.this, "[ERROR] Could not create user maybe its already created!", Toast.LENGTH_LONG); 
    } 
} 
+0

nope does not work – Rof

+0

опубликуйте свой logcat erorr. –

+0

Я не могу его долгое время – Rof

Смежные вопросы