Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
shiraishi
0 / 0 / 0
Регистрация: 07.02.2015
Сообщений: 2
#1

Приложение с тестами - Программирование Android

07.02.2015, 23:13. Просмотров 439. Ответов 2
Метки нет (Все метки)

Здравствуйте, товарищи. Сразу скажу, что я совсем нуб и изучаю программирование под андроид едва ли неделю. Дело в том, что я, переоценив свои возможности и качество учебного материала, решил чисто практики ради создать приложение с тестиком (что-то вроде "узнай, кто ты из винкс", лол), и столкнулся с банальным непониманием работы сей задумки. Допустим, в MainActivity у меня есть TextView с описанием теста, в который позднее должен отобразиться результат прохождения теста, и есть кнопка "начать тест", которая вызывает активность с первым вопросом, например "Почему ты не можешь разобраться с проблемой сам?" и двумя RadioButton с вариантами ответа: "Потому что я тупой" и "В гугле забанили". После клика на подходящий вариант, нужно нажать на кнопку "следующий вопрос", которая перекидывает на аналогичную этой третью активность, с вопросом и двумя вариантами ответа, но на ней уже вместо кнопки "следующий вопрос" находится кнопка "узнать результат", которая возвращает вас в MainActivity, где в TextView уже должен находиться результат теста.

Теперь немного о том, как я пытался это реализовать. В MainActivity я заприватил переменную:
Java
1
static final private int CHOOSE_ANSWER = 0;
И прописал кнопку, начинающую тест:
Java
1
2
3
4
    public void onStartTest(View view) {
        Intent begintest = new Intent(Test01Activity.this, Test0101Activity.class);
        startActivityForResult(begintest, CHOOSE_ANSWER);
    }
Но дальше моя крыша совсем протекла от количества свалившейся на нее информации, и на активности с первым вопросом я начал делать что-то совсем странное, что, разумеется, не привело к тому результату, на который я рассчитывал. Для начала я заприватил две переменные: одну для ответа "Потому что я тупой", и вторую для ответа "В гугле забанили", после чего прописал код для RadioButton и кнопки, ведущей на активность со вторым (последним) вопросом. Что-то мне подсказывает, что я сделал это неправильно, потому что еще на момент чтения урока не до конца осознал происходящее.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
    public final static String NOBRAIN1 = "package aswell.NOBRAIN1";
    public final static String NOBRAIN2 = "package aswell.NOBRAIN2";
 
    public void onRadioButton(View view) {
        Intent answer01intent = new Intent();
 
        switch (view.getId()) {
            case R.id.rb010101:
                answer01intent.putExtra(NOBRAIN1, "");
                break;
            case R.id.rb010102:
                answer01intent.putExtra(NOBRAIN2, "");
                break;
            default:
                break;
        }
        setResult(RESULT_OK, answer01intent);
    }
 
    public void onNextPage(View view) {
        Intent nextpage = new Intent(Test0101Activity.this, Test0102Activity.class);
        startActivity(nextpage);
    }
На странице со вторым вопросом в коде все тоже самое, кроме переменных, разумеется, и кнопка возвращает в MainActivity, где, по идее, должен быть результат теста (хотя и дураку очевидно, что с таким-то кодом ничего не будет). Ну и, собственно, в самом MainActivity прописан такой же кривой, как и мои руки, код для получения результата.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
 
        if (requestCode == CHOOSE_ANSWER) {
            if (resultCode == RESULT_OK) {
                String result1 = data.getStringExtra(Test0101Activity.NOBRAIN1) + data.getStringExtra(Test0102Activity.YATUPOY1);
                mResultText.setText(R.string.result_test01_01);
            }else {
                mResultText.setText("");
            }
            if (requestCode == RESULT_OK) {
                String result2 = data.getStringExtra(Test0101Activity.NOBRAIN1) + data.getStringExtra(Test0102Activity.YATUPOY2);
                mResultText.setText(R.string.result_test01_02);
            }else {
                mResultText.setText("");
 
            }
            if (resultCode == RESULT_OK) {
                String result3 = data.getStringExtra(Test0101Activity.NOBRAIN2) + data.getStringExtra(Test0102Activity.YATUPOY1);
                mResultText.setText(R.string.result_test01_03);
            }else {
                mResultText.setText("");
            }
            if (resultCode == RESULT_OK) {
                String result3 = data.getStringExtra(Test0101Activity.NOBRAIN2) + data.getStringExtra(Test0102Activity.YATUPOY2);
                mResultText.setText(R.string.result_test01_04);
            }else {
                mResultText.setText("");
            }
        }
    }
В строках типа result_test прописаны заготовки с результатами теста.
Вот, в общем-то, и вся проблема. Приложение запускается, кнопки и все остальное работают, но результатов, как уже можно было догадаться, нет. Подскажите, люди добрые, что я делаю не так, и где можно почитать что-либо на эту тему, ибо я так толком ничего и не нагуглил. Желательно на русском, ибо английский знаю только сугубо разговорный, а в серьезные темы с таким уровнем лезть нет смысла. Спасибо за внимание. Всем добра!
P.S. Пишу в Android Studio.

Добавлено через 7 минут
И еще, может ли мне как-то помочь в этом вопросе SharedPreferences?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.02.2015, 23:13     Приложение с тестами
Посмотрите здесь:

Работа с тестами - JavaScript
Всем доброго времени суток уважаемые посетители. Задача стоит такая: создать тест, который состоит из 10-ти вопросов, где пропущены...

Учебная программа с меню и тестами - C#
Срочно помогите!!! Нужна программа по теме: "Организация памяти компьютера". В программе надо главною меню, должен быть текст з картинками...

Что посоветуете по теме покрытия кода тестами? - C#
8Observer8, что посоветуете по теме покрытия кода тестами?

Создание экзаменатора. Не отображается xml файл с тестами - C#
Нужна помощь, я создаю прогу экзаменатор, сама прога состоит из двух форм, первая форма предназначена для вода данных о пользователе, после...

Как создать электронную книгу со встроенными тестами - Lisp
Мне необходимо создать электронную книгу, со встроенными тестами. Разделить ее по главам например прочитал первую главу прошел тест, если...

Запуск проекта с NUnit-тестами, используя MSBuild - CMD/BAT
Всем доброго времени суток! Не могу запустить мой проект с тестами из-под консоли. Использую NUnit тесты и Selenium WebDriver. Запускал в...

Нужно прислать обратно архив с уже сделанными юнит тестами - C#
Доброго времени суток, господа! Помогите, пожалуйста, написать пару юнит тестов для моего проекта. Т к там тыркать много, было бы...

Экзамен 70-536 - Где можно достать диск с исходниками и тестами - C#
Здравствуйте! Я готовлюсь к сдаче экзамена Microsoft 70-536. Кто знает, пожалуйста скажите где можно достать диск с исходниками и...

Microsoft windows приложение не отвечает . Возможно, что приложение ответит , если подождать - Windows 7
Началось 2 дня назад до этого того небыло делал memtest86 и проверял жеский диск на наличие bad секторов все нормально Добавлено через...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Gabberr
102 / 102 / 17
Регистрация: 13.10.2009
Сообщений: 403
08.02.2015, 00:06     Приложение с тестами #2
Дам наводку: для вашей задачи хватит одной активити, и пары фрагментов.После ответа на текущий вопрос, можно просто переиспользовать элементы на экране, в TextView с вопросом вставить новый вопрос итд.
Результаты ответов можно сохранять в массиве, SharedPreferences используется для долгосрочного хранения инфы, например если юзер отвечал на вопросы, закрыл приложение, открыл заново и начал с того места, где закончил.
Общая картина примерно такая: в активити стартовый фрагмент с вопросами, результаты ответов сохраняются в массив определённый в активити, при ответе на последний вопрос, стартовый фрагмент заменяется итоговым, которому из активити передаются результаты...
shiraishi
0 / 0 / 0
Регистрация: 07.02.2015
Сообщений: 2
08.02.2015, 01:19  [ТС]     Приложение с тестами #3
Большое спасибо за наводку, попробую разобраться. Добра Вам.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru