
Уведомление
Проект больше не поддерживается.
Проект переписан с использованием JetPack+MVVM. Новый адрес: https://github.com/hegaojian/JetpackMvvm
WanAndroid
Проект-приложение, разработанный практикующим андроид-разработчиком на протяжении двух с половиной лет, используя открытые API сайта WanAndroid. Приложение реализует все основные функции, написано на языке Kotlin и основано на Material Design + AndroidX + MVP + RxJava + Retrofit и других лучших открытых фреймворках. Комментарии к коду подробны, что делает проект удобным для практики.
Если вам понравился проект и он был полезен, пожалуйста, оставьте звездочку, если у вас есть вопросы или предложения, пожалуйста, отправьте issues.# Введение
Недавно я изучал Kotlin, поэтому решил написать проект для практики и повышения уровня навыков. Поскольку я часто посещаю сайт WanAndroid от Хуншина, я решил использовать его API для создания приложения. API сайта очень богаты и функциональны. Несмотря на то, что существует множество приложений, созданных на основе этих API, каждый человек имеет свои предпочтения и вкус, поэтому я решил создать собственное приложение, которое будет соответствовать моим требованиям. Стиль интерфейса был разработан, вдохновленный некоторыми приложениями на рынке.## Реализованные функции
- Главная страница с пятью модулями: Главная / Проекты / Система / Публичные аккаунты / Мой профиль
- Функции входа и регистрации
- Навигация
- Функция поиска с рекомендациями популярных запросов и историей поиска
- Функция очков: топ-лист очков, история получения очков
- Функция закладок: закладки статей и URL
- Функция списка задач: добавление, редактирование и удаление списка задач
- Функция площадки
- Публикация, поиск и удаление статей
- Детали статьи и URL: возможность добавления в закладки, поделиться и открыть в браузере
- Глобальное изменение темы приложения
- Глобальное изменение анимации загрузки списка
- Возможность добавления и удаления закладок в любом месте, что отражается в соответствующих интерфейсах
- Оптимизация разметки с использованием ConstraintLayout
- Интеграция Bugly для сбора ошибок и обновления приложения
- Глобальное отслеживание исключений для предотвращения краха приложения
Скачивание приложения
## Скриншоты приложения## Используемые в проекте открытые библиотеки
- Фреймворк для создания асинхронных, событийных программ на Java VM с использованием наблюдаемых последовательностей - RxJava2
- Фреймворк для внедрения зависимостей - Dagger2
- Фреймворк для обработки сетевых запросов - OkHttp
- Фреймворк для сетевых запросов, основанный на OkHttp - Retrofit
- Официальный фреймворк для преобразования JSON данных - Gson
- Фреймворк для публикации событий в Android - EventBus
- Фреймворк для реализации MVP в проектах - MVPArms
- Фреймворк для адаптации экрана к разным размерам - AndroidAutoSize
- Красивый, гибкий и масштабируемый диалог - Material-dialogs
- Мощная библиотека для управления Fragment - Fragmentation
-
Мощная библиотека для улучшения BottomNavigationView - BottomNavigationViewEx- Мощная, настраиваемая и расширяемая библиотека для ViewPager индикатора - MagicIndicator
- Мощная библиотека для создания слайд-шоу - BGABanner-Android
- Мощная и гибкая библиотека для RecyclerViewAdapter - BaseRecyclerViewAdapterHelper
- Поддержка сторона RecyclerView, перетаскивание элементов, удаление элементов, автоматическая загрузка дополнительных данных, HeaderView, FooterView, группировка элементов - SwipeRecyclerView
- Эффект раскрытия - RevealLayout
- Глаже обработка загрузки, повторной попытки, отсутствия данных - Loadsir
- Мощная библиотека для Android WebView - Agentweb
- Флоат-лайаут для Android - FlowLayout
- Универсальный компонент key-value для мобильных устройств на основе mmap - MMKV
- Глобальная отлавливание исключений для предотвращения краха - CustomActivityOnCrash
Источники материалов
Особое спасибо
v 1.0.9 (2019-12-6)
-
- Добавлены расширительные функции Kotlin, оптимизированы темы для элементов управления, добавлены коды перехвата переходов
-
- Исправлены методы запроса сети, подробнее смотри #11
v 1.0.8 (2019-11-12)
-
- Добавлена проверка Bugly
-
- Мой профиль - "Присоединиться к нам" - изменён номер группы на свой
-
- Удалены данные компиляции signingConfigs из build
v 1.0.7 (2019-10-18)
-
- Добавлены правила начисления очков
-
- Добавлены уведомления при публикации статьи
-
- Исправлен баг с ошибкой при открытии WebView на устройствах с Android 5.1
-
- Исправлен баг с повторным вызовом интерфейса при прокрутке RecyclerView для загрузки дополнительных элементов
-
- Обновлено версия Gradle до 3.5.1, SDK до 29
v 1.0.6 (2019-10-9)
-
- Добавлена функция площадки
-
- Мои статьи - удаление, поиск, добавление
-
- Возможность просмотра информации других пользователей
-
- Обновлен интерфейс личного кабинета
v 1.0.5 (2019-9-28)
- 😍😍😍 Поздравляем с Днём Рождения нашей Родины, добавлены элементы оформления к празднику
v 1.0.4 (2019-9-25)
-
- Исправлен баг в системе разделов - список в разделе площадки не отображает автора
-
- Исправлен баг с отображением веб-тегов в некоторых разделах
-
- Изменено положение разделов в системе разделов, теперь они отображаются слева## v 1.0.3 (2019-9-11)
-
- Исправлен баг с выходом из приложения после входа или регистрации на некоторых устройствах
-
- Временно удалена функция боковой прокрутки, так как появление клавиатуры приводит к черному экрану, функция будет добавлена после решения проблемы
-
- Добавлен глобальный обработчик исключений, чтобы предотвратить падение приложения
-
- Исправлен баг в Bugly
v 1.0.2 (2019-9-6)
-
- Исправлен баг с отсутствием реакции на нажатие кнопки "Назад" в интерфейсе добавления списка задач
v 1.0.1 (2019-9-6)
-
- Исправлен баг с отсутствием реакции на нажатие кнопки "Назад" в интерфейсе открытых проектов
v 1.0.0 (2019-9-5)
- Первый коммит, основные функции реализованы, но есть проблемы, которые будут решены позже
-
- Из-за библиотеки боковой прокрутки, появление клавиатуры приводит к черному экрану, если проблема не решится, будет использована другая библиотека
-
- Kotlin используется не совсем профессионально, есть места для упрощения или замены другими решениями
-
- Экран запуска не имеет фона одного цвета, так как цвет задается динамически в зависимости от выбранной темы пользователя, что приводит к кратковременному белому экрану при холодном запуске
Лицензия
Авторское право 2019, hegaojian (Хе Гаоцзянь)
Используется лицензия Apache, версия 2.0 («Лицензия»);
вы не можете использовать этот файл, кроме как в соответствии с Лицензией.
Вы можете получить копию Лицензии по адресу
```http://www.apache.org/licenses/LICENSE-2.0``` В случае, если это не требуется применимым законом или не было явно
согласовано письменно, программное обеспечение, распространяемое под
данной Лицензией, предоставляется на условиях «КАК ЕСТЬ».
БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ ИЛИ УСЛОВИЙ КАКИХ-ЛИБО ВИДОВ, как явных, так и
подразумеваемых. См. Лицензию для определения языка, регулирующего
права и ограничения, применяемые к Лицензии.
Опубликовать ( 0 )