Я играю с несколькими вариантами ответов и знаю, что хочу изменить способ чтения и вывода вопросов программой. Сначала я создал класс объектов, и вопросы были в коде. Вот так:
public class Objects {
public int mImages;
public String mQuestion;
public String mAnswer;
public String mOption1;
public String mOption2;
public String mOption3;
public String mOption4;
public Objects(int mImages, String mQuestion, String mAnswer, String mOption1, String mOption2, String mOption3, String mOption4) {
this.mImages = mImages;
this.mQuestion = mQuestion;
this.mAnswer = mAnswer;
this.mOption1 = mOption1;
this.mOption2 = mOption2;
this.mOption3 = mOption3;
this.mOption4 = mOption4;
this.mAnswer = mAnswer;
}
public void setmImages(int mImages) {
this.mImages = mImages;
}
public void setmQuestion(String mQuestion) {
this.mQuestion = mQuestion;
}
public void setmAnswer(String mAnswer) {
this.mAnswer = mAnswer;
}
public void setmOption1(String mOption1) {
this.mOption1 = mOption1;
}
public void setmOption2(String mOption2) {
this.mOption2 = mOption2;
}
public void setmOption3(String mOption3) {
this.mOption3 = mOption3;
}
public void setmOption4(String mOption4) {
this.mOption4 = mOption4;
}
Тогда я назвал такие вопросы в своей MainActivity:
Objects q01 = new Objects(R.drawable.blauwahl, "Das Herz eines Blauwals ist ungefähr so groß wie...", "ein VW-Käfer", "Angela Merkels Privatjet", "ein VW-Käfer", "eine Vespa", "eine Wassermelone");
Objects q02 = new Objects(R.drawable.simbabwe, "Der südafrikanische Staat Simbabwe wurde 1980 unabhängig. Wie hieß das Land früher? ", "Rhodesien", "Botswana", "Rhodesien", "Südafrika", "Botsuana");
Objects q03 = new Objects(R.drawable.sonnenkoenig, " Der französische Sonnenkönig Ludwig XIV. herrschte lange Jahre über Frankreich. Wie viele? ", "72", "22", "52", "62", "72");
Objects q04 = new Objects(R.drawable.tempelberg, "Der Tempelberg in Jerusalem ist rund 144.000 Quadratmeter groß und beladen mit Mythen. Wer soll hier den ersten Mord der Menschheit begangen haben?", "Kain", "David", "Kain", "Herodes", "Joseph");
Objects q05 = new Objects(R.drawable.frauenkirche, "In welchem Jahr des Zweiten Weltkrieges wurde die Dresdener Frauenkirche zerstört? ", "1945", "1943", "1944", "1945", "1939");
Objects q06 = new Objects(R.drawable.kueste, "Welches dieser europäischen Länder hat die längste Küste?", "Griechenland", "Italien", "Griechenland", "Frankreich", "Türkei");
Objects q07 = new Objects(R.drawable.umriss, "Der Umriss welches inselreichen Landes ist hier zu sehen?", "Dänemark", "Dänemark", "Philippinen", "Kroatien", "Griechenland");
Objects q08 = new Objects(R.drawable.blitz, "Woran liegt es, dass man den Donner bei manchen Blitzen erst viel später hört als bei anderen?", "An der unterschiedlichen Entfernung der Blitze", "An der unterschiedlichen Entfernung der Blitze", "An der Stärke der elektrischen Entladungen", "An der Dichte des Regens", "An den heftigen Windböen");
Objects q09 = new Objects(R.drawable.biathlon, "Aus welchen beiden Disziplinen setzt sich ein Biathlon zuammen?", "Sportschießen und Skilanglauf", "Sportschießen und Skilanglauf", " Skispringen und Skilanglauf ", " Skilanglauf und Abfahrtslauf ", "Abfahrtslauf und Skispringen ");
Objects q10 = new Objects(R.drawable.licht, "In welcher physikalischen Einheit wird die Lichtstärke gemessen?", "Candela", "Joule", "Lumen", "Lux", "Candela");
Objects q11 = new Objects(R.drawable.sonne, "Welcher Planet unseres Sonnensystems ist am weitesten von der Sonne entfernt?", "Neptun", "Uranus", "Jupiter", "Neptun", "Saturn");
Objects[] objectsArray = new Objects[]{
q01, q02, q03, q04, q05, q06, q07, q08, q09, q10, q11
};
Но теперь я хочу сделать так, чтобы я мог просто записывать объекты в файл, например:
Изображение, вопрос, ответ, вариант 1, вариант 2, вариант 3, вариант 4
И тогда программа должна знать, как читать и вставлять эти значения. Но как мне это сделать?
Я начал с класса, который читает файл:
public class QuestionsReader extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
{
try {
String filelocation = File.separator + "Users" + File.separator + "krasnovska" + File.separator + "AndroidStudioProjects" + File.separator + "Quizduell3" + File.separator + "app" + File.separator + "scr" + File.separator + "main" + File.separator + "java" + File.separator + "com" + File.separator + "example" + File.separator + "quizduell3" + File.separator + "QuestionObjects";
File objectsFile = new File(filelocation);
Scanner questionsScanner = new Scanner(objectsFile);
String nextLine = questionsScanner.nextLine();
String[] objectsstring = nextLine.split(",");
String mImages = objectsstring[0];
String mQuestion = objectsstring[1];
String mAnswer = objectsstring[2];
String mOpt1 = objectsstring[3];
String mOpt2 = objectsstring[4];
String mOpt3 = objectsstring[5];
String mOpt4 = objectsstring[6];
Objects questionsObjectFile = new Objects();
int intImages = Integer.parseInt(mImages);
questionsObjectFile.setmImages(intImages);
questionsObjectFile.setmQuestion(mQuestion);
questionsObjectFile.setmAnswer(mAnswer);
questionsObjectFile.setmOption1(mOpt1);
questionsObjectFile.setmOption2(mOpt2);
questionsObjectFile.setmOption3(mOpt3);
questionsObjectFile.setmOption4(mOpt4);
Log.d("Test", mAnswer);
Log.d("Tes2t", mOpt1);
Log.d("Test3", mOpt4);
Log.d("NextLine", "Next Line" + nextLine);
} catch (FileNotFoundException ex) {
Logger.getLogger(QuestionsReader.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
}
Но теперь я не знаю, как go включить или, как я Я делаю это правильно. Как я могу передать эти значения, которые я объявил, моей функции MainActivity, чтобы в нее можно было вставить изображение, вопрос и т. Д. c.
Я действительно ценю вашу помощь!