Мобільний додаток "Курси валют комерційних банків"
Розробка мобільного додатку для отримання інформації про курси валют комерційних банків України, візуалізація цих банків на основі картографічного сервісу Google Maps. Діаграма компоновки додатку. Діаграма активності "Використання сенсорного екрану".
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 17.08.2016 |
Размер файла | 2,6 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru//
Размещено на http://www.allbest.ru//
Харківський національний університет радіоелектроніки
Центр післядипломної освіти
Кафедра програмної інженерії
КОМПЛЕКСНИЙ КУРСОВИЙ ПРОЕКТ
"Мобільний додаток "Курси валют комерційних банків"
Слухач гр.ІПЗпз-15-1Перешибкін М. М.
Керівник проекту, ст.викл. Широкопетлєва М.С.
Комісія:проф.Дудар З.В.
ст.викл. Широкопетлєва М.С.
доц. Мазурова О.О.
2016
КАЛЕНДАРНИЙ ПЛАН
№ |
Назва етапів |
Термін виконання етапів проекту |
Примітка |
|
1 |
Видача теми, узгодження і затвердження теми |
15.01.2016 |
виконано |
|
2 |
Аналіз предметної області |
25.01.2016 |
виконано |
|
3 |
Розробка постановки задачі |
2.02.2016 |
виконано |
|
4 |
Об'єктний аналіз поставленої задачі |
16.02.2016 |
виконано |
|
5 |
Розробка моделі взаємодії даних |
23.02.2016 |
виконано |
|
6 |
Розробка структури зберігання даних |
1.03.2016 |
виконано |
|
7 |
Створення коду програми |
7.03.2016 |
виконано |
|
8 |
Тестування і налагодження програми |
12.03.2016 |
виконано |
|
9 |
Оформлення пояснювальної записки, додатків, графічного матеріалу |
16.03.2016 |
виконано |
|
10 |
Перевірка виконаного проекту керівником, допуск до захисту |
17.03.2016 |
виконано |
|
11 |
Захист |
25.03.2016 |
Слухач ______________________Перешибкін М.М.
Керівник ______________________Широкопетлєва М.С.
(прізвище, ініціали)
« 15 »_січня______________ 2016 р.
РЕФЕРАТ / ABSTRACT
Пояснювальна записка до проекту: 36 с., 9 рис., 2 додатки, 19 джерел.
Об'єктом дослідження є сегмент ринку мобільних додатків, що працюють у ОС Android, а саме, додатки що використовують засобі супутникової геолокації (GPS) і наявні картографічні сервіси, такі як Google Maps, Yandex Maps, для отримання інформації прод поточну геопозицію вибраного користувачем банку.
Метою роботи є розробка мобільного додатку для отримання інформації про курси валют комерційних банків України, візуалізація цих банків на основі картографічного сервісу Google Maps. Мобільний додаток розроблений на мобільній платформі ОС Android з використанням мови об'єктно-орієнтованого програмування Java.
У результаті роботи здійснена програмна реалізація мобільного додатку «Курси валют комерційних банків України» на основі ОС Android з використанням API (application program interface - програмний інтерфейс додатку) Google Maps і API Finance.ua.
МОБІЛЬНИЙ ДОДАТОК, АНДРОИД, КАРТА, БАНКИ, УКРАЇНА, КУРСИ ВАЛЮТ, JAVA, GOOCLE MAPS.
Explanatory note for course project: 36 pages, 6 pictures, 3 diagrams, 2 appendix, 19 sources.
The objective of this course project is to discover the market of Android mobile applications which use such tools as GPS (Global Positioning System), map services such as Google Maps and Yandex Maps and which provide to the user the information which related to bank`s current geo position. As result of this course project is development of the Android mobile application which provide user with information about the rates of commercial banks in Ukraine
Mentioned above Android mobile application was developed in integrated development environment Android Studio using objective-oriented programming language Java and Google Maps service API (application program interface) and і API Finance.ua..
MOBILE APPLICATION, ANDROID, MAP, BANKS , UKRAINE, RATES, JAVA, GOOGLE MAPS.
ЗМІСТ
Вступ
1. Аналіз проблемної галузі і постановка задачі
1.1 Аналіз проблемної галузі
1.2 Постановка задачі
2. Перелік вимог до програмної системи
3. Опис прийнятих проектних рішень
4. Опис використання програмної системи
4.1 Опис програми
4.2 Аналіз напрямків розвитку системи
Висновки
Перелік посилань
Додаток А Програмний код
Размещено на http://www.allbest.ru//
ВСТУП
Реалізуючи свою кредитну політику держава спирається на інституційну структуру кредитної системи і кредитний механізм.
Кредитна система це сукупність кредитних відносин, форм і методів кредитування в єдності з сукупністю кредитно-фінансових інститутів, які забезпечують функціонування цих відносин (див. схему "Кредитна система").
Основною ланкою кредитної системи є банки, які здійснюють основну частину кредитних і фінансових операцій.
Банк (фр. banque - фінансове підприємство) - це фінансовий інститут, суб'єкт кредитних відносин, який акумулює грошові кошти, розпоряджається і використовує власні та запозичені кошти з метою одержання прибутку.
З посиленням концентрації банківського капіталу (кінець XIX - початок XX ст.) банки стають одним із головних елементів ринкової економічної структури, що проявляється у виконуваних ними функціях:
- залучення тимчасово вільних грошових коштів та перетворення їх у позичковий капітал;
- посередництво в кредитах (надання кредитів);
- посередництво в платежах (грошові розрахунки і платежі);
- операції з цінними паперами;
- випуск (емісія) кредитних знарядь обігу;
- консалтинг (надання консультаційних послуг).
Сукупність фінансових установ грошового ринку (що займаються банківською діяльністю) у їх взаємозв'язку і взаємодії, діяльність яких законодавчо визначена, утворюють банківську систему.
Сучасна банківська система як система ринкового типу є дворівневою, складається з центрального банку і комерційних банків
Центральний банк країни є центральним органом кредитної системи. Він здійснює емісію кредитних грошей, акумулює і зберігає касові ресурси інших кредитних установ, зберігає державні золотовалютні резерви, кредитує комерційні банки, надає кредити під урядові програми, здійснює розрахунки і перевідні операції держави, грошово-кредитне регулювання макроекономічних процесів. До основних функцій центрального банку належать - функція монопольної емісії готівки й організації грошового обігу, функція "банку банків", функція банку уряду та функція реалізації грошово-кредитної політики.
На відміну від центральних, значна частина яких одержує статус державних національних, усі комерційні банки, які знаходяться на нижчому рівні кредитної системи у порівнянні з центральними є приватними, і розбудовуються на засадах акціонерного капіталу (комерційні банки - це акціонерні товариства).
Комерційний банк - установа, яка створена для залучення грошових засобів юридичних і фізичних осіб та розміщення їх від власного імені на кредитних умовах: повернення, платності, терміновості, а також для здійснення інших банківських операцій з метою одержання прибутку.
Операції комерційних банків слід розділити на три групи: пасивні (по залученню коштів); активні (по розміщенню коштів); комісійно-посередницькі (виконання операцій за дорученням клієнтів на комісійних засадах, тобто за винагороду, - це інкасові, трастові та перевідні операції).
Основна спрямованість комерційних банків це отримання прибутку, що і відрізняє їх від центрального банку.
Комерційні банки можуть виконувати всі функції інших кредитно-фінансових інститутів, крім функцій центрального банку. Сучасні комерційні банки виконують до 200 різних операцій. Залежно від функцій і характеру здійснюваних операцій серед комерційних банків виділяють інвестиційні, іпотечні та ощадні.
Мета курсового проекту - розробка програмного забезпечення для громадянин України, які цікавляться обміном валют і які хочуть купувати іноземні валюти за вигідними цінами. Головна ідея проекту - надати українцями достовірну інформацію про курси валют в тому чи іншому комерційному банку України. Це питання є найбільш актуальним у період коливання української гривні відносно іноземних валют.
1. АНАЛІЗ ПРОБЛЕМНОЇ ГАЛУЗІ І ПОСТАНОВКА ЗАДАЧІ
1.1 Аналіз предметної галузі
Основними платформами для розробки додатків для мобільних пристроїв є Android, iOS i Windows. Розподілення ринку продажу нових мобільних пристроїв у 2015 році можна визначити на прикладі ринку США, якій є одним з найбільших світових ринків мобільних пристроїв. Так, станом на кінець 2015 року, доля Android склала 66,9% (+2,5% за рік), iOS - 28,4% (-2,1%), Windows - 3,5% (без змін). При цьому слід зазначити, що упродовж довгих років, США були найбільш стабільним і постійно зростаючим ринком для реалізації мобільних пристроїв на iOS. Слід також зазначити досить цікавий факт - в 2015 році компанія Microsoft оновила середу розробки (integrated development environment - IDE) Visual Studio 2015, в якій підтримується можливість створення додатків з одного коду для основних мобільних платформ. А у лютому 2016 року було оголошено про придбання компанією Microsoft компанії Xamarin, яка реалізувала кросс-платформену середу Mono, яка використовує Common Language Infrastructure (CLI) i .NET від Microsoft для створення нативних додатків для Android i iOS. Вважаю, що рух Microsoft у напрямку розвитку інструментів для створення нативних додатків для інших платформ буде мати досить інтересний вплив на ринок розробки мобільних додатків і рівень популярності інструментів розробки, тому що у перше, Microsoft напряму конкурує з основними язиками розробки Java i Objective-C.
Якщо аналізувати зручність розробки мобільних додатків для різних платформ, можна зробити висновок, що по цьому критерію виграє платформа Android, завдяки відносної відкритості і простоті використання. iOS по цьому критерію посягає, мабуть, останню позицію, «завдяки» досить жорстким обмеженням щодо середи розробки (XCode) і апаратних засобів (лише комп'ютери Apple). Платформу Windows досить важко оцінювати у зв'язку з останніми змінами у підходах до розробки мобільних додатків і інструментах розробки. Зараз досить важко оцінити перспективи розвитку і просування мобільної платформи Windows. Вважаю, що до цього часу, з 2008-2009 років, компанія не приділяла необхідної уваги для розвитку своєї мобільної платформи. Тому, останні зміни на ринку мобільних платформ можуть мати досить інтересні наслідки і напрямки розвитку.
Найбільш популярною на цій час мобільною платформою є платформа Android. Яка, поки що, відрізняється від інших, простотою використання, ефективністю функціонування, розповсюдженістю. Основними напрямками розробки під Android як в Україні, так і у світі, є ігрова індустрія. Інша досить велика область розробки під Android - корпоративні додатки і програмні комплекси для компаній і бізнесу. Таки висновки можна зробити виходячи з досвіду використання найбільших й найпопулярніших сервісів для фрілансерів - Upwork.com i Freelance.com, на яких розміщуються закази на створення різних видів програмного забезпечення. Основними гравцями на ринку розробки мобільних додатків є дві групи виконавців - окремі фрілансери і компанії, які здійснюють розробку програмного забезпечення. Якщо аналізувати географічні регіони і представленість представників різних країн у вищезазначених системах, то лідерами з кількості виконавців є Індія, Китай, країни Азії і окремі арабські країни (Пакистан, наприклад). Але, виконавці з Індії,Азії і арабських країн мають досить неоднозначну репутацію у зв'язку з низькою якість виконання робіт. Про те, вони пропонують найнижчий рівень цін на розробку програмних продуктів.
У результаті аналізу мобільних додатків під Android, складається враження, що основний об'єм розробки спрямований на інші країни, що, в першу чергу, пов'язане з відсутністю постійного об'єму заказів на внутрішньому ринку. Це пов'язане, в свою чергу, зі складностями у продажу на внутрішньому ринку України платного програмного забезпечення. З іншої сторони, корпоративний сектор країни є досить консервативним і, у більшості випадків, не націлений на використання сучасних інформаційних технологій. Тому, вважаю розробку програмного забезпечення для внутрішнього ринку України досить важливою і цікавою задачею, яка буде просувати ринок внутрішньої розробки до світлого, правда не ближчого, майбутнього.
Незважаючи на бурхливий розвиток мобільної платформи Android і, відповідно, стрімке зростання обсягу програмного забезпечення для цієї платформи, існують досить важливі і інтересні напрямки і теми, які потребують більшої уваги розробників. Вперше, питання отримання інформації щодо курсів валют комерційних банків України виникло в мене в 2014 р. Проект щодо створення подібного сервісу був частково реалізований на багатьох сайтах, таких як: finance.ua, kurs.com.ua, minfin.com.ua.
Результати вивчення мобільних додатків у найбільшій системі розповсюдження Android додатків Google Play як у 2014 році, так і в 2016 році дає підстави стверджувати, що саме такого додатку існує чимало варіантів реалізації
В ідеалі, програми, що інформують про курс валют, представляються в двох варіантах. Або це додатки з однієї-єдиною функцією, з більш-менш доброзичливим інтерфейсом, чітко виконують свою задачу, або це серйозний продукт або мобільний клієнт якогось фінансового ресурсу з інформацією з українського валютного ринку. На жаль, але останній варіант геть відсутній в Google Play. А ось чого більш ніж достатньо, так це валютних інформерів, які по суті копіюють масово один одного, як в назві, так і за змістом.
1.2 Постановка задачі
В курсовому проекті необхідно спроектувати та реалізувати додаток для мобільних пристроїв який надавав би користувачу інформацію про курси валют комерційних банків України. Додаток повинен використовувати стандарті служби мобільного пристрою: систему геопозиціювання, систему передачі даних, сенсорний екран, інші служби - у разі необхідності.
З огляду на наявну інформацію про існуючі додатки в обраної предметної галузі, їх функції, потреби потенційних користувачів, можна визначити наступні задачі для створення мобільного додатка «Курси валют комерційних банків»:
визначити джерело інформації про розташування банків на території України;
визначити формат даних, які використовуються і прийнятність формату даних для використання у мобільному додатку. Визначити можливі шляхи перетворення наявних даних у прийнятний для мобільного додатку формат;
обрати мобільну платформу для розробки мобільного додатку (Android, iOS або Windows);
визначити інструменти, які необхідні для розробки мобільного додатку - необхідні середи розробки (integrated development environment - IDE) і програмні інтерфейси додатків(application programming interface - API);
визначити постачальника сервісу для реалізації базової функції - картографічного сервісу;
визначити потрібний функціонал додатку, виходячи з наявної інформації і можливостей, які надає API потрібного сервісу;
визначити поведінку користувача і необхідність створення інтерфейсу користувача, з огляду на наявні інструменти сервісів;
здійснити розробку мобільного додатку, враховуючи інформацію, що була отримана на попередніх етапах виконання проекту;
здійснити тестування розробленого додатку з метою знаходження наявних дефектів, недоліків і інших відхилень у поведінки додатку у порівнянні з результатом, який планувався.
2. ПЕРЕЛІК ВИМОГ ДО ПРОГРАМНОЇ СИСТЕМИ
Враховуючи дані, що отримані в результаті аналізу проблемної галузі і згідно з поставленою задачею, можна визначити наступні вимоги до мобільного додатку:
Бізнес-вимоги:
зазначене програмне забезпечення (ПО) призначене для отримання користувачем інформації щодо курсу валют комерційних банків графічній інтерпретації зі застосуванням відображення на карті території України відповідних позначок - вибраного банку. Зазначений контекст має певні обмеження: географічно, відображення інформації про банк обмежується територією України, інформація відображається лише про курси валют банків, , які надають можливість обміну валют. Надання інформації про курси валют обмежується даними, які є доступні у публічному доступі.
Вимоги користувача:
запустити додаток на мобільному пристрої;
вибрати банк;
визначити розташування банку на карті;
отримати додаткову інформацію за визначеним банком (перехід на сайт банку).
Подзвонити консультанту банка
З огляду на визначені бізнес-вимоги и вимоги користувача, можна сформулювати наступні функціональні вимоги до мобільного додатку:
мобільний додаток встановлюється на мобільний прилад без додаткових умов і обмежень;
у разі запуску мобільного додатку, екран додатку повинен відображати комерційні банки України
у разі вибору конкретного банку програма повинна відображати курси валют.
додаток повинен надавати можливість відображення поточної геопозиції банку на карті додатку;
карта України повинна масштабуватися за допомогою властивостей сенсорного екрану - зведення або розведення двох областей дотику на бажаній ділянки карти;
додаток повинен надавати можливість зателефонувати до консультанта банку;
в додатку повинна бути реалізована можливість отримати додаткову інформацію про банк;
індикація додаткової інформації здійснюється у прив'язці до конкретного банку.
Враховуючи визначені вимоги до програмної системи діаграма прецедентів системи матиме вигляд, наведений на рис.2.1.
Рисунок 2.1 - Діаграма прецедентів
3. ОПИС ПРИЙНЯТИХ ПРОЕКТНИХ РІШЕНЬ
З огляду на проведений аналіз проблемної галузі, аналіз наявних технологічних платформ, стану ринку і розповсюдження мобільних платформ на світовому ринку, вважаю за доцільним для реалізації мобільного додатку вибрати програмну платформу Android. Доцільність вибору Android також пов'язана з вільним використанням і розповсюдженням мобільних додатків цій платформи, а також з вільним використанням язика програмування Java, який є базою для програмування під Android.
Обраний шлях реалізації додатку дозволяє скласти діаграму компоновки, наведену на рис.3.1.
Рисунок 3.1 - Діаграма компоновки додатку
Іншим фактором, вибору мобільної платформи Android є наявність власного картографічного сервісу Google Maps, у якого є досить розвинутий і добре задокументований application programming interface (API). З огляду на поширення використання операційної системи Android у мобільних пристроях, можна зробити висновок про досить широке використання і популярність картографічного сервісу Google Maps. Тому, у якості картографічного сервісу був обраний сервіс Google Maps. Слід зазначити, що для використання сервісів Google у додатках Android, які створюють інші програмісти, необхідно отримати відповідний API_KEY, який забезпечує працездатність сервісу, якій використовується у додатку. Для цього додатку був отриманий API_KEYдля використання сервісу Google Maps. Цій API_KEY вказується у AndroidManifest.xml додатка.
<?xml version="1.0" encoding="utf-8"?>
<manifest package="com.ankoma88.converterlab"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<!-- Support devices: only phones -->
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="false"
android:anyDensity="true"
android:resizeable="true"/>
<application
android:allowBackup="true"
android:fullBackupContent="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">
<!-- Activities -->
<activity
android:name="com.ankoma88.converterlab.activities.TradersActivity"
android:label="@string/app_name"
android:launchMode="singleTop">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity
android:name="com.ankoma88.converterlab.activities.OffersActivity"
android:parentActivityName=".activities.TradersActivity"
tools:ignore="UnusedAttribute">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.ankoma88.converterlab.activities.TradersActivity"/>
</activity>
<activity
android:name="com.ankoma88.converterlab.activities.MapActivity"
android:label="@string/title_activity_map">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".activities.TradersActivity"/>
</activity>
<!-- Receivers -->
<receiver android:name="com.ankoma88.converterlab.receivers.AlarmReceiver"
android:process=":remote"/>
<receiver android:name="com.ankoma88.converterlab.receivers.BootReceiver"
android:enabled="false">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>
<!-- Services -->
<service android:name="com.ankoma88.converterlab.services.UpdateService"
android:exported="false">
</service>
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version"/>
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="AIzaSyAAB25Pr0KSVBVXxi2sxPRb6OFhIczZRhA"/>
</application>
Пошук джерела даних виявився найбільш складної задачею у зв'язку з відсутність загальновідомих і доступних джерел інформації. Тим більш, які мають змогу надавати інформацію в форматі, що може бути використаний у мобільному додатку без додаткових операцій, таких як введення даних, сканування і т.п.
У результаті пошуку, був знайдений сайт http://finance.ua, який надає власний API для отримання інформації про курси валют комерційних банків України.
Для створення додатку використовується integrated development environment (IDE) Android Studio 1.5.1, яка є основним інструментом створення додатків під Android. Ця система дозволяє створити стартовий екран для подальшого підключення джерел даних і налаштування управляючих елементів (див.рис.3.2).
Для реалізації додатку, IDE Android Studio був створений клас BaseActivity, який реалізує інтерфейси onCreate. Даний клас використовується для встановлення початкових настройок додатку. Виконання основних функцій.
Для відображення карти і знаходження місця розміщення банку було створено клас MapActivity. Опишемо деякі методи даного класу:
Метод onMapReady встановлює параметри завантаження і відображення карти на екрані мобільного пристрою. В додатку були встановлені наступні параметри для карти:
mMap.setMapType(GoogleMap.MAP_TYPE_NORMAL) - вибір типу відображення карти «NORMAL» (див.рис.3.3), який є найбільш читабельним. Інші доступні типи відображення карти - HYBRID, SATELLITE, TERRAIN. Всі вказані типи були протестовані на зручність сприйняття;
Рисунок 3.2 - Стандартна початкова форма екрану мобільного додатку, який створюється у IDE Android Studio
mMap.setOnMarkerClickListener(new GoogleMap. OnMarkerClickListener ()) - доступність взаємодії у разі натискання на позначку маркера;
Рисунок 3.3 - Відображення карти типу «NORMAL»
Наступна частина програмного коду - отримання необхідної інформації в форматі JSON. Спочатку, відкривається посилання на дані, потім відбувається їх зчитування. Після зчитування дані в форматі JSON формуються в списки і відображаються на екрані.
Діаграма активності «Використання сенсорного екрану» додатку наведена на рис.3.6. мобільний додаток валюта
Рисунок 3.6 - Діаграма активності «Використання сенсорного екрану».
4. ОПИС РОЗРОБЛЕНОЇ ПРОГРАМНОЇ СИСТЕМИ
4.1 Опис програми
При старті додатку на мобільному пристрої здійснюється завантаження по канал передачі даних (GPRS, HSPA) інформація про комерційні банки України, яка перетворюється у списки (див.рис. 4.1).
Рисунок 4.1 - Початковий стан роботи додатку
Далі, при натисканні користувачем на вибраний ним банк у представленому списку банків, відкриється вікно з детальною інформацією про банк і курсами валют (див. рис. 4.2).
Рисунок 4.2 - Відображення інформації про банк і курси валют
Тут грузяться курси валют з бази даних і показується на екран список валют.
Натиснувши на рожеву кнопку в правому нижньому куті, відкриється меню для виконання певних функцій (див. рис. 4.3).
Рисунок 4.3 - Відображення меню
Розглянемо основні пункти:
Сайт: відкриває в зовнішньому браузері посилання на банк.
Карта: відкриває карту з піном і зумом над банком, для цього використовуємо Places API and Google Map Android v2 в Google Api's (region, city, address - параметри з моделі для пошуку в Places Api)
Позвонить: дзвонимо в стандартному зовнішньому додатку по номеру який є в моделі під назвою phone.
Користувацький інтерфейс розробленого додатку є максимально простим і зрозумілим. Основні елементи інтерфейсу - карта Google Maps, список Банків України, меню
Основні вимоги, які є критичними для працездатності мобільного додатку є:
мобільний пристрій з операційною системою Android;
наявність і працездатність каналу передачі даних;
наявність сенсорного екрану у мобільному пристрої;
4.2 Аналіз напрямків розвитку системи
В процесі виконання комплексного курсового проекту з'явилась певна кількість ідей і напрямків, в яких можна продовжувати розвиток цього проекту:
Використання можливостей навігації об'єкта.
Реалізація пошуку банків.
ВИСНОВКИ
Результатом виконання комплексного курсового проекту є створення мобільного додатку «Курси валют комерційних банків України». Додаток являє собою повністю функціонально програмне забезпечення яке дозволяє користувачу отримувати необхідну специфічну інформацію - щодо курсу валют комерційних банків валют на території України. Отримання цій інформації дає змогу користувачу, слідкувати за курсами іноземних валют відповідно до української гривні, вигідно обмінювати свій капітал.
С технологічної точки зору, основна ціль проекту - створення власного додатку для мобільних пристроїв. Для розробки додатку були використані найбільш поширені й популярні технології - Android i Google Maps. Саме поєднання цих технологій забезпечило стабільне і швидке функціонування додатку.
Вважаю, що розроблений мобільний додаток дозволяє досягнути цілій, що були поставлені на початку проекту. Обрана проблемна область і тема курсового проекту є актуальними і такими, що потребують подальшого вивчення і розвитку.
ПЕРЕЛІК ПОСИЛАНЬ
Варкин М. Разработка мобильних приложений под Android.[Текст] / Варкин М. - М.: Центр компьютерного обучения «Специалист» при МГТУ им.Баумана, 2012. - 128 с.
Герберт Шилдт. Java 8: Руководств для начинающих[Текст] / Герберт Шилдт; 6-е издание, М.: ООО «И.Д.Вильямс», 2015.- 720 с.
Канер Сэм. Тестирование программного обеспечения. Фундаментальные концепции менеджмента бізнес-приложений. [Текст] / Сэм Канерб Джон Фолк, Енг Кек Нгуен; К. : «Диасофт», 2001.- 544с.
Лафоре Р. Структуры даннях и алгоритмы в Java. [Текст] / Р. Лафоре; СПб. : Питер, 2013.- 704 с.
Майер Р. Android 2: программирование приложений для планшетных компьютеров и смартфонов[Текст]/ Р. Майер; М.: Эксмо, 2011. - 672 с. ISBN 978-5-699-50323-0.
Медникс З. Программирование под Android. [Текст] / З. Медникс, Л. Дорнин, М. Блэйк, М. Накамура; 2-е изд., - СПб. : Питер, 2013.- 560 с.
Медведев В. И. Особенности объектно-ориентированного программирования на С++/CLI, C#, Java[Текст] / Медведев В. И. - 2-е издание, Казань: РИЦ «Школа», 2010. - 444с.
Харди Б. Программирование под Android . Для профессионалов. [Текст] / Б. Харди, Б. Филлипс; СПб. : Питер, 2014.- 592 с.
Цехнер М. Программирование игр под Android. [Текст]:/ Цехнер М.- СПб.: Питер, 2013.- 688с.
Эккель Б. Философия Java. [Текст] / Б. Эккель; СПб. : Питер, 2015.- 1168 с.
Bray, Tim; Jean Paoli, C. M. Sperberg-McQueen, Eve Maler, Franзois Yergeau (September 2006). Extensible Markup Language (XML) 1.0 (Fourth Edition) -- Origin and Goals. World Wide Web Consortium. Архів оригіналу за 2013-06-23.
Burry Burd. Java Programming for Android Developers for Dummies. [Текст] / Burry Burd; John Wiley & Sons, Inc. : Hoboken, New Jersey, 2014.- 458 с.
Cay S. Hortsmann. Java SE8 for the Really Impatient[Текст] / Cay S. Hortsmann; Pearson Education, Inc. : New Jersey, 2014. - 238 c.
Cay S. Horstmann, Gary Cornell. Core Java Volume I fundamentals [Текст] / Cay S. Horstmann; Gary Cornell; Eighth Edition, Sun Microsystems, Inc.: Birmingham, UK, 2008. - 825c.
Cay S. Horstmann, Gary Cornell. Core Java™ Volume II-Advanced Features [Текст] / Cay S. Horstmann; Gary Cornell; Eighth Edition, Sun Microsystems, Inc.: Birmingham, UK, 2008. - 922 c.
Dasgupta S. Algorithms. [Текст] / S. Dasgupta, C.H. Papadimitriou, U.V. Vazirani, 2006.- 318 с.
Elliotte Rusty Harold, W. Scott Means (липень 2002). XML in a Nutshell (англ. ) (вид. друге). O'Reilly. ISBN 0-596-00292-0.
Jeff Friesen. Learn Java for Android Development [Текст] / Jeff Friesen; Third Edition, 2014. - 1190 c.
John Horton. Learning Java by Building Android Games[Текст] / John Horton; Packt Publishing : Birmingham, UK, 2015. - 392 c.
ДОДАТОК А
Фрагмент коду програми
BaseActivity.java
package com.ankoma88.converterlab.activities;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.NavUtils;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import com.ankoma88.converterlab.R;
import com.ankoma88.converterlab.interfaces.ActionCallbacks;
import com.ankoma88.converterlab.util.Converter;
/**Parent activity for TradersActivity and OffersActivity which implements menu actions*/
public abstract class BaseActivity extends AppCompatActivity implements ActionCallbacks {
public static final String EXTRA_TRADER_ID = "com.ankoma88.converterlab.trader_id";
protected abstract Fragment createFragment();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_base);
findToolBar();
FragmentManager manager = getSupportFragmentManager();
Fragment fragment = manager.findFragmentById(R.id.fragmentContainer);
if (fragment == null) {
fragment = createFragment();
manager.beginTransaction()
.add(R.id.fragmentContainer, fragment)
.commit();
}
}
private void findToolBar() {
final Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_AB);
setSupportActionBar(toolbar);
final ActionBar actionBar = this.getSupportActionBar();
if (actionBar != null) {
if (NavUtils.getParentActivityName(this) != null) {
actionBar.setDisplayHomeAsUpEnabled(true);
}
}
}
@Override
public void onLinkClicked(String link) {
openLink(link);
}
@Override
public void onMapClicked(int traderId) {
openMap(traderId);
}
@Override
public void onPhoneClicked(String phone) {
openPhone(phone);
}
@Override
public void onDetailClicked(int traderId) {
openDetailInfo(traderId);
}
protected void openLink(String link) {
link = Converter.prepareUrl(link);
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(link));
startActivity(intent);
}
protected void openPhone(String phone) {
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:" + phone));
startActivity(intent);
}
protected void openDetailInfo(int traderId) {
Intent intent = new Intent(this, OffersActivity.class);
intent.putExtra(EXTRA_TRADER_ID, traderId);
startActivity(intent);
}
protected void openMap(int traderId) {
Intent intent = new Intent(this, MapActivity.class);
intent.putExtra(EXTRA_TRADER_ID, traderId);
startActivity(intent);
}
}
MapActivity.java
package com.ankoma88.converterlab.activities;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.NavUtils;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import com.ankoma88.converterlab.R;
import com.ankoma88.converterlab.interfaces.ActionCallbacks;
import com.ankoma88.converterlab.util.Converter;
/**Parent activity for TradersActivity and OffersActivity which implements menu actions*/
public abstract class BaseActivity extends AppCompatActivity implements ActionCallbacks {
public static final String EXTRA_TRADER_ID = "com.ankoma88.converterlab.trader_id";
protected abstract Fragment createFragment();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_base);
findToolBar();
FragmentManager manager = getSupportFragmentManager();
Fragment fragment = manager.findFragmentById(R.id.fragmentContainer);
if (fragment == null) {
fragment = createFragment();
manager.beginTransaction()
.add(R.id.fragmentContainer, fragment)
.commit();
}
}
private void findToolBar() {
final Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_AB);
setSupportActionBar(toolbar);
final ActionBar actionBar = this.getSupportActionBar();
if (actionBar != null) {
if (NavUtils.getParentActivityName(this) != null) {
actionBar.setDisplayHomeAsUpEnabled(true);
}
}
}
@Override
public void onLinkClicked(String link) {
openLink(link);
}
@Override
public void onMapClicked(int traderId) {
openMap(traderId);
}
@Override
public void onPhoneClicked(String phone) {
openPhone(phone);
}
@Override
public void onDetailClicked(int traderId) {
openDetailInfo(traderId);
}
protected void openLink(String link) {
link = Converter.prepareUrl(link);
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(link));
startActivity(intent);
}
protected void openPhone(String phone) {
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:" + phone));
startActivity(intent);
}
protected void openDetailInfo(int traderId) {
Intent intent = new Intent(this, OffersActivity.class);
intent.putExtra(EXTRA_TRADER_ID, traderId);
startActivity(intent);
}
protected void openMap(int traderId) {
Intent intent = new Intent(this, MapActivity.class);
intent.putExtra(EXTRA_TRADER_ID, traderId);
startActivity(intent);
}
}
OffersActivity.java
package com.ankoma88.converterlab.activities;
import android.support.v4.app.Fragment;
import com.ankoma88.converterlab.fragments.OffersFragment;
/**Activity launches OffersFragment*/
public class OffersActivity extends BaseActivity {
@Override
protected Fragment createFragment() {
int traderId = getIntent().getIntExtra(TradersActivity.EXTRA_TRADER_ID, -1);
if (traderId != -1) {
return OffersFragment.newInstance(traderId);
} else return new OffersFragment();
}
}
TradersActivity.java
package com.ankoma88.converterlab.activities;
import android.support.v4.app.Fragment;
import com.ankoma88.converterlab.fragments.TradersFragment;
/**Activity launches TradersFragment*/
public class TradersActivity extends BaseActivity {
@Override
protected Fragment createFragment() {
return new TradersFragment();
}
}
Размещено на Allbest.ru
Подобные документы
Опис специфічних просторів імен, класів, функцій, використаних при роботі з системними процесами. Створення Windows service та клієнта-програми до неї, що виводить діючі курси валют (купівлі\продажу долара, євро та рубля) деяких банків в режимі онлайн.
курсовая работа [659,1 K], добавлен 21.04.2015Android, iOS та Windows як основні платформи для розробки додатків для мобільних пристроїв. Перелік вимог до програмної системи. Основні вимоги, які є критичними для працездатності мобільного додатку. Аналіз основних напрямків розвитку системи.
курсовая работа [1,1 M], добавлен 19.08.2016Основи проектування мобільного додатку для операційної системи Android з використанням хмарної бази даних Cloud Firestore. Аналіз основних труднощів, які виникають під час розробки додатків. Визначення основних переваг та недоліків хмарних баз даних.
статья [195,3 K], добавлен 07.02.2018Розробка ігрового додатку за технологією IDE Visual Studio та WPF. Опис вхідної та вихідної інформації. Назва та призначення модулів програми. Основні поля класу, необхідні для ігрової логіки. Блок-схема алгоритму гри. Інструкція з експлуатації системи.
курсовая работа [1,3 M], добавлен 02.06.2015Розробка прикладного додатку для побудови графіків тригонометричних функцій з використанням програмного середовища Delphi. Схема алгоритму, методи створення, структура та особливості програмної реалізації прикладного додатку. Умови виконання програми.
курсовая работа [643,1 K], добавлен 19.11.2013Апаратні особливості та порівняльна характеристика мобільних пристроїв. Огляд програм-аналогів. Інструментальні засоби для реалізації, вхідні та вихідні дані, специфікація вимог, проектування моделі і архітектури програмного забезпечення для Android.
дипломная работа [3,2 M], добавлен 10.06.2014Аналіз банківських автоматизованих систем та інтернет-банкінгу в Україні та світ. Проектування бази даних web-орієнтованої банківської системи та розробка програмного продукту. Моніторинг курсів валют банків держави. Розміщення системи у мережі Інтернет.
дипломная работа [2,7 M], добавлен 12.06.2013Розробка програми, що надає користувачу можливості керування додатками Microsoft PowerPoint: запуск вказаного додатку, переключення слайдів, виведення інформації про слайд , коректне завершення і вивантаження з пам’яті презентації, що переглядається.
курсовая работа [2,1 M], добавлен 21.04.2011Створення додатку який дозволяє будувати діаграми динаміки обсягів промислового виробництва засобами інтегрованого середовища Borland Builder C++ 6.0 на мові програмування високого рівня С++. Опис структури інтерфейсу та складових частин програми.
курсовая работа [2,0 M], добавлен 15.01.2014Обробка інформації. Формат мр3. Створення, або редагування мр3 тегов за допомогою програми Tag Reader. Уніфікована мова моделювання. Графічні діаграми UML. Діаграма діяльності, послідовності, кооперації, компонентів, розгортання. Програмне забезпечення.
курсовая работа [91,5 K], добавлен 22.09.2008