2015-11-19 3 views
3

У меня есть небольшое приложение andoid, которое задает пользователю несколько вопросов. Вопросы задаются в следующем формате:Способы хранения в отдельном файле. Android

private void generalKnowledgeQuestions(){ 
    questions = new ArrayList<>(); 
    //the first option is the button on the left. if the boolean set to false then the second option is correct 
    questions.add(new QuestionObject("Where was the picture taken?", true, R.drawable.cuba, "cuba", "singapore", "the picture has cars in it!")); 
    questions.add(new QuestionObject("This city is in which country?", false, R.drawable.barcelona, "Hungary", "Spain", "The beaches of barcelona"));} 

И еще многие из них ...

мне было интересно, если я мог бы поставить этот метод в отдельном файле, для обновления вопросов более легко, и не попасть внутрь файла активности, где могут произойти несчастные случаи? thanks

+0

вы можете использовать текстовый файл, а затем использовать этот текстовый файл – curiousMind

+0

да, я думал что-то вроде этого, только я не знаю, как: D –

+0

вы можете создать XML-файл и сохранить все свои данные там, или любой json-файл. есть много способов сделать это. –

ответ

1

Вы можете создать класс QuestionUtils, который содержит этот метод в статическом контексте. Как это:

public abstract class QuestionUtils { 

public static ArrayList<Question> generalKnowledgeQuestions(){ 
     ArrayList<Question> questions = new ArrayList<>(); 
     //the first option is the button on the left. if the boolean set to false then the second option is correct 
     questions.add(new QuestionObject("Where was the picture taken?", true, R.drawable.cuba, "cuba", "singapore", "the picture has cars in it!")); 
     questions.add(new QuestionObject("This city is in which country?", false, R.drawable.barcelona, "Hungary", "Spain", "The beaches of barcelona")); 

     return questions; 
    } 
} 

Я бы рекомендовал держать Ваш вопрос String данные в файле XML.

В соответствии с просьбой, чтобы ссылаться на этот метод из другого класса, вы просто должны вызвать QuestionUtils.generalKnowledgeQuestions(); метод возвратит Array ваших вопросов к вам, я не знаю, что вы назвали ваш вопрос Object так изменить Question все, что вы используются.

+0

спасибо. Я благодарен за то, что вы ответили, но я не могу его использовать, потому что я получаю некоторые ошибки, и я не знаю, как их решить, а также не знаю следующих шагов, как использовать это класс в моем существующем классе ... –

+0

также XML-файл - хорошая идея, но опять же, не знаю как. Хотя я буду продолжать искать. : D –

+0

, если это помогает, вот полный проект: https://github.com/City-of-Bath-College/android-assignment-soosgyul –

Смежные вопросы