- •Глава I. Методика использования развивающих и обучающих игр для детей младшего школьного возраста 5
- •Глава II. Разработка развивающих и обучающих игр 16
- •Введение
- •Глава I. Методика использования развивающих и обучающих игр для детей младшего школьного возраста
- •Классификация развивающих игр
- •Компьютерные игры
- •Дидактические игры
- •Особенности развивающих игр
- •Разработка приложения для платформы Android
- •Глава II. Разработка развивающих и обучающих игр
- •Разработка приложения для браузерной версии. Реализация на языке JavaScript
- •Заключение
- •Литература
Глава II. Разработка развивающих и обучающих игр
Разработка приложения для платформы Android
JDK - бесплатно распространяемый компанией OracleCorporation комплект разработчика (далее SDK) на языке Java, включающий в себя компилятор Java (javac), стандартные библиотеки классов Java, примеры, документацию, различные утилиты и исполнительную систему Java (JRE). В состав JDK не входит интегрированная среда разработки на Java, поэтому разработчик, использующий только JDK, вынужден использовать внешний текстовый редактор и компилировать свои программы, используя утилиты командной строки.
Android SDK - Android SDK включает в себя инструменты, необходимые для разработки Android-приложений. Комплект средств разработки, который позволяет специалистам по программному обеспечению создавать приложения для определённого пакета программ, программного обеспечения базовых средств разработки, аппаратной платформы, компьютерной системы, игровых консолей, операционных систем и прочих платформ.
Eclipse - свободная интегрированная среда разработки модульных кроссплатформенных приложений. Развивается и поддерживается EclipseFoundation. На данный момент является наиболее удобным средством разработки для Android.
ADT плагин - по умолчанию Eclipse не особо годится для разработки Android-приложений. ADT - плагин, который настраивает среду разработки для использования Android SDK и добавляет возможность удобной разработки. Плагин довольно легко устанавливает в среду Eclipse.
SDKmanager (выбор платформы) – здесь мы выбираем необходимые нам компоненты для разработки приложений, а именно: платформа (API), утилиты (оптимизаторы для определенных устройств, набор готовых примеров и т.д.), тулсы (прямая отладка на ANDROID-устройстве, интеграция дополнительных возможностей и т.д.).
С выбором я остановился на SDK платформы версии 2.3.3. Именно данная платформа предлагает весь необходимый набор методов необходимый для более удобной разработки приложений. Так же, ANDROID-устройств с версией ниже 2.3 мы уже не найдем. Соответственно, приложения созданные с помощью данного SDK можно будет использовать на любом мобильном устройстве с ОС Android.
AVD (android virtual device)–это эмулятор Android-смартфона, на который Eclipse сможет устанавливать, созданные нами приложения, и запускать их там.
Таким образом, в совокупности, мы получаем среду разработки с необходимым набором плагинов и виртуальной машины для отладки и проверки скомпилированных приложений. Далее можно приступать непосредственно к разработке приложений.
2. Проектирование и реализация программы для тестирования учеников начальной школы
Рис. 1. Оболочка Eclipse
После подготовки Eclipse мы можем приступить непосредственно к разработке нашего приложения. Но для начала рассмотрим саму оболочку и принцип работы нашего приложения на рисунке №1.
1. Пакетный обозреватель. Включает в себя всю иерархию файлов используемых в проекте (классы, стили, картинки и т.д.).
2. Информационная панель. Включает в ведение логов, консоль выполнения различных заданий, ошибки и предупреждения.
3. Палитра компонентов – содержит типовой набор компонентов необходимый для разработки приложения.
4. Рабочая область – в данной области отображаются необходимые для редактирования файлы проекта (разметка области, редактирование класса и т.д.).
5. Свойства выбранного компонента. Отображает все свойства выбранного в данный момент времени компонента. Так же содержит применяемые события.
6. Структура редактируемого файла. К примеру, если это активити - отображение слоя и всех компонентов входящих в него, или если это класс – иерархия всех методов и переменных, используемых в данном классе.
Теперь более подробно рассмотрим саму программу для тестирования.
Приложение состоит из трех активити (рабочих экранов). Активити включает в себя: файл разметки (в формате xml) и непосредственно класс, который будет его обрабатывать. Разметка осуществляется привычными html тегами, с небольшими поправками на среду разработки. К примеру, форма в рабочей области, которая на рисунке №2, имеет вид:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/tech"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="51dp"
android:onClick="myClick"
android:text="Тестирование: "таблица умножения"" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:onClick="ExitAct"
android:text="Выйти" />
</RelativeLayout>
Рис. 2. Главное меню
На рисунке №2 отмечены:
1. файл разметки
2. класс
3. кнопка из палитры, которая добавляется простым перетаскиванием, или описанием в файле разметки.
Компоненты на данной форме: button.
Механика работы: главное меню служит начальным экраном приложения. Здесь размещены две кнопки. Начать тестирование и выход. С кнопкой выход всё понятно. Кнопка тестирования вызывает новый активити:
public void myClick (View v) {
Intent intent = new Intent(this, Pifagor.class);
startActivity(intent);
}
Здесь мы заранее прописали событие кнопки OnClick в её свойствах
Рис. 3. Форма тестирования
<Button
android:onClick="myClick"
…. />
Форма тестирования:
Здесь используются такие компоненты как: TetxtView, button, edittext.
Механика работы:
Генерируется сам вопрос (посчитай, вычисли и т.п.), на основании массива (String[] question = { "Сколько будет ", "Вычисли ", "Посчитай " };). Сюда же в строку добавляются и два случайных числа (first, second). Далее переменной questionView (которая определена как questionView = (TextView) findViewById(R.id.TextView02)); присваивается с помощью метода setText сформированная строка.
first = (int) Math.floor(Math.random() * 10 + 1);
second = (int) Math.floor(Math.random() * 10 + 1);
questionView.setText(""
+ question[(int) Math.floor(Math.random() * quetion.length)]
+ first + "x" + second + "?");
}
Таким образом, вопрос для ученика формирован.
Далее ученик вводит ответ, который он считает верным, в текстовое поле (answer = (EditText) findViewById(R.id.editText1);). Причем ответ не может быть пустым, или состоять из букв (обрабатывается программно) и подтверждает ответ нажатием кнопки.
Если ответ верный, мы выведем случайное сообщение из массива о правильности ввода данных, и увеличим счетчик правильных ответов на +1. В противном случае, появится информационное окно, в котором будет написано, сколько осталось попыток у ученика, и счетчик неверных ответов увеличиться на +1 (Toast.makeText(this,""+ answers[(int) Math.floor(Math.random()* answers.length)], Toast.LENGTH_SHORT).show();) После двух попыток, формируется новый вопрос. Функционал будет повторяться, пока не достигнет в совокупности 10 вопросов (не важно, верно ли ответил ученик или нет). Обработка осуществляется с помощью метода proverka.
public void proverka() {
if (questcount == 10) {
Toast.makeText(this,
"Твое тестирование завершено\nВнимание на результаты",
Toast.LENGTH_SHORT).show();
Intent intent = new Intent(this, ResultPifa.class);
intent.putExtra("msg1", correct);
intent.putExtra("msg2", uncorrect);
startActivity(intent);
}
}
После метода проверки, мы попадаем на финальный экран результатов (рисунок №4).
Рис. 4. Результаты
Используемые компоненты: textView.
В данную форму мы передаем результаты с предыдущей формы, а именно: количество правильных и не правильных ответов.
correct = getIntent().getExtras().getInt("msg1");
uncorrect = getIntent().getExtras().getInt("msg2");
Осуществляется вывод о проведенном тесте:
Оценка (самая низкая оценка - 2)
Качество выполнения, вычисляется по формуле:
procent = correct-uncorrect;
procentView.setText(Integer.toString(procent) + "0%");
Комментарий к тестированию – является конструкцией типа case. В зависимости от полученной оценки, формируется комментарий.
if (ocenka < 2) {
ocenkaView.setText("2!");
} else {
ocenkaView.setText(Integer.toString(ocenka));
}
procentView.setText(Integer.toString(procent) + "0%");
switch (ocenka) {
case 2:
comment = "НЕУД,
хуже результата и быть не может. Тебе нужно срочно учить таблицу умножения. Таких плохих результатов быть не должно!";
break;
case 3:
comment = "Далеко до идеала, необходимо больше практиковаться с вычислениями. Почаще проходи тестирование и у тебя всё получится!";
break;
case 4:
comment = "Довольно хороший результат! Ты почти идеально знаешь таблицу умножения, но всё же иногда допускаешь ошибки, немного усилий и у тебя всё получиться!";
break;
case 5:
comment = "Ты показал отличный результат! Но не стоит себя переоценивать, обязательно побольше практитуйся с вычислениями!";
break;
}
commentView.setText(comment);
}
При нажатии кнопки «назад», всплывает подтверждающее окно, это помогает исключить случайное закрытие программы во время выполнения теста. Программа была протестирована, ошибок не выявлено.
