0
私は非常に基本的なアンドロイドデータベースアプリケーションを作成していますが、SQLiteOpenHelperで作成したデータベースを超過しようとすると、SQLiteExceptionをキャッチして "データベースが見つかりません"というトーストが作成されます。以下は私の仕事SQLiteヘルパーを使用してアンドロイドでデータベースを作成する
活動データベースヘルパーコード
package com.hfad.starbuzz;
import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
/**
* Created by user on 11/7/2016.
*/
public class StarbuzzDatabaseHelper extends SQLiteOpenHelper {
private static final int DB_VERSION = 1;
private static final String DB_NAME = "Starbuzz";
public StarbuzzDatabaseHelper(Context context){
super(context,DB_NAME,null,DB_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
updateDatabase(db,0,DB_VERSION);
}
private void insert(String name , String description , int id , SQLiteDatabase db){
ContentValues drinkValues = new ContentValues();
drinkValues.put("NAME",name);
drinkValues.put("DESCRIPTION",description);
drinkValues.put("IMAGE_RESOURCE_ID",id);
db.insert("DRINK", null , drinkValues);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
updateDatabase(db,oldVersion,newVersion);
}
private void updateDatabase(SQLiteDatabase db , int oldVersion , int newVersion){
db.execSQL("create table DRINK(" +
"_id primary key INTEGER AUTOINCREMENT,"
+ "NAME TEXT,"
+"DESCRIPTION TEXT,"
+"IMAGE_RESOURCE_ID INTEGER);");
insert("latte","Espresso and steamed milk",R.drawable.latte,db);
insert("cappuccino","Espresso and steamed milk and lollypop for u to suck, SUCKER",R.drawable.cappuccino,db);
insert("filter","to filter your ass off because it is fucking dirty",R.drawable.filter,db);
}
}
を試してみてください代わりにちょうどトーストを示すデータベース
をすぎる文字で、例外をログ考えます何が間違っているかを具体的に学ぶためにキャッチした。 – laalto
sugarORm、DBflowのようなormデータベースを使用してください。 sqliteヘルパーによって生成される多くの頭痛を軽減します。 http://codex2android.blogspot.in/2016/03/sugar-orm-with-sqlite-android-part-i.html – HourGlass
表名を確認してください。 「ドリンク」か「ドリンク」ですか? – Stanojkovic