» » » Разработка приложения под Android для прослушивания интернет - радио

Разработка приложения под Android для прослушивания интернет - радио

Вид работы
Предмет
Программирование в компьютерных ситемах
Количество страниц
79
Год издания
2017
Индивидуальный номер
12054
Автор
LianaArifullina

Данный дипломный проект раскрывает тему, актуальную на сегодняшний день.Помимо теоретической части в продажу входит само приложение (нигде не фигурирующее на просторах Интернета), презентация и доклад по дипломному проекту.


СОДЕРЖАНИЕ
ВВЕДЕНИЕ 2
1 Теоретические основы разработки мобильных приложений 6
1.1 Анализ предметной области 6
1.2 Анализ радио – приложений под Android 8
1.3 Средства разработки приложений под ОС Android 13
2 Разработка мобильного приложения, реализующего прослушивание интернет – радио 21
2.1 Структура и функционал приложения 21
2.2 Компоненты Android-приложения 23
2.3 Функционал, обеспечивающий потоковое вещание 34
2.4 Хранение данных радиостанций 41
2.5 Дополнительный функционал приложения 43
2.6 Пользовательские настройки 49
2.7 Пользовательский интерфейс 53
3 Экономическая эффективность использования программного продукта 57
3.1 Обоснование экономической эффективности 57
3.2 Определение возможной (договорной) цены ПП 62
ЗАКЛЮЧЕНИЕ 65
СПИСОК ЛИТЕРАТУРЫ 67
ПРИЛОЖЕНИЯ 69

ВВЕДЕНИЕ
Мир еще никогда не был столь тотально озвученным, как сегодня. Куда бы ни пошел человек, что бы он ни делал, он может делать это с му-зыкой. В торговом центре или в кафе, по дороге на работу или во время прогулки по парку — любые свои действия в любом месте современный человек может сопровождать музыкой, которая или является заданным элементом фонодизайна пространства, или выбирается им самим.
Наушники с двумя проводками, тянущимися к портативному плейе-ру или сотовому телефону, стали одним из отличительных атрибутов со-временного человека. Их появление и массовое распространение ощутимо сказались на особенностях слушания музыки и развитии всей музыкальной индустрии.
Беспрецедентное развитие звуковоспроизводящей техники предельно обогатило способы и формы восприятия музыки, принципиальным обра-зом изменив механизмы ее функционирования.
Смартфоны эволюционируют и с каждой новой моделью приобре-тают дополнительные функции. Впрочем, иногда не только приобретают, но и теряют. Например, некоторые производители по просьбе операторов удаляют из прошивки FM-радио, чтобы абоненты тратили больше Интер-нет – трафика. А иногда радио удаляют под предлогом того, что пользо-вателю оно не нужно, и это уже «прошлый век». Ниже представлена стати-стика, представляющая отношение общества к наличию FM – радио на мобильных устройствах (проголосовало 11372 чел.):

Рисунок 1 - Статистика необходимости FM – радио в смартфонах

Благодаря полученным данным можно сделать вывод, что подавля-ющее большинство, так или иначе, считает, что радио имеет место быть, а немалый процент населения слушает его ежедневно.
На счастье любителей эфирной музыки проблема решается просто – установкой сторонней программы. И пользователю становятся доступны практически любые радиостанции, вещающие через Интернет.
Общая характеристика работы
Постановка цели и задачи.
Цель данной дипломной работы состоит в том, чтобы совместить со-временное программное обеспечение и радио для создания программного продукта, реализующего проигрывание нужных радиостанций с помощью их URL – адресов.
Для достижения поставленной цели необходимо выполнить следую-щие задачи:
• анализ и изучение предметной области;
• выбор языка программирования и ознакомление с программными средствами, реализующими создание и разработку мобильных приложе-ний под ОС Android;
• изучение выбранного программного инструментария;
• проектирование интерфейса приложения;
• разработка мобильного приложения;
• расчёт экономической эффективности использования программного продукта.
Объектом исследования является работа приложений, которые обес-печивают вещание радиостанций по Интернету.
Предметом исследования является технологии, средства разработки и языки программирования для создания мобильного приложения. Мето-ды проигрывания радиостанций. Возможность создания приложения, ре-ализующего задачи интернет – радио, а также внедрения дополнительного функционала для работы с радиостанциями и программой в целом.
В процессе разработки мобильного приложения были использованы следующие языки и технологии: текстовый редактор Notepad, графический редактор Photoshop CS6, среда выполнения Java JRE, комплект средств разработки Java SDK и Android SDK, среда разработки Android Studio, язык программирования Java, эмулятор Androd Genymotion.
Практическая значимость
Приложение для прослушивания радио онлайн с помощью запроса по URL – адресу потока даст возможность слушать желаемые интернет – радиостанции разных жанров (песни, музыка, беседы, новости, юмор, шоу, концерты и другие программы) по всему миру.
Благодаря данному продукту пользователю не придется устанавли-вать мобильное приложение для каждой любимой радиостанции, так как в радио – приложении возможным будет хранение неограниченного количе-ства радиостанций, что значительно сократит использование памяти и увеличит производительность и быстродействие работы мобильного устройства.
Объем и структура работы
Объем работы составляет 82 листа. Работа состоит из введения, трех глав, заключения и списка литературы из источников.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Васильев А.Н., Java. Объектно-ориентированное программирование. Учебное пособие. Стандарт третьего поколения [Текст]/ А.Н. Васильев. – Санкт – Петербург: Питер, 2012. – 400 с.
2. Голощапов А.Л. Google Android [Текст]: Программирование для мобильных устройств/ А.Л. Голощапов. – Москва: БХВ – Петербург, 2013. – 448 c.
3. Голощапов А.Л. Google Android [Текст]: Системные компоненты и сетевые коммуникации/ А.Л. Голощапов. – Москва: БХВ – Петербург, 2012. – 384 c.
4. Голощапов А.Л. Google Android [Текст]: Android. Создание приложений для смартфонов и планшетных ПК. Наиболее полное руководство/ А.Л. Голощапов. – Москва: БХВ – Петербург, 2013. – 832 c.
5. Колисниченко Д.Н., Android для пользователя [Текст]: Полезные программы и советы/ Д.Н. Колисниченко. – изд. 2-е. - Москва: БХВ – Петербург, 2014. – 256 c.
6. Лафоре Р. В., Структуры данных и алгоритмы в Java [Текст]/ Р. В. Лафоре. – Санкт – Петербург: Питер, 2016. – 704 с.
7. Липаев В. В., Программная инженерия сложных заказных программных продуктов [Текст]/ В.В. Липаев. – Москва: МАКС – пресс, 2015. – 305 с.
8. Липаев В. В., Экономика программной инженерии заказных программных продуктов [Текст]/ В.В. Липаев. – Москва: МАКС – пресс, 2015. – 193 с.
9. Липаев В. В., Экономика производства программных продуктов [Текст]/ В.В. Липаев. – Москва: МАКС – пресс, 2015. – 460 с.
10. Машнин Т. С., Eclipse: разработка RCP-, Web-, Ajax- и Android-приложений на Java [Текст]/Т.С. Машнин. – Москва: БХВ – Петербург, 2013. – 384 c.
11. Мухамедзянов Р.Р., Java. Серверные приложения [Текст]/ Р.Р. Мухамедзянов. – Москва: СОЛОН – Р, 2010. – 336 с.
12. Таненбаум Э. С., Современные операционные системы [Текст]/Э.С. Таненбаум. – изд 4-е. – Санкт – Петербург: Питер, 2015. – 1120 с.
13. Hephaestus Books, Articles on Streaming Software, Including: Shoutcast, Icecast, Somaplayer, Streamripper, Screamer Radio, Broadwave, Traction (Internet Radio), Station [Text]/ Hephaestus Books. – New York City: Hephaestus Books, 2011. – 88 p.
14. Jesse R. M., Stream media [Text]/ R. M. Jesse, C.P. Ronald. – Cambridge: Harvard University Press, 2013. – 169 p.
15. Ranjan Parekh, Principles of Multimedia [Text]/ Parekh Ranjan. – New York City: Tata McGraw-Hill Education, 2016. – 727 p.
Статьи
16. Абу-Абед Ф.Н., Разработка мобильного приложения онлайн-радио [Текст]/ Ф.Н. Абу-Абед, Д.Ю Бычковский, А.Р. Хабаров, К.А. Карельская; Тверской государственный технический университет//Программный продукты и системы. – 2016. - №2. - с. 185-194
17. Шматко А.В., Обзор и анализ инструментов разработки мобильных приложений для ОС Android [Текст]/ А.В. Шматко, В.Н. Федорченко // Инновации в науке: LVII международная научно – практическая конференция. – 2016. – № 5(54). Часть I. – c. 59-73.
Интернет – ресурсы
18. Официальный сайт ресурсов и инструментов для разработки под ОС Android [Электронный ресурс] – Электрон.дан. - Москва; Android Developers – Режим доступа: https://developer.android.com, свободный.- Заглавие с экрана. – Яз. рус., англ.
19. Учебник по Android для начинающих и продвинутых[Электронный ресурс]/ред. Непочатов Д.А. – Электрон.дан. - Москва; Start Android, 2011-2017. – Режим доступа: http://startandroid.ru, свободный.- Заглавие с экрана. – Яз. рус., англ.
20. Радио для Андроид планшета и телефона [Электронный ресурс] – Электрон. дан. – Москва; Soft Base, 2015. – Режим доступа: http://softobase.com/ru/article/radio-dlya-android-plansheta-i-telefona/android, свободный. – Яз. рус., англ.

ПРИЛОЖЕНИЯ
ПРИЛОЖЕНИЕ А
(Содержимое файла PlayerService.java)

private final IPlayerService.Stub itsBinder = new IPlayerService.Stub() {
public void Play(String theUrl, String theName, String theID, boolean useExo, boolean isAlarm) throws RemoteException {
PlayerService.this.PlayUrl(theUrl, theName, theID, useExo, isAlarm);
}
public void Stop() throws RemoteException {
PlayerService.this.Stop();
}
@Override
public void addTimer(int secondsAdd) throws RemoteException {
PlayerService.this.addTimer(secondsAdd);
}
@Override
public void clearTimer() throws RemoteException {
PlayerService.this.clearTimer();
}
@Override
public long getTimerSeconds() throws RemoteException {
return PlayerService.this.getTimerSeconds();
}
@Override
public String getCurrentStationID() throws RemoteException {
if (playStatus != PlayStatus.Idle) {
return itsStationID;
}
return null;
}
@Override
public String getStationName() throws RemoteException {
return itsStationName;
}
@Override
public Map getMetadataLive() throws RemoteException {
return PlayerService.this.liveInfo;
}
@Override
public String getMetadataStreamName() throws RemoteException {
if (streamInfo != null)
return streamInfo.audioName;
return null;
}
@Override
public String getMetadataServerName() throws RemoteException {
if (streamInfo != null)
return streamInfo.serverName;
return null;
}
@Override
public String getMetadataGenre() throws RemoteException {
if (streamInfo != null)
return streamInfo.audioGenre;
return null;
}
@Override
public String getMetadataHomepage() throws RemoteException {
if (streamInfo != null)
return streamInfo.audioHP;
return null;
}
@Override
public int getMetadataBitrate() throws RemoteException {
if (streamInfo != null)
return streamInfo.bitrate;
return 0;
}
@Override
public int getMetadataSampleRate() throws RemoteException {
if (streamInfo != null)
return streamInfo.sampleRate;
return 0;
}
@Override
public int getMetadataChannels() throws RemoteException {
if (streamInfo != null)
return streamInfo.channels;
return 0;
}
@Override
public boolean getIsHls() throws RemoteException {
return isHls;
}
@Override
public boolean isPlaying() throws RemoteException {
return playStatus != PlayStatus.Idle;
}
@Override
public void startRecording() throws RemoteException {
if (proxy != null){
proxy.record(itsStationName);
sendBroadCast(PLAYER_SERVICE_META_UPDATE);
}
}
@Override
public void stopRecording() throws RemoteException {
if (proxy != null){
proxy.stopRecord();
sendBroadCast(PLAYER_SERVICE_META_UPDATE);
}
}
@Override
public boolean isRecording() throws RemoteException {
if (proxy != null){
return proxy.getOutFileName() != null;
}
return false;
}
@Override
public String getCurrentRecordFileName() throws RemoteException {
if (proxy != null){
return proxy.getOutFileName();
}
return null;
}
@Override
public long getTransferedBytes() throws RemoteException {
if (proxy != null) {
return proxy.getTotalBytes();
}
return 0;
}
};

ПРИЛОЖЕНИЕ Б
(Установка таймера)

private void addTimer(int secondsAdd) {
if (timer != null) {
timer.cancel();
timer = null;
}
seconds += secondsAdd;
timer = new CountDownTimer(seconds * 1000, 1000) {
public void onTick(long millisUntilFinished) {
seconds = millisUntilFinished / 1000;
Log.w(TAG,""+seconds);

Intent local = new Intent();
local.setAction(PLAYER_SERVICE_TIMER_UPDATE);
sendBroadcast(local);
}
public void onFinish() {
Stop();
timer = null;
}
}.start();
}

ПРИЛОЖЕНИЕ В
(Реализация добавления в список «История»)

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
ItemAdapterStation arrayAdapter = new ItemAdapterStation(getActivity(), R.layout.list_item_station);

// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_stations, container, false);

lv = (ListView) view.findViewById(R.id.listViewStations);
lv.setAdapter(arrayAdapter);
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView parent, View view, int position, long id) {
Object anObject = parent.getItemAtPosition(position);
if (anObject instanceof DataRadioStation) {
ClickOnItem((DataRadioStation) anObject);
}
}
});
RefreshListGui();
return view;
}

ПРИЛОЖЕНИЕ Г
(Реализация записи)

private void streamFile(String urlStr) throws IOException {
Log.i(TAG,"URL Stream data: "+urlStr);
URL u = new URL(urlStr);
URLConnection connection = u.openConnection();
connection.setConnectTimeout(2000);
connection.setReadTimeout(10000);
connection.connect();
InputStream inContent = connection.getInputStream();
boolean recordActive = false;
if (fileOutputStream != null){
recordActive = true;
}

byte[] bufContent = new byte[1000];
while(!isStopped){
int bytesRead = inContent.read(bufContent);
if (bytesRead < 0){
break;
}
connectionBytesTotal+=bytesRead;
out.write(bufContent,0,bytesRead);
if ((fileOutputStream != null) && recordActive) {
Log.v(TAG, "writing to record file..");
fileOutputStream.write(bufContent, 0, bytesRead);
}
}
}

Цена: 15000 руб

Дипломная работа по предмету "Программирование в компьютерных ситемах"

Заполните форму, чтобы купить данную работу

Вы можете купить готовую студенческую работу . Также Вы можете заказать оригинальную работу "Разработка приложения под Android для прослушивания интернет - радио". Данная работа будет написана только для Вас. При написании работы "Разработка приложения под Android для прослушивания интернет - радио" Мы выполним все указанные Вами пожелания.
Чтобы заказать работу "Разработка приложения под Android для прослушивания интернет - радио", заполните форму заказа. В строке "Комментарий" Вы можете указать свой план работы "Разработка приложения под Android для прослушивания интернет - радио". Если Вы не имеете своего плана работы "Разработка приложения под Android для прослушивания интернет - радио", напишите объем, срок и другие пожелания и требования.


Категория: Каталог готовых студенческих работ / Дипломная работа
Количество просмотров: 615

Остались  вопросы

Ознакомьтесь с основными особенностями нашей деятельности

После заполнения формы Вам на электронную почту придет сообщение с условиями приобретения работы.

Оплатите работу одним из указанных в сообщении способов и проинформируйте нас об этом на email или телефон.

После получения вашего сообщения об оплате, мы вышлем вам на почту ссылку для скачивания работы.

Если вы не получили сообщение, проверьте папку "Спам", а также правильность указания своего email.

Если email был указан вами не правильно, заполните повторно форму заказа работы.

Если у вашего email нестандартное доменное имя, заполните форму, используя другой email.

В любом случае вы можете связаться с нами по одному из контактов и сообщить о возникшей проблеме.

Мы давно осуществляем свою деятельность, наши реквизиты доступны, обман не выгоден нам.

Если мы не сможем выслать вам работу в течение суток, вернем деньги на указанные вами реквизиты.

Вы можете не оплачивать работу, пока не уточните у нас возможность получения ее в срок.

Обязательно убедитесь, что автор работы "admin" (указано в описании работы).

При заполнении формы выберите метод оплаты "Оплатить на сайте с помощью вашей карты (Вебмани, Я.Д.,…)".

Пройдите процедуру оплаты на стороне выбранной платежной системы, следуя инструкциям.

Скачайте файл по ссылке, которая после оплаты придет на ваш электронный адрес.

Перед тем, как выслать вам работу, мы проверяем ее на соответствие указанным на сайте данным

За качество содержания, оригинальность работы мы не отвечаем. Предварительно вы можете запросить выдержки из работы и оценить ее.

Мы отвечаем за качество работ автора "admin". Но это не значит, что они должны соответствовать вашим индивидуальным требованиям.

Ответы Nice-Diplom