Потрясающий проект WanAndroid основан на Material Design + MVP + Rxjava2 + Retrofit + Dagger2 + GreenDao + Glide.
Это приложение для изучения технологий, которое заставит вас чувствовать себя очень приятно. Используемая технология в основном охватывает основные технологические платформы, обычно используемые в текущей разработке Android. Содержание для чтения предназначено в основном для друзей, которые хотят стать экспертами в области разработки Android. Кроме того, я работаю над совершенно новым расширенным планом для Android, посвященным тому, чтобы стать лучшим разработчиком Android. Друзья, которые заинтересованы, могут обратиться к нему~.
Android Studio сообщает, что классы, созданные Dagger, отсутствуют. Вы можете скомпилировать проект напрямую, и он будет автоматически создан Dagger2.
В этом проекте все еще есть некоторые недостатки. Если вы обнаружите какие-либо ошибки, пожалуйста, сообщите об этом по электронной почте ([email protected]) или свяжитесь с нами.
Все API в проекте взяты с веб-сайта WanAndroid и предназначены исключительно для совместного обучения и не могут использоваться в коммерческих целях! ! Если у вас есть вопросы или предложения, пишите на [email protected].
Код проекта изо всех сил старается следовать спецификациям разработки Alibaba Java и спецификациям разработки Alibaba Android и имеет хорошие комментарии.
Используйте Rxjava2 в сочетании с Retrofit2 для выполнения сетевых запросов.
Используйте операторы Rxjava2 для преобразования, задержки, фильтрации и других операций в потоке событий. Используйте оператор Compose в сочетании с классом инструментов RxUtils, чтобы упростить количество кодов для вызовов переключения потоков.
Используйте Dagger2 в сочетании с Dagger.Android, чтобы внедрить модель в презентатор, а презентатор в представление без связи, что позволяет более эффективно реализовать шаблон MVP.
BasePresenter используется для интеграции жизненного цикла подписок на потоки событий.
Используйте панель инструментов коллекции Behavior в Material Design, чтобы реализовать адаптивный специальный эффект «вверх и вниз».
Плавающие кнопки, перемещающиеся вверх, используются во многих местах для повышения удобства чтения.
Используйте богатую анимацию обновления SmartRefreshLayout, чтобы поднять красоту проекта на новый уровень.
Tencent Bugly используется для исправления ошибок и CI в проекте.
Во многих местах проекта используется великолепная анимация и спецэффекты.
Модульное тестирование с высоким охватом и некоторое тестирование пользовательского интерфейса.
Пожалуйста, клонируйте этот проект, чтобы просмотреть больше. . .
См. Awesome-Third-Library-Source-Analysis.
1. Глобально замените поле схемы URL-адреса запроса на https.
2. Устраните ошибки в задаче
1. Добавлен новый столбец официальной учетной записи для поддержки поиска в официальной учетной записи.
2. Исправьте ошибки в Bugly
1. Адаптируйтесь к версии Android O.
2. Исправьте ошибки в Bugly
1. Добавлено модульное тестирование слоя Presenter и автоматизированное тестирование пользовательского интерфейса некоторых слоев View.
2. Устраните ошибку, из-за которой статус входа в систему через некоторое время становился недействительным.
3. Провести соответствующий небольшой рефакторинг.
4. Устраните ошибку совместимости Bugly.
1. Добавьте dagger.android
2. Используйте config.gradle для единообразного управления зависимостями Gradle.
3. Инкапсулируйте обработку подписки RxBinding.
4. Добавьте обработку адаптации общего элемента.
5. Используйте Compose, чтобы добавить унифицированную обработку возвращаемых результатов.
6. Добавьте память Glide, bitmapPool, конфигурацию diskCache.
7. Оптимизируйте логику отображения страницы ошибки загрузки.
8. Оптимизируйте интерфейс регистрации.
9. Оптимизируйте эффект погружения в строку состояния.
10.Обновите версию Gradle до 3.0.1.
1. Добавить модуль настроек
2. Отдельные общие интерфейсы сайта.
3. Добавьте несколько ярлыков элемента.
4. Украсьте меню интерфейса деталей.
5. Добавьте анимацию прыжка ActivityOption.
6. Устраните более 90% утечек памяти.
1. Добавьте управление подпиской RxBus, чтобы решить проблему утечки памяти RxBus.
2. Решите проблему, связанную с тем, что Webview иногда не загружается.
3. Добавьте RxPermission для решения проблем с разрешениями Android 6.0.
4. Базовый класс ответа является универсальным, что сокращает объем кода сущности.
5. Добавьте страницу сведений о навигации по классификации знаний.
6. Добавлены и удалены записи поиска на странице поиска, а интерфейс пользовательского интерфейса стал более красивым.
7. Общее улучшение пользовательского интерфейса проекта.
1. Рационализация структуры субподряда проекта.
2. Оптимизировать модуль поиска
3. Добавьте автоматический вход
4. Добавьте интеллектуальную связь TabLayout RecyclerView.
5. Добавьте иммерсивную строку состояния
6. Оптимизируйте стиль меню подробной статьи.
7. Общее улучшение пользовательского интерфейса проекта.
1.Отправьте первую версию Awesome WanAndroid.
WanAndroid API предоставлен Hongyang
GeekNews представляет архитектурные идеи Dagger2 и MVP.
Идеи реализации спецэффектов MD предоставлены Toutiao
Идеи реализации умных скользящих плавающих кнопок, предоставленные diycode
Идеи по реализации специальных эффектов переключения интерфейса поиска, предоставленные Eyepetizer-in-Kotlin
Кроме того, я также упомянул множество проектов выдающихся людей в стране и за рубежом. Спасибо за открытый исходный код!
Petal предоставляет красивый дизайн пользовательского интерфейса, спасибо, Petal.
iconfont Отличный ресурс иконок Alibaba, открытый для внешнего мира
Ркьява
RxAndroid
RxBinding
Модернизация
ОкHttp
Гсон
Скольжение
Кинжал2
МаслоНож
ГринДао
SmartRefreshLayout
Лотти-андроид
В настоящее время индустрия Android постепенно насыщается талантами, но талантливых специалистов по-прежнему мало. Мы часто сталкиваемся с тем, что из 100 резюме есть только 2 или 3 подходящих кандидата, и большинство из них устали от бизнеса. не торопитесь усердно учиться или не знаете, чему научиться, чтобы улучшить свои навыки. Для разработчиков Android очень важно как можно раньше создать полную систему знаний об Android, понять общие моменты тестовых знаний, которые часто встречаются у крупных производителей, и овладеть навыками прохождения собеседований.
В прошлом году, чтобы поступить на завод первого уровня, чтобы заниматься более сложной работой и получать более высокую зарплату, я готовился на полгода вперед и составил набор систематических качественных вопросов для собеседования , которые «наточили мой меч на два года». " .В течение полугода я провожу собеседования непрерывно, и всего я взял интервью После каждого собеседования в двадцати или тридцати компаниях я систематически обобщал соответствующие вопросы собеседования и подробные ответы и обновлял их в своих проектах собеседований. Теперь под каждым модулем я тщательно собрал Часто задаваемые вопросы о сверхвысокой частоте и высокой частоте . . Очки знаний.
За последний год я постепенно оптимизировал исходный контент и добавил много нового во время обзора практических интервью с крупными компаниями. Можно сказать, что это краткое изложение сути собеседований в интернет-компаниях первого уровня. Оно также будет включать информацию о том, как написать резюме и навыки прохождения собеседования. Это может помочь вам сэкономить время и силы при подготовке к собеседованию, причем в значительной степени. уменьшить сложность поиска хорошей работы.
Этот проект интервью отличается от проекта интервью Awesome-Android-Interview на моем Github: https://github.com/JsonChao/Awesome-Android-Interview. Awesome-Android-Interview был прекращен 2 года назад (обновление за октябрь 2020 г.). содержание несколько устарело, в нем много моментов, не выраженных строго, а общее содержание золота низкое. Банк вопросов для интервью, которым я хочу поделиться сегодня, представляет собой систематизированный и качественный вопрос для интервью, который я постоянно обобщал, уточнял и накапливал в течение последних двух лет. Многие основные вопросы в нем неоднократно корректировались и корректировались под давлением. Сублимация, чрезвычайно высокое содержание золота.
Прежде чем поделиться, следует отметить одну вещь: вы не должны разглашать информацию! Если хорошенько подумать, то поймешь:
1. Если вы разоблачены и люди, которые это получают, схватят это быстрее вас, раньше пойдут на большую фабрику и получат высокую зарплату, ваши шансы попасть на большую фабрику уменьшатся. Ведь добра не так много. компаний сейчас, и каждая морковка — это ловушка.
2. Простая версия банка вопросов для интервью Awesome-Android-Interview, которой я публично поделился два года назад, до сих пор используется в качестве дренажного материала в различных учебных заведениях, что усилило текущую инволюцию Android. .
Итак, это необходимо помнить.
Как получить: отсканируйте QR-код ниже.
Это предложение, которое я исследовал последние семь лет. Прежде всего, я проводил исследование для себя, потому что я родом из небольшого городка и закрепился в Шэньчжэне посредством непрерывных контратак. Чем более обычный человек, тем больше терпения ему нужно для систематических и всесторонних улучшений. В этом плане у меня очень богатый практический опыт и методология . Поэтому я основал сообщество роста «JsonChao», надеясь вместе с вами завершить систематическую трансформацию.
Был открыт мой публичный аккаунт JsonChao
, посвященный созданию системы знаний, необходимой для будущей разработки Android. Мы будем предлагать вам качественные статьи каждый рабочий день, чтобы вы могли каждый день расширять свои знания. Если вы хотите получать последние статьи и обновления как можно скорее, сканируйте и подписывайтесь~
Авторские права JsonChao, 2018 г.
Лицензия Apache версии 2.0 («Лицензия»); вы не можете использовать этот файл, кроме как в соответствии с Лицензией. Вы можете получить копию Лицензии по адресу.
http://www.apache.org/licenses/LICENSE-2.0
Если это не требуется действующим законодательством или не согласовано в письменной форме, программное обеспечение, распространяемое по Лицензии, распространяется на условиях «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ ИЛИ УСЛОВИЙ, явных или подразумеваемых. См. в Лицензии конкретные формулировки, регулирующие разрешения и ограничения. по Лицензии.