У меня возникли проблемы с созданием метода, который работает в фоновом режиме. Я использую Android studio java
и хочу создать метод, который загружает текстовый файл в array-list
. Я попытался сделать это в открытом методе в отдельном классе из класса активности. Когда я запускаю приложение, у меня возникают проблемы с указанием проблем с основным потоком, поэтому я хочу сделать asynctask
. Я смотрел по всему Интернету, но я не могу найти ничего подходящего. Пожалуйста, спросите, если что-то неясно, так как я новичок. Любая помощь приветствуется!Проблемы с созданием AsyncTask. текстовый файл в arraylist
Это из класса, который будет посылать переменную public void CreateQuestion()
, которая находится ниже первого кода:
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_game_action);
Intent callingIntent = getIntent();
int index = callingIntent.getIntExtra("INDEX",0);
if(index==0){
mQuestionBox = new QuestionBox();
try {
mQuestionBox.createQuestions("hogskoleprovet.txt");
} catch (IOException e) {
e.printStackTrace();
}
}
else if(index==1){
mQuestionBox = new QuestionBox();
try {
mQuestionBox.createQuestions("hogskoleprovet.txt");
} catch (IOException e) {
e.printStackTrace();
}
}
else if(index==2){
mQuestionBox = new QuestionBox();
try {
mQuestionBox.createQuestions("hogskoleprovet.txt");
} catch (IOException e) {
e.printStackTrace();
}
}
Я хочу, чтобы этот код как AsyncTask, но я не знаю, как это сделать ,
public void createQuestions(String hogskoleprovet) throws IOException {
InputStream iS = sContext.getAssets().open(hogskoleprovet);
BufferedReader reader = new BufferedReader(new InputStreamReader(iS));
mQuestions = new ArrayList<Question>();
String question, answer, answerOne, answerTwo, answerThree, answerFour;
while (reader.readLine() != null) {
//reading some lines from resource file
question = reader.readLine();
answer = reader.readLine();
answerOne = reader.readLine();
answerTwo = reader.readLine();
answerThree = reader.readLine();
answerFour = reader.readLine();
Question q = new Question(question, answer, answerOne, answerTwo, answerThree, answerFour);
mQuestions.add(q);
break;
}
reader.close();
}