2017-07-07 96 views
-1

我使用的标准方法是从流行的记事本示例中学到的,用于构建我的第一个应用程序。 但我陷入了一个奇怪的问题。 SQLite数据库文件(.db)未在/ data/data/package/databases中创建。我从HeadFirst android dev交叉检查清单文件和OpenHelper文件。图书(我用它作为参考),但我发现自己无法弄清楚,为什么不创建数据库文件..Android Sqlite不起作用

public class database extends SQLiteOpenHelper { 
    public static final String DATABASE_NAME = "example2.db"; 
    public static final String TABLE_NAME = "userTable2"; 


    public database(Context context) { 
     super(context, DATABASE_NAME, null, 1); 
    } 
    @Override 
    public void onCreate(SQLiteDatabase db){ 
     db.execSQL("CREATE TABLE " + TABLE_NAME + "(ID integer primary key, NAME text);"); 
    } 

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

    public boolean insertDatabase(String name){ 
     SQLiteDatabase db = this.getWritableDatabase(); 
     ContentValues cv = new ContentValues(); 
     cv.put("NAME", name.toString()); 
     long result = db.insert(TABLE_NAME, null, cv); 
     if(result > -1) 
     { 
      return true; 
     } 
     else 
     { 
      return false; 
     } 
    } 
} 

home.java

database myDb; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_home); 
    myDb = new database(this); 

    boolean result = myDb.insertDatabase("deneme"); 
    if(result==true){ 
     Toast.makeText(home.this, "Eklendi.", Toast.LENGTH_LONG); 
    } 
    else 
    { 
     Toast.makeText(home.this, "Eklenemedi.", Toast.LENGTH_LONG); 
    } 

回答

2

更改

Toast.makeText(home.this, "Eklendi.", Toast.LENGTH_LONG); 

TO

Toast.makeText(home.this, "Eklendi.", Toast.LENGTH_LONG).show();