Разработка обучающего программного обеспечения с интерфейсом для Android
Разработка мобильного приложения на платформу Android для изучения языков программирования. Использование различныех вспомогательных средств для эмуляции платформ Android. Разработка интерфейса приложения; необходимые модули и структура их взаимодействия.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 07.08.2018 |
Размер файла | 3,0 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
var button = root.FindViewById<Button>(Resource.Id.auth_btn);
button.Click += StartNewActivity;
ViewCompat.SetElevation(root, 50);
return root;
}
void StartNewActivity(object sender, EventArgs e)
{
Intent intent = new Intent(this.Activity, typeof(NewsActivity));
StartActivity(intent);
}
public static LoginActivity NewInstance(int position)
{
var f = new LoginActivity();
var b = new Bundle();
b.PutInt("position", position);
f.Arguments = b;
return f;
}
}
}
В итоге мы получаем на экране все необходимые элементы. Результат можно увидеть на рис. 3.5.
Рис. 3.5 -- Вид экрана авторизации
Но этого не вполне достаточно. Согласно схеме взаимодействия Activity, пользователь может выбрать между регистрацией и авторизацией, а с помощью представленного выше кода мы создали только экран авторизации. Решить этот вопрос можно добавлением панели вкладок в верхней части экрана, для этого создадим файл Tabs.cs и напишем в нем следующий код:
using Android.App;
using Android.OS;
using Java.Lang;
using Android.Support.V4.App;
using com.refractored;
using Android.Support.V4.View;
using Android.Support.V7.App;
namespace Tabs
{
[Activity(Label = "Tabs", MainLauncher = true, Icon = "@drawable/icon", Theme = "@style/Theme.AppCompat.Light.NoActionBar")]
public class MainActivity : AppCompatActivity
{
MyAdapter adapter;
ViewPager pager;
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.Main);
adapter = new MyAdapter(SupportFragmentManager);
pager = FindViewById<ViewPager>(Resource.Id.pager);
PagerSlidingTabStrip tabs = (PagerSlidingTabStrip)FindViewById(Resource.Id.tabs);
pager.Adapter = adapter;
tabs.SetViewPager(pager);
tabs.SetBackgroundColor(Android.Graphics.Color.Rgb(125, 185, 187));
}
public class MyAdapter : FragmentPagerAdapter
{
int tabCount = 2;
public MyAdapter(Android.Support.V4.App.FragmentManager fm) : base(fm)
{ }
public override int Count
{
get
{
return tabCount;
}
}
private string[] titles = {"Вход", "Регистрация"};
public override ICharSequence GetPageTitleFormatted(int position)
{
ICharSequence cs;
cs = new Java.Lang.String(titles[position]);
return cs;
}
public override Android.Support.V4.App.Fragment GetItem(int position)
{
if (position == 0)
return LoginActivity.NewInstance(position);
else
return RegistrationActivity.NewInstance(position);}}}}
Далее следует создать файл конфигурации представлений и соответствующий ему activity для экрана регистрации. Это делается аналогично тому, как и создавался экран авторизации.
В результате мы получаем экран с панелью вкладок (tabs), используя который мы можем при необходимости переходить от авторизации к регистрации и наоборот. Вид вкладок регистрации и авторизации показан на рис.3.6.
Рис.3.6 -- Вид экрана регистрации и авторизации
В файлах activity так же пишется обработка событий, например нажатие на кнопку, изменение текста и т.д.
Разработка всех остальных activity ведется схожим образом, поэтому останавливаться на этом не имеет смысла.
3.4 Взаимодействие с сервером
Одним из ключевых моментов работы многих мобильных приложений является возможность взаимодействия с сервером - отправка или получение данных [9]. И в Xamarin тоже возможно взаимодействовать с сервером. Рассмотрим на примере получения данных в формате json.
Для получения данных с сервера необходимо отправить к нему запрос и в качестве объекта будет получен json объект данные из которого можно использовать в приложении.
Чтобы десериализовать данные в формате json. Для этого используется библиотека Newtonsoft.Json, котора добавляется в проект через NuGet. На рис.3.7 показана нужная библиотека.
Рис.3.7 -- Библиотека Newtonsoft.Json в NuGet Manager
Далее рассмотрим получение данных на примере профиля пользователя от сервера. Обработка данных будет вестись через класс GetServData, в котором содержится следующий код:
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.ComponentModel;
using System.Net.Http;
using System.Windows.Input;
using Xamarin.Forms;
namespace Tabs
{
public class GetServData : INotifyPropertyChanged
{
private string surname;
private string name;
public string Surname
{
get { return surname; }
private set
{
surname = value;
OnPropertyChanged("Surname");
}
}
public decimal Name
{
get { return name; }
private set
{
name = value;
OnPropertyChanged("Name");
}
}
public ICommand LoadDataCommand { protected set; get; }
public RateViewModel()
{this.LoadDataCommand = new Command(LoadData);}
private async void LoadData()
{
string url = // Адрес сервера…
try
{
HttpClient client = new HttpClient();
client.BaseAddress = new Uri(url);
var response = await client.GetAsync(client.BaseAddress);
response.EnsureSuccessStatusCode(); // выброс исключения, если произошла ошибка
// десериализация ответа в формате json
var content = await response.Content.ReadAsStringAsync();
JObject o = JObject.Parse(content);
var str = o.SelectToken(@"$.query.results.profile");
var profileInfo = JsonConvert.DeserializeObject<ProfileInfo>(str.ToString());
this.Surname = profileInfo.Surname;
this.Name = profileInfo.Name;}
catch(Exception ex)
{ }
}
public event PropertyChangedEventHandler PropertyChanged;
public void OnPropertyChanged(string prop = "")
{if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(prop));
}
}
}
Далее полученные данные сохраняются в локальную базу данных созданную ранее. После чего полученные данные можно использовать без подключения к серверу.
3.5 Функциональная схема программы
При разработке приложения была составлена блок-схема работы программы, в которой отражены функции и логика работы приложения [10]. Блок-схема изображена на трех рисунках (рис. 3.8, рис. 3.9 и рис.3.10).
Рис.3.8 - Блок-схема работы программы
Рис.3.9 - Продолжение блок-схемы работы программы
Рис.3.10 - Блок-схема работы модуля тестирования
Из схемы следует, что после запуска приложения пользователь должен ввести логин и пароль для начала работы или зарегистрироваться. Если регистрация либо авторизация прошла успешно, то пользователь попадает на экран новостей, где может увидеть последние нововведения в проекте. Далее через меню пользователь может либо перейти, либо к странице профиля, либо к списку доступных для изучения курсов, либо выйти из приложения.
При выборе пункта курсы пользователю предоставляется список всех доступных курсов. При выборе одного из них, откроется краткое описание данного материала, и можно сделать выбор либо изучить теорию, либо преступить напрямую к тесту.
При выборе изучения теории пользователю будет предоставлен необходимый теоретический материал. После изучения теории пользователь проходит тест.
Тест состоит из определенного числа вопросов, на которые необходимо ответить пользователю. На экран выводится содержание вопроса и варианты ответов, из которых пользователь выбирает верные (один или несколько). После этого ответы проверяются, и, в случае если пользователь дал верный ответ, к набранному количеству баллов прибавляется 1 балл, после чего происходит переход к следующему вопросу. В случае если пользователь дает не правильный ответ, то переход к следующему вопросу осуществляется без прибавления баллов. Весь цикл продолжается пока не будет дан ответ на последний вопрос в тесте.
После это происходит подсчет результатов. Результаты теста записываются в профиль пользователя. Просмотреть результаты можно в любой момент, используя в меню соответствующий пункт.
После прохождения теста пользователь может продолжить работу с приложением либо выйти с помощью соответствующего пункта меню.
Заключение
В ходе выполнения бакалаврской работы было разработано приложение для обучения языкам программирования для операционной системы Android. Перед разработчиком была поставлена задача создать надежное программное обеспечение, отвечающее всем требованиям.
Разработанная программа полностью отвечает заданию бакалаврской работы. В приложении реализован функционал:
1. Регистрация новых пользователей;
2. Авторизация раннее зарегистрированных пользователей;
3. Сохранения прогресса сохранения обучения;
4. Просмотр теоретического материала по выбранному языку программирования;
5. Возможность редактирования персональных данных пользователя такие как ФИО, пароль и т.д.;
6. Возможность прохождения пользователем тестов по изученному теоретическому материалу;
7. Сохранения результатов прохождения тестов в профиле пользователя;
8. Предоставление пользователю информации об изменениях содержания курсов либо других новшествах в проекте;
В ходе разработки проекта были изучены методы разработки приложений для операционной системы Android. Так же была изучена документация по используемому фреймворку Xamarin. Это позволило разработать требуемый функционал приложения
Разработана инфологическая модель базы данных, которая в полной мере реализована в СУБД SQLite. На схеме взаимодействия activity показано, как связаны все модули приложения.
Данное приложение решило проблему, обусловившую ее актуальность, а создание приложения помогающего изучать языки программирования.
В дальнейшем приложение можно модифицировать, добавив функцию обсуждения курсов, перевести приложение на английский язык, что позволит расширить целевую аудиторию, разработать версию для IOS. Размещено на Allbest.ru
...Подобные документы
Архитектура и история создания операционной системы Android. Язык программирования Java. Выбор средства для реализации Android приложения. Программная реализация Android приложения. Проведение тестирования разработанного программного обеспечения.
курсовая работа [167,8 K], добавлен 18.01.2017Создание, изучение и разработка приложение на Android. Среда разработки приложения DelphiXE5. Установка и настройка среды программирования. Этапы разработки приложения. Инструменты для упрощения конструирования графического интерфейса пользователя.
курсовая работа [1,6 M], добавлен 19.04.2017Разработка программного обеспечения для платформы Android версии 2.3: информационное приложения для поклонников футбольной команды, с возможностью просмотра событий, статистики и иной информации о команде и ее успехах. Листинг JsonDataManager.java.
дипломная работа [4,1 M], добавлен 24.04.2013Средства разработки развивающих и обучающих игр и используемой программы. Среда выполнения и Dalvik. Разработка приложения для платформы Android. Графический интерфейс и обработка касаний экрана. Разработка экранов приложения и их взаимодействия.
дипломная работа [2,1 M], добавлен 18.01.2016Общая схема работы приложения Android. Разработка обучающего приложения для операционной системы Android, назначение которого - развитие речи посредством произнесения скороговорок. Описание компонентов разработанного приложения, его тестирование.
дипломная работа [1,2 M], добавлен 04.02.2016Общие характеристики операционной системы Android. Разработка приложения на основе создания менеджера файлов. Получение с помощью приложения доступа к файлам, хранящимся в "облачном хранилище" в сети Интернет. Расчет стоимости программного обеспечения.
дипломная работа [2,7 M], добавлен 03.04.2015Структура Android-приложений. Особенности игрового движка. Алгоритмизация и программирование. Список игровых состояний. Настройка, отладка и тестирование программы. Разработка руководства пользователя. Тестирование инсталляции и отображения элементов.
дипломная работа [4,5 M], добавлен 19.01.2017Структура и архитектура платформы Android. Основные достоинства и недостатки операционной системы Android. Среда разработки Eclipse, платформа Java. Подготовка среды разработки. Вкладка "Погода", "Курс валют", "Новости". Просмотр полной новости.
дипломная работа [1,0 M], добавлен 11.07.2014Обзор мобильной ОС Android. Выбор инструментов и технологий. Проектирование прототипа графического интерфейса. Характеристика и описание пользовательского интерфейса. Проектирование и разработка базы данных. Определение списка необходимых разрешений.
курсовая работа [376,6 K], добавлен 13.09.2017Архитектура операционной системы Android. Инструменты Android-разработчика. Установка Java Development Kit, Eclipse IDE, Android SDK. Настройка Android Development Tools. Разработка программы для работы с документами и для осуществления оперативной связи.
курсовая работа [2,0 M], добавлен 19.10.2014Архитектура операционной системы Android, набор библиотек для обеспечения базового функционала приложений и виртуальная машина Dalvik. Объектно-ориентированный язык программирования Java как инструмент разработки мобильных приложений для ОС Android.
дипломная работа [1,6 M], добавлен 08.07.2015Первое устройство, работающее под управлением Android. Приложения под операционную систему Android. Формат установочных пакетов. Разработка приложений на языке Java. Шаблоны основных пакетов и компонентов Android. Сборка приложений, основанная на Gradle.
курсовая работа [492,0 K], добавлен 08.02.2016Современное состояние рынка мобильных приложений. Основные подходы к разработке мобильных приложений. Обоснование выбора целевой группы потребителей приложения. Этапы проектирования и разработки мобильного приложения для операционной системы Android.
курсовая работа [987,1 K], добавлен 27.06.2019Обзор существующих популярных программ для просмотра погоды на ОС Android. Операционные системы современных смартфонов. Ключевые особенности Android, технология Java. Разработка программной части, выбор языка, описание алгоритма, ее логической структуры.
курсовая работа [911,5 K], добавлен 16.04.2014Изучение существующих подходов к использованию компьютерных игр в образовательном процессе. Разработка и реализация проекта игрового обучающего приложения на мобильной платформе. Выбор платформы и средств реализации игрового обучающего приложения.
дипломная работа [3,4 M], добавлен 12.08.2017Разработка клиент-серверного игрового приложения на примере игры в шашки для мобильных устройств на базе операционной системы Android. Обзор мобильных платформ. Экраны приложения и их взаимодействие. Графический интерфейс, руководство пользователя.
курсовая работа [2,6 M], добавлен 15.06.2013Знакомство с особенностями и этапами разработки приложения для платформы Android. Рассмотрение функций персонажа: бег, прыжок, взаимодействие с объектами. Анализ блок-схемы алгоритма генерации платформ. Способы настройки функционала рабочей области.
дипломная работа [3,4 M], добавлен 19.01.2017Разработка приложений для смартфонов на ОС Android для сети аптек "Фармация". Архитектура операционной системы Android. Архитектура и реализация приложения. Его функциональность. Описание работы мобильного приложения. Расчет затрат на создание продукта.
дипломная работа [1,6 M], добавлен 17.06.2017Анализ целевой аудитории. Функциональные характеристики пользовательского приложения. Разработка алгоритмов и интерфейса программного продукта, функций рабочей области. Написание скриптов на языке C#. Тестирование программы методом чёрного ящика.
дипломная работа [1,5 M], добавлен 09.11.2016Характеристика работы операционной системы Android, используемой для мобильных телефонов. Создание Android проекта в среда разработки Eclipse. Общая структура и функции файла манифест. Компоненты Android приложения. Способы осуществления разметки.
курсовая работа [1,0 M], добавлен 15.11.2012