Android - вставка SQL вручную - PullRequest
0 голосов
/ 05 ноября 2018

В настоящее время я работаю над приложением для викторины Android с вопросами, связанными с базой данных, однако мне удалось создать созданную базу данных, но каким-то образом значения, такие как список вопросов, не будут вставлены вручную. Поскольку я открыл базу данных, она организовала нужные мне столбцы, но значения не будут отображаться, например, «пример вопроса». Я пропустил какую-то строку кода?

Большое спасибо

public class DatabaseHelper extends SQLiteOpenHelper
{

   public static final String DATABASE_NAME = "Questions.db";
   public static final String TABLE_NAME = "Questions";
   public static final String QUESTION_NUMBER = "Question_Number";
   public static final String QUESTION = "Question";
   public static final String ANSWER_ONE = "Answer_ONE";
   public static final String ANSWER_TWO = "Answer_THREE";
   public static final String ANSWER_THREE = "Answer_FOUR";

   private SQLiteDatabase db;



   public DatabaseHelper(Context context)
   {
      super(context,DATABASE_NAME, null, 1);
      SQLiteDatabase db = this.getWritableDatabase();
   }

   @Override
   public void onCreate(SQLiteDatabase db)
   {
      this.db = db;
      final String SQL_CREATE_QUESTIONS_TABLE = "CREATE TABLE " +
            TABLE_NAME + " ( " +
            QUESTION_NUMBER + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
            QUESTION + " TEXT, " +
            ANSWER_ONE + " TEXT, " +
            ANSWER_TWO + " TEXT, " +
            ANSWER_THREE + " TEXT " +
            ")";

      db.execSQL(SQL_CREATE_QUESTIONS_TABLE);
      fillQuestionTable();


   }

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

   private void fillQuestionTable()
   {
      Question q1 = new Question(1,"Example Question?","Yes","Sometimes","No");
      addQuestion(q1);
   }

   private void addQuestion (Question question)
   {
      SQLiteDatabase db = this.getWritableDatabase();
      ContentValues cv = new ContentValues();
      cv.put(QUESTION_NUMBER, question.getQuestionNum());
      cv.put(QUESTION, question.getQuestion());
      cv.put(ANSWER_ONE, question.getOption1());
      cv.put(ANSWER_TWO, question.getOption2());
      cv.put(ANSWER_THREE, question.getOption3());
      db.insert(TABLE_NAME,null,cv);
   }

}

Это класс деятельности

public class MainActivity extends Activity implements View.OnClickListener
{
   Button screenOneButton;
   Button screenTwoButton;
   Button screenThreeButton;
   Button quitButton;
   DatabaseHelper mydb;


   @Override
   protected void onCreate(Bundle savedInstanceState)
   {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);

      DatabaseHelper mydb = new DatabaseHelper(this);
}

Это запрограммировано в программном обеспечении Intellij и может открыть базу данных в программном обеспечении БД SQL FYI!

Большое спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...