Помощь студентам в учебе
РАЗРАБОТКА ANDROID-ПРИЛОЖЕНИЯ UniSocFeed
|
ГЛОССАРИЙ 4
ВВЕДЕНИЕ 6
1 Анализ и фиксация требований 7
1.1 Анализ существующих решений 7
1.2 Функциональные требования 10
1.3 Нефункциональные требования 10
1.4 Анализ требований 11
2 Проектирование 14
2.1 Технологии разработки 14
2.2 Проектирование внутренней структуры приложения 15
2.2.1 Слой представления 16
2.2.2 Слой модели представления 18
2.2.3 Слой модели 20
2.2.4 Общий подход для слоёв системы 21
2.3 Проектирование пользовательского интерфейса 22
2.4 Проектирование механизма отображения новостной ленты 22
3 Реализация 25
3.1 Вспомогательные инструменты системы 25
3.2 Авторизация в социальных сетях 25
3.3 Социальная сеть «ВКонтакте» 30
3.3.1 Взаимосвязь с API 30
3.3.2 Реализация UI компонентов новостной ленты 36
3.4 Социальная сеть «Одноклассники» 41
3.4.1 Взаимосвязь с API 41
3.4.2 Реализация UI компонентов новостной ленты 44
3.5 Социальная сеть «Facebook» 48
3.5.1 Взаимосвязь с API 48
3.5.2 Реализация UI компонентов новостной ленты 52
ЗАКЛЮЧЕНИЕ 55
ЛИТЕРАТУРА 56
ВВЕДЕНИЕ 6
1 Анализ и фиксация требований 7
1.1 Анализ существующих решений 7
1.2 Функциональные требования 10
1.3 Нефункциональные требования 10
1.4 Анализ требований 11
2 Проектирование 14
2.1 Технологии разработки 14
2.2 Проектирование внутренней структуры приложения 15
2.2.1 Слой представления 16
2.2.2 Слой модели представления 18
2.2.3 Слой модели 20
2.2.4 Общий подход для слоёв системы 21
2.3 Проектирование пользовательского интерфейса 22
2.4 Проектирование механизма отображения новостной ленты 22
3 Реализация 25
3.1 Вспомогательные инструменты системы 25
3.2 Авторизация в социальных сетях 25
3.3 Социальная сеть «ВКонтакте» 30
3.3.1 Взаимосвязь с API 30
3.3.2 Реализация UI компонентов новостной ленты 36
3.4 Социальная сеть «Одноклассники» 41
3.4.1 Взаимосвязь с API 41
3.4.2 Реализация UI компонентов новостной ленты 44
3.5 Социальная сеть «Facebook» 48
3.5.1 Взаимосвязь с API 48
3.5.2 Реализация UI компонентов новостной ленты 52
ЗАКЛЮЧЕНИЕ 55
ЛИТЕРАТУРА 56
Android-разработка на сегодня - одна из самых быстроразвивающихся и прибыльных направлений в мире. Доля рынка устройств под управлением данной операционной системы является самой большой уже несколько лет подряд. По последним данным это около 86% [12].
На сегодняшний день сложно представить человека, у которого не было бы смартфона. И который не был бы зарегистрирован ни в одной из социальных сетей. Для просмотра новостной ленты какой-либо социальной сети уходит слишком много времени. Чтобы хоть как-то сэкономить время на просмотре новостной ленты нескольких социальных сетей, нужно агрегировать новости из разных социальных сетей в одну новостную ленту в рамках одного приложения.
Основная целевая аудитория этого направления:
• Современные и активные пользователи социальных сетей.
• Пользователи, у которых нет возможности установить сразу несколько нужных ему приложений социальных сетей из-за ограниченных характеристик используемых ими устройств.
Решения этой задачи есть, но все они являются поверхностными и об их удобстве и не может идти и речи. Также не все эти решения удовлетворяют потребности пользователя.
Данная работа в первую очередь нацелена как раз на разработку такого приложения, которое позволит пользователю, авторизовавшись сразу в нескольких социальных сетях, иметь доступ к единой новостной ленте.
Задачи в рамках поставленной цели следующие:
• Проанализировать аналоги, сформулировать и зафиксировать требования.
• Спроектировать приложение.
• Реализовать приложение.
На сегодняшний день сложно представить человека, у которого не было бы смартфона. И который не был бы зарегистрирован ни в одной из социальных сетей. Для просмотра новостной ленты какой-либо социальной сети уходит слишком много времени. Чтобы хоть как-то сэкономить время на просмотре новостной ленты нескольких социальных сетей, нужно агрегировать новости из разных социальных сетей в одну новостную ленту в рамках одного приложения.
Основная целевая аудитория этого направления:
• Современные и активные пользователи социальных сетей.
• Пользователи, у которых нет возможности установить сразу несколько нужных ему приложений социальных сетей из-за ограниченных характеристик используемых ими устройств.
Решения этой задачи есть, но все они являются поверхностными и об их удобстве и не может идти и речи. Также не все эти решения удовлетворяют потребности пользователя.
Данная работа в первую очередь нацелена как раз на разработку такого приложения, которое позволит пользователю, авторизовавшись сразу в нескольких социальных сетях, иметь доступ к единой новостной ленте.
Задачи в рамках поставленной цели следующие:
• Проанализировать аналоги, сформулировать и зафиксировать требования.
• Спроектировать приложение.
• Реализовать приложение.
Возникли сложности?
Нужна помощь преподавателя?
Помощь в написании работ!
Все задачи, поставленные в рамках данной работы, были решены в полном объеме, а именно:
• Проанализированы аналоги, сформулированы и зафиксированы требования к приложению.
• Спроектирована внутренняя архитектура и пользовательский интерфейс приложения.
• Реализовано приложение «UniSocFeed».
Следовательно, цель работы - разработать Android приложение «UniSocFeed» достигнута.
Во время написания данной работы пришлось столкнутся с некоторыми проблемами и ограничениями со стороны социальных сетей, таких как:
• Различные лицензионные соглашения, которые существенно урезали возможности реализации функциональных требований.
• Процесс прохождения подтверждения аккаунта разработчика мобильных приложений для доступа к определенным методам API.
Однако все проблемы были успешно решены либо предложены достаточно удобные для пользователя способы их преодоления.
Приложение будет полезно для людей, которые хотят сократить своё время провождения в социальных сетях.
• Проанализированы аналоги, сформулированы и зафиксированы требования к приложению.
• Спроектирована внутренняя архитектура и пользовательский интерфейс приложения.
• Реализовано приложение «UniSocFeed».
Следовательно, цель работы - разработать Android приложение «UniSocFeed» достигнута.
Во время написания данной работы пришлось столкнутся с некоторыми проблемами и ограничениями со стороны социальных сетей, таких как:
• Различные лицензионные соглашения, которые существенно урезали возможности реализации функциональных требований.
• Процесс прохождения подтверждения аккаунта разработчика мобильных приложений для доступа к определенным методам API.
Однако все проблемы были успешно решены либо предложены достаточно удобные для пользователя способы их преодоления.
Приложение будет полезно для людей, которые хотят сократить своё время провождения в социальных сетях.
1. Что такое веб страница [Электронный ресурс] // SEMANTICA - Электрон. дан. - [Б. м., б. г.] - URL: https://semantica.in/blog/chto-takoe-veb-stranicza.html(дата обращения: 17.04.2019).
2. OAuth 2.0 простым и понятным языком [Электронный ресурс] // habr - Электрон. дан. - [Б. м.], 2011 - URL: https://habr.com/ru/company/mailru/blog/115163/(дата обращения: 02.10.2018).
3. Фреймворк [Электронный ресурс] // Википедия: свободная энциклопедия - Электрон. дан. - [Б. м.], 2019 - URL: https://ru.wikipedia.org/wiki/Фреймворк (дата обращения: 17.04.2019).
4. Межпроцессное взаимодействие [Электронный ресурс] // Википедия: свободная энциклопедия - Электрон. дан. - [Б. м.], 2017 - URL: 11ирз://1Т1.1к1ресйа.огд/зк1/Меж11роцессориое взаимодействие (дата обращения: 14.10.2019).
5. ImageView [Электронный ресурс] // Освой Android играючи: сайт Александра Климова - Электрон. дан. - [Б. м.], 2000 - URL: http://developer.alexanderklimov.ru/android/views/imageview.php(дата обращения: 19.01.2019).
6. SOLID (объектно-ориентированное программирование) [Электронный ресурс] // Википедия: свободная энциклопедия - Электрон. дан. - [Б. м.], 2019 - URL: https://ru.wikipedia.org/wiki/SOLID_(объектно- ориентированное_программирование) (дата обращения: 17.04.2019).
7. SOLID — принципы объекто-ориентированного программирования [Электронный ресурс] // Web creator - Электрон. дан. - [Москва, б. г.] - URL: https://web- creator.ru/articles/solid(дата обращения: 17.04.2019).
8. Репост [Электронный ресурс] // Neumeka - Электрон. дан. - [Б. м., б. г.] - URL: http://www.neumeka.ru/repost.html(дата обращения: 17.04.2019).
9. Аватар (картинка) [Электронный ресурс] // Википедия: свободная энциклопедия - Электрон. дан. - [Б. м.], 2019 - URL: https://ru.wikipedia.org/wiki/Аватар_(картинка) (дата обращения: 17.04.2019).
10. Изучение Facebook Graph API [Электронный ресурс] // o7planning - Электрон. дан.
- [Б. м., б. г.]- URL: https://o7planning.org/ru/10189/exploring-facebook-graph-api(дата обращения: 04.02.2019).
11. URI [Электронный ресурс] // Википедия: свободная энциклопедия - Электрон. дан.
- [Б. м.], 2019 - URL: https://ru.wikipedia.org/wiki/URI(дата обращения: 06.05.2019).
12. Доля ОС Android на мировом рынке смартфонов слегка снизилась [Электронный ресурс] // DailyComm: Коммуникации в ИТ-бизнесе - Электрон. дан. - [Б. м., б. г.]
- URL: http://www.dailycomm.ru/m/43799/(дата обращения: 16.03.2019).
13. Android Studio [Электронный ресурс] // Википедия: свободная энциклопедия - Электрон. дан. - [Б. м.], 2019 - URL: https://ru.wikipedia.org/wiki/Android_Studio(дата обращения: 17.04.2019).
14. Dagger 2 [Электронный ресурс] // Why GitHub? - Электрон. дан. - [Б. м., б. г.] - URL: https://github.com/google/dagger(дата обращения: 17.04.2019).
15. Android Architecture Components [Электронный ресурс] // Developers - Электрон. дан. - [Б. м., б. г.] - URL: https://developer.android.com/topic/libraries/architecture(дата обращения: 17.04.2019).
16. RxJava: Reactive Extensions for the JVM [Электронный ресурс] // Why GitHub? - Электрон. дан. - [Б. м., б. г.] - URL: https://github.com/ReactiveX/RxJava(дата обращения: 17.04.2019).
17. Glide [Электронный ресурс] // Why GitHub? - Электрон. дан. - [Б. м., б. г.] - URL: https://github.com/bumptech/glide(дата обращения: 17.04.2019).
18. Binary Preferences [Электронный ресурс] // Why GitHub? - Электрон. дан. - [Б. м., б. г.] - URL: https://github.com/yandextaxitech/binaryprefs(дата обращения: 17.04.2019).
19. PhotoView [Электронный ресурс] // Why GitHub? - Электрон. дан. - [Б. м., б. г.] - URL: https://github.com/chrisbanes/PhotoView(дата обращения: 17.04.2019).
20. Android SDK [Электронный ресурс] // Developers - Электрон. дан. - [Б. м., б. г.] - URL: https://vk.com/dev/android_sdk(дата обращения: 17.04.2019).
21. Facebook SDK for Android [Электронный ресурс] // facebook for developers - Электрон. дан. - [Б. м., б. г.] - URL: https://developers.facebook.com/docs/android/(дата обращения: 17.04.2019).
22. Android SDK [Электронный ресурс] // OK - Электрон. дан. - [Б. м., б. г.] - URL: https://apiok.ru/dev/sdk/android(дата обращения: 17.04.2019).
23. Kotlin [Электронный ресурс] // Википедия: свободная энциклопедия - Электрон. дан. - [Б. м.], 2019 - URL: https://ru.wikipedia.org/wiki/Kotlin(дата обращения: 17.04.2019).
24. ViewModel Overview [Электронный ресурс] // Developers - Электрон. дан. - [Б. м., б. г.] - URL: https://developer.android.com/topic/libraries/architecture/viewmodel(дата обращения: 19.04.2019).
25. FragmentManager [Электронный ресурс] // Developers - Электрон. дан. - [Б. м., б. г.]
- URL: https://developer.android.com/reference/android/support/v4/app/FragmentManager(дата обращения: 19.04.2019).
26. Android [Электронный ресурс] // MATERIAL DESIGN - Электрон. дан. - [Б. м., б. г.] - URL: https://material.io/develop/android/(дата обращения: 19.04.2019).
27. RecyclerView [Электронный ресурс] // Developers - Электрон. дан. - [Б. м., б. г.] - URL: https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerVi ew (дата обращения: 19.04.2019).
28. Roadmap: Отключение публичного API для аудио [Электронный ресурс] // VkDevelopers - Электрон. дан. - [Б. м., б. г.] - URL: https://vk.com/dev/audio_api(дата обращения: 09.11.2018).
29. Лицензионное соглашение [Электронный ресурс] // Одноклассники - Электрон. дан. - [Б. м.], 2018 - URL: https://ok.ru/regulations(дата обращения: 06.05.2019).
30. Overview [Электронный ресурс] // Google Maps Platform - Электрон. дан. - [Б. м.], 2018 - URL: https://developers.google.com/maps/documentation/android-sdk/intro(дата обращения: 07.05.2019).
31. Graph API Reference /{user-id}/home [Электронный ресурс] // facebook for developers
- Электрон. дан. - [Б. м.], 2015 - https://developers.facebook.com/docs/graph- api/reference/v3.3/user/home(дата обращения: 07.05.2019).
32. Rate Limiting on the Graph API [Электронный ресурс] // facebook for developers - Электрон. дан. - [Б. м.], 2019 - https://developers.facebook.com/docs/graph- api/overview/rate-limiting/(дата обращения: 07.05.2019).
2. OAuth 2.0 простым и понятным языком [Электронный ресурс] // habr - Электрон. дан. - [Б. м.], 2011 - URL: https://habr.com/ru/company/mailru/blog/115163/(дата обращения: 02.10.2018).
3. Фреймворк [Электронный ресурс] // Википедия: свободная энциклопедия - Электрон. дан. - [Б. м.], 2019 - URL: https://ru.wikipedia.org/wiki/Фреймворк (дата обращения: 17.04.2019).
4. Межпроцессное взаимодействие [Электронный ресурс] // Википедия: свободная энциклопедия - Электрон. дан. - [Б. м.], 2017 - URL: 11ирз://1Т1.1к1ресйа.огд/зк1/Меж11роцессориое взаимодействие (дата обращения: 14.10.2019).
5. ImageView [Электронный ресурс] // Освой Android играючи: сайт Александра Климова - Электрон. дан. - [Б. м.], 2000 - URL: http://developer.alexanderklimov.ru/android/views/imageview.php(дата обращения: 19.01.2019).
6. SOLID (объектно-ориентированное программирование) [Электронный ресурс] // Википедия: свободная энциклопедия - Электрон. дан. - [Б. м.], 2019 - URL: https://ru.wikipedia.org/wiki/SOLID_(объектно- ориентированное_программирование) (дата обращения: 17.04.2019).
7. SOLID — принципы объекто-ориентированного программирования [Электронный ресурс] // Web creator - Электрон. дан. - [Москва, б. г.] - URL: https://web- creator.ru/articles/solid(дата обращения: 17.04.2019).
8. Репост [Электронный ресурс] // Neumeka - Электрон. дан. - [Б. м., б. г.] - URL: http://www.neumeka.ru/repost.html(дата обращения: 17.04.2019).
9. Аватар (картинка) [Электронный ресурс] // Википедия: свободная энциклопедия - Электрон. дан. - [Б. м.], 2019 - URL: https://ru.wikipedia.org/wiki/Аватар_(картинка) (дата обращения: 17.04.2019).
10. Изучение Facebook Graph API [Электронный ресурс] // o7planning - Электрон. дан.
- [Б. м., б. г.]- URL: https://o7planning.org/ru/10189/exploring-facebook-graph-api(дата обращения: 04.02.2019).
11. URI [Электронный ресурс] // Википедия: свободная энциклопедия - Электрон. дан.
- [Б. м.], 2019 - URL: https://ru.wikipedia.org/wiki/URI(дата обращения: 06.05.2019).
12. Доля ОС Android на мировом рынке смартфонов слегка снизилась [Электронный ресурс] // DailyComm: Коммуникации в ИТ-бизнесе - Электрон. дан. - [Б. м., б. г.]
- URL: http://www.dailycomm.ru/m/43799/(дата обращения: 16.03.2019).
13. Android Studio [Электронный ресурс] // Википедия: свободная энциклопедия - Электрон. дан. - [Б. м.], 2019 - URL: https://ru.wikipedia.org/wiki/Android_Studio(дата обращения: 17.04.2019).
14. Dagger 2 [Электронный ресурс] // Why GitHub? - Электрон. дан. - [Б. м., б. г.] - URL: https://github.com/google/dagger(дата обращения: 17.04.2019).
15. Android Architecture Components [Электронный ресурс] // Developers - Электрон. дан. - [Б. м., б. г.] - URL: https://developer.android.com/topic/libraries/architecture(дата обращения: 17.04.2019).
16. RxJava: Reactive Extensions for the JVM [Электронный ресурс] // Why GitHub? - Электрон. дан. - [Б. м., б. г.] - URL: https://github.com/ReactiveX/RxJava(дата обращения: 17.04.2019).
17. Glide [Электронный ресурс] // Why GitHub? - Электрон. дан. - [Б. м., б. г.] - URL: https://github.com/bumptech/glide(дата обращения: 17.04.2019).
18. Binary Preferences [Электронный ресурс] // Why GitHub? - Электрон. дан. - [Б. м., б. г.] - URL: https://github.com/yandextaxitech/binaryprefs(дата обращения: 17.04.2019).
19. PhotoView [Электронный ресурс] // Why GitHub? - Электрон. дан. - [Б. м., б. г.] - URL: https://github.com/chrisbanes/PhotoView(дата обращения: 17.04.2019).
20. Android SDK [Электронный ресурс] // Developers - Электрон. дан. - [Б. м., б. г.] - URL: https://vk.com/dev/android_sdk(дата обращения: 17.04.2019).
21. Facebook SDK for Android [Электронный ресурс] // facebook for developers - Электрон. дан. - [Б. м., б. г.] - URL: https://developers.facebook.com/docs/android/(дата обращения: 17.04.2019).
22. Android SDK [Электронный ресурс] // OK - Электрон. дан. - [Б. м., б. г.] - URL: https://apiok.ru/dev/sdk/android(дата обращения: 17.04.2019).
23. Kotlin [Электронный ресурс] // Википедия: свободная энциклопедия - Электрон. дан. - [Б. м.], 2019 - URL: https://ru.wikipedia.org/wiki/Kotlin(дата обращения: 17.04.2019).
24. ViewModel Overview [Электронный ресурс] // Developers - Электрон. дан. - [Б. м., б. г.] - URL: https://developer.android.com/topic/libraries/architecture/viewmodel(дата обращения: 19.04.2019).
25. FragmentManager [Электронный ресурс] // Developers - Электрон. дан. - [Б. м., б. г.]
- URL: https://developer.android.com/reference/android/support/v4/app/FragmentManager(дата обращения: 19.04.2019).
26. Android [Электронный ресурс] // MATERIAL DESIGN - Электрон. дан. - [Б. м., б. г.] - URL: https://material.io/develop/android/(дата обращения: 19.04.2019).
27. RecyclerView [Электронный ресурс] // Developers - Электрон. дан. - [Б. м., б. г.] - URL: https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerVi ew (дата обращения: 19.04.2019).
28. Roadmap: Отключение публичного API для аудио [Электронный ресурс] // VkDevelopers - Электрон. дан. - [Б. м., б. г.] - URL: https://vk.com/dev/audio_api(дата обращения: 09.11.2018).
29. Лицензионное соглашение [Электронный ресурс] // Одноклассники - Электрон. дан. - [Б. м.], 2018 - URL: https://ok.ru/regulations(дата обращения: 06.05.2019).
30. Overview [Электронный ресурс] // Google Maps Platform - Электрон. дан. - [Б. м.], 2018 - URL: https://developers.google.com/maps/documentation/android-sdk/intro(дата обращения: 07.05.2019).
31. Graph API Reference /{user-id}/home [Электронный ресурс] // facebook for developers
- Электрон. дан. - [Б. м.], 2015 - https://developers.facebook.com/docs/graph- api/reference/v3.3/user/home(дата обращения: 07.05.2019).
32. Rate Limiting on the Graph API [Электронный ресурс] // facebook for developers - Электрон. дан. - [Б. м.], 2019 - https://developers.facebook.com/docs/graph- api/overview/rate-limiting/(дата обращения: 07.05.2019).
Работу высылаем на протяжении 30 минут после оплаты.