Реализация клиент-серверного интерфейса для приложения "Think it — киноафиша Таганрога" для ОС Android
Получение контента каждой страницы приложения от сервера и обработка нажатия кнопок. Адаптивная верстка страниц на устройствах с разным разрешением экрана. Организация работы приложения, как браузера, который будет обмениваться информацией с сервером.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 31.07.2018 |
Размер файла | 475,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Реализация клиент-серверного интерфейса для приложения «Think it -- киноафиша Таганрога» для ОС Android
Емельянов Антон Александрович, студент
Аннотация
Целью разработки приложения являлось предоставление пользователю возможности посмотреть киноафишу Таганрога. В статье содержится описание основных этапов реализации клиент-серверного интерфейса для приложения, позволяющего пользователю посмотреть афишу Таганрога, средствами Android Studio
В предыдущих статьях [1, 2] из этой серии было описано проектирование и создание внешнего вида интерфейса. Результат изображен на следующих скриншотах экрана (рисунок 1).
Рисунок 1 - скриншоты верстки приложения.
Следующая стадия разработки - это получение контента каждой страницы приложения от сервера и обработка нажатия кнопок. Она включает в себя следующие этапы:
1. Разработка серверной части приложения (создание модуля обработки запросов на сервере):
1. Написание функции получения информации о конкретном фильме;
2. Написание функции получения информации о конкретном кинотеатре;
3. Написание функции получения списка всех кинотеатров;
4. Написание функции получения списка всех фильмов;
5. Написание функции получения списка расписания одного кинотеатра;
6. Написание функции получения списка расписания одного фильма;
2. Разработка пользовательской части приложения:
1. Создание браузерного клиента для получения контента с сервера;
2. Создание меню приложения;
3. Обработка события нажатия кнопки назад.
Получаем схему работы нашего приложения:
1. Делается запрос на сервер.
2. Сервер обрабатывает запрос и формирует соответствующий контент.
3. Сервер посылает сгенерированный контент приложению.
4. Приложение воспроизводит контент.
Самая простая и эффективная реализация предложенной схемы - это организация работы приложения, как браузера, который будет обмениваться информацией с сервером, загружать и показывать нужные страницы. Сервер будет отдавать контент в виде полноценной html-страницы со ссылками на другие страницы. сервер приложение верстка разрешение
Перейдем к написанию кода приложения. Открываем файл main.java. В этом файле требуется описать событие создания основного класса. Фрагмент кода показан ниже.
private WebView wv;
private String LASTURL = "";
Menu myMenu = null;
private static final String PREFS_NAME = "MyPrefs";
private Boolean imgOn;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.getWindow().requestFeature(Window.FEATURE_PROGRESS);
setContentView(R.layout.activity_main);
wv = (WebView) findViewById(R.id.wv);
WebSettings webSettings = wv.getSettings();
webSettings.setSavePassword(true);
webSettings.setSaveFormData(true);
webSettings.setJavaScriptEnabled(true);
wv.loadUrl("http://thinkit.ru/kino-v-taganroge/mobile/main-cinema/");
На данном этапе при загрузке приложение будет обращаться к указанному нами адресу. Далее требуется настроить веб клиент. Дописываем следующий код в onCreate
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
final Activity activity = this;
wv.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress)
{
activity.setTitle(" "+LASTURL);
activity.setProgress(progress * 100);
if(progress == 100)
activity.setTitle(" "+LASTURL);
}
});
wv.setWebViewClient(new WebViewClient() {
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl)
{
Toast.makeText(getApplicationContext(), "Error: " + description+ " " + failingUrl, Toast.LENGTH_LONG).show();
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
if (url.indexOf("thinkit")<=0) {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
return true;
}
return false;
}
public void onPageStarted (WebView view, String url, Bitmap favicon) {
LASTURL = url;
view.getSettings().setLoadsImagesAutomatically(true);
}
});
Теперь при загрузке приложения будет открываться главный интерфейс с сервера (страница кинотеатров). При переходе по ссылке предыдущее значение ссылки запоминается. Далее опишем событие нажатия кнопки назад.
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && wv.canGoBack()) {
wv.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
Создаем меню приложения.
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
super.onCreateOptionsMenu(menu);
this.myMenu = menu;
MenuItem item = menu.add(0, 1, 0, "Фильмы");
MenuItem item1 = menu.add(0, 2, 0, "Кинотеатры");
MenuItem item2 = menu.add(0, 3, 0, "Назад");
return true;}
Как видно меню имеет три пункта: «Фильмы», «Кинотеатры», кнопка «Назад». После выполнения данного кода в меню появится три вышеописанных элемента. Требуется описать их действие, что делается в следующем фрагменте кода.
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId())
{
case 1:
wv.loadUrl("http://thinkit.ru/kino-v-taganroge/mobile/main-film/");
break;
case 3:
if (wv.canGoBack()) {
wv.goBack();
}
break;
case 2:
wv.loadUrl("http://thinkit.ru/kino-v-taganroge/mobile/main-cinema/");
break;
}
return true;
}
Клиентская часть приложения написана. Код работы сервера написан на php. Так как целью данной статьи является создание приложения для android, то код серверной части приведен не будет.
Сделаем выводы. Поставленные задачи выполнены: приложение имеет все запланированные интерфейсы и легко управляется с помощью ссылок, выступая в роли браузера. Пользователь может получить доступ к предыдущей странице как с помощью кнопки назад, так и используя ссылку на странице. Существует небольшое меню для того, чтобы сделать навигацию еще более простой. Каждый интерфейс дает исчерпывающую информацию на свою тему.
Данная реализация хороша тем, что приложение не сильно задействует ресурсы телефона или планшета. Адаптивная верстка страниц выглядит одинаково на устройствах с разным разрешением экрана.
Минусы текущей реализации заключаются в том, что без доступа в интернет пользователь не сможет пользоваться приложением. Так же уже загруженные страницы при повторном заходе на них обновляются. Данная проблема решается кешированием страниц, что будет реализовано в дальнейшей модификации проекта.
Список литературы
1. Емельянов А.А., Ляпунова И.А. РАЗРАБОТКА ПРИЛОЖЕНИЯ «THINKIT - КИНОАФИША ТАГАНРОГА» ДЛЯ ОС ANDROID // NovaInfo.Ru (Электронный журнал.) - 2015 г. - № 30; URL: http://novainfo.ru/archive/30/razrabotka-prilozheniya-android-kinoafisha
2. Емельянов А.А., Емельянова М.В. РАЗРАБОТКА ПРИЛОЖЕНИЯ «THINKIT - КИНОАФИША ТАГАНРОГА» ДЛЯ ОС ANDROID // NovaInfo.Ru (Электронный журнал.) - 2015 г. - № 33; URL: http://novainfo.ru/archive/33/razrabotka-prilozheniya-kinoafisha-dlya-os-android
3. Учебник для андроид: // habrahabr.ru, URL: http://habrahabr.ru/post/117885/ (дата обращения 15.12.14).
4. Учебник для андроид: //startandroid.ru/ru/, URL:http://startandroid.ru/ru/uroki/vse-uroki-spiskom/ (дата обращения 15.10.14).
Размещено на Allbest.ru
...Подобные документы
Архитектура и история создания операционной системы Android. Язык программирования Java. Выбор средства для реализации Android приложения. Программная реализация Android приложения. Проведение тестирования разработанного программного обеспечения.
курсовая работа [167,8 K], добавлен 18.01.2017Разработка системы, базирующейся на протоколе LIMone, для обмена мгновенными сообщениями и пересылки файлов в процессе деловой переписки. Реализация системы в виде клиент-серверного приложения. Расчет экономических показателей программного продукта.
дипломная работа [4,7 M], добавлен 22.08.2016Разработка клиент-серверного приложения, позволяющего взаимодействовать друг с другом с использованием доступа к базам данных. Проектирование связи сервера с базой данных с помощью технологии ODBC. Разработка интерфейса программы, ее тестирование.
курсовая работа [352,0 K], добавлен 24.08.2016Средства разработки развивающих и обучающих игр и используемой программы. Среда выполнения и Dalvik. Разработка приложения для платформы Android. Графический интерфейс и обработка касаний экрана. Разработка экранов приложения и их взаимодействия.
дипломная работа [2,1 M], добавлен 18.01.2016Сетевое программное обеспечение: общее понятие, содержание, функции. Этапы развития теории компьютерных сетей. Проектирование в среде программирования Borland Builder C++ клиент серверного приложения с использованием сокетов, листинг данной программы.
курсовая работа [191,5 K], добавлен 07.01.2015Особенности сотовой сети. Использование функции телефонии DTMF Callback на устройствах с Android. Обзор рынка VoIP связи и услуги международного роуминга. Проведение тестирования рабочего прототипа приложения с функцией телефонии DTMF Callback.
дипломная работа [1,3 M], добавлен 08.02.2017Основные концепции разработки приложения в трёхуровневой архитектуре. Проектное решение, реализующее модель реляционной БД. Спецификация на разработку интерфейса. Описание выполнения транзакций прибытия и убытия судна. Инсталляционные файлы приложения.
курсовая работа [4,0 M], добавлен 26.12.2011Изучение истории достижений корпорации Oracle. Разработка клиент-серверного приложения на языке Delphi XE, реализующего возможность управления персоналом на предприятии. Основные структуры данных. Создание инструкции работы с приложением "Отдел кадров".
дипломная работа [974,7 K], добавлен 08.06.2013Разработка приложений для смартфонов на ОС Android для сети аптек "Фармация". Архитектура операционной системы Android. Архитектура и реализация приложения. Его функциональность. Описание работы мобильного приложения. Расчет затрат на создание продукта.
дипломная работа [1,6 M], добавлен 17.06.2017Разработка клиент-серверного игрового приложения на примере игры в шашки для мобильных устройств на базе операционной системы Android. Обзор мобильных платформ. Экраны приложения и их взаимодействие. Графический интерфейс, руководство пользователя.
курсовая работа [2,6 M], добавлен 15.06.2013Создание, изучение и разработка приложение на Android. Среда разработки приложения DelphiXE5. Установка и настройка среды программирования. Этапы разработки приложения. Инструменты для упрощения конструирования графического интерфейса пользователя.
курсовая работа [1,6 M], добавлен 19.04.2017Общая схема работы приложения Android. Разработка обучающего приложения для операционной системы Android, назначение которого - развитие речи посредством произнесения скороговорок. Описание компонентов разработанного приложения, его тестирование.
дипломная работа [1,2 M], добавлен 04.02.2016Обработка страниц на web-сервере и модель событий ASP.NET. Разработка компонентов приложения: компоновка и оформление web-страниц, аутентификация и авторизация пользователей, основные элементы интерфейса. Развёртывание web-приложения и модели компиляции.
дипломная работа [1,7 M], добавлен 29.09.2009Создание клиент-серверного приложения "Чат" с помощью среды визуальной разработки приложений Borland C++ Builder версии 6. Описание функциональности приложения: наличие клиент-серверной архитектуры, обмен короткими сообщениями, а также передача файлов.
курсовая работа [302,0 K], добавлен 30.01.2012Многоуровневые архитектуры клиент–сервер. Диаграммы классов, реализующих уровни презентации, бизнес–логики и базы данных приложения. Словесное описание процесса выполнения транзакций. Создание, изменение и удаление хранимых процедур, их выполнение.
курсовая работа [3,4 M], добавлен 23.03.2013Последовательность разработки системы для оптимизации работы магазина интерьерных товаров, позволяющей хранить данные в одной базе и работать с ней с помощью удобного интерфейса клиентского приложения. Тестирование информационной системы. Листинг модулей.
дипломная работа [2,9 M], добавлен 07.07.2012Разработка программного решения по созданию мобильного приложения. Изучение технологий для разработки приложений. Анализ работы торговых агентов. Обоснование выбора языка программирования. Проектирование интерфейса структуры и верстка, листинг программы.
дипломная работа [2,2 M], добавлен 08.06.2017Анализ популярных игровых приложений. Жанр – аркады с геймплеем Runner. Получение продукта, ориентированного на людей, использующих мобильные устройства на базе Android, и предназначенный для развлечения пользователей. Визуальная составляющая приложения.
дипломная работа [742,7 K], добавлен 10.07.2017Разработка приложения, которое будет выполнять функции показа точного времени и точной даты. Определение дополнительных функций разработанного приложения. Рассмотрение основных этапов создания программного продукта. Результаты тестирования приложения.
курсовая работа [2,2 M], добавлен 14.04.2019Общие характеристики операционной системы Android. Разработка приложения на основе создания менеджера файлов. Получение с помощью приложения доступа к файлам, хранящимся в "облачном хранилище" в сети Интернет. Расчет стоимости программного обеспечения.
дипломная работа [2,7 M], добавлен 03.04.2015