2にSQLのデータベースからデータを読み込む処理を書いてきたいのですが、
SQLQuizOpenHelper openHelper = new SQLQuizOpenHelper(ここ);の引数に何を設定してよいのかわかりません。
今までは一つのクラスにべた書きしていたのでthisで動作していたのですが、クラスを分けるとthisではいけないということは分かりました。
参考にしたところではおまじないだと思っておいてくださいとthisが紹介されていて、それ以外の場合に対応できずに困っています。
そもそもContextの意味が理解できておらず調べてみたところ情報やアクティビティの受け渡し?のような意味だと書いてありました。
どのように考えておけばよいのでしょうか?
よろしくお願いします。
1 import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; public class SQLQuizOpenHelper extends SQLiteOpenHelper { public static final String DB_NAME = "quiz_db"; public static final int DB_VERSION =1; public static final String CREATE_TABLE = "create table " + SQLQuizContract.Quiz.TABLE_NAME + "()"; public static final String INIT_TABLE = "insert into " + SQLQuizContract.Quiz.TABLE_NAME + " ()values" + 省略 public static final String DROP_TABLE = "drop table if exists " + SQLQuizContract.Quiz.TABLE_NAME; public SQLQuizOpenHelper(Context context){ super(context,DB_NAME,null,DB_VERSION); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL(CREATE_TABLE); db.execSQL(INIT_TABLE); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL(DROP_TABLE); onCreate(db); } } コード
2 import android.database.sqlite.SQLiteDatabase; public class SQLQuizRead { int m1; int m2; public void readSQL(int quizNo){ SQLQuizOpenHelper openHelper = new SQLQuizOpenHelper(); SQLiteDatabase sqLiteDatabase = openHelper.getReadableDatabase(); String sql = "select m1,m2" + " from quiz where _id =" + quizNo; Cursor cursor = sqLiteDatabase.rawQuery(sql, null); cursor.moveToFirst(); m1 = cursor.getInt(cursor.getColumnIndex("m1")); m2 = cursor.getInt(cursor.getColumnIndex("m2")); cursor.close(); sqLiteDatabase.close(); } } コード
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/08/20 05:31 編集
2017/08/20 05:35
退会済みユーザー
2017/08/20 05:39
退会済みユーザー
2017/08/20 05:57
2017/08/20 06:02
退会済みユーザー
2017/08/20 06:17