2017-07-07 8 views
-1

私は最初のアプリケーションを構築するために人気のあるメモ帳の例から学んだ標準的なアプローチを使用しています。 しかし、私は奇妙な問題に悩まされてしまった。 SQLiteデータベースファイル(.db)が/ data/data/package/databasesに作成されていません。私はHeadFirst android devからのマニフェストファイルとOpenHelperファイルをクロスチェックしました。ブックAndroid Sqliteが動作しない

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

home.java

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; 
     } 
    } 
} 

..変更を(私はそれを参照として使用しています)が、私は、データベースファイルが作成されない理由を把握する自分ができなかった:

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

TO:

Toast.makeText(home.this, "Eklendi.", Toast.LENGTH_LONG).show(); 
関連する問題