Le projet WanAndroid génial est basé sur Material Design + MVP + Rxjava2 + Retrofit + Dagger2 + GreenDao + Glide
Il s'agit d'une application d'apprentissage technologique qui vous fera vous sentir très bien. La technologie utilisée couvre essentiellement les cadres technologiques courants couramment utilisés dans le développement Android actuel. Le contenu de lecture est principalement destiné aux amis qui souhaitent devenir des experts dans le domaine du développement Android. De plus, je travaille sur un tout nouveau plan Android avancé, dédié à devenir un meilleur développeur Android. Les amis intéressés peuvent s'y référer ~.
Android Studio indique que les classes générées par Dagger sont manquantes. Vous pouvez compiler le projet directement et il sera automatiquement généré par Dagger2.
Il y a encore quelques imperfections dans ce projet. Si vous trouvez des bugs, n'hésitez pas à les envoyer par e-mail ([email protected]) ou par PR.
Les API du projet proviennent toutes du site Web WanAndroid. Elles sont uniquement destinées à l'apprentissage partagé et ne peuvent pas être utilisées à des fins commerciales ! ! Si vous avez des questions ou des suggestions, veuillez contacter [email protected]
Le code du projet fait de son mieux pour suivre les spécifications de développement Alibaba Java et les spécifications de développement Alibaba Android, et contient de bons commentaires.
Utilisez Rxjava2 combiné avec Retrofit2 pour effectuer des requêtes réseau.
Utilisez les opérateurs Rxjava2 pour convertir, retarder, filtrer et d'autres opérations sur le flux d'événements. Utilisez l'opérateur Compose en combinaison avec la classe d'outils RxUtils pour simplifier le nombre de codes pour les appels de changement de thread.
Utilisez Dagger2 combiné avec Dagger.Android pour injecter le modèle dans le présentateur et le présentateur dans la vue sans couplage, réalisant ainsi plus efficacement le modèle MVP.
BasePresenter est utilisé pour intégrer le cycle de vie des abonnements aux flux d'événements.
Utilisez la barre d’outils de la collection Behaviour dans Material Design pour implémenter l’effet spécial réactif « haut et bas ».
Des boutons flottants qui glissent vers le haut sont utilisés à de nombreux endroits pour améliorer le confort de lecture.
Utilisez la riche animation de rafraîchissement de SmartRefreshLayout pour élever la beauté du projet à un nouveau niveau.
Tencent Bugly est utilisé pour corriger les bugs et les CI sur le projet.
Des animations éblouissantes et des effets spéciaux sont utilisés à de nombreux endroits du projet.
Tests unitaires à haute couverture et certains tests d'interface utilisateur.
Veuillez cloner ce projet pour en voir plus. . .
Voir Awesome-Third-Library-Source-Analysis
1. Remplacez globalement le champ schéma de l'URL de la requête par https
2. Résolvez les bugs du problème
1. Ajout d'une nouvelle colonne de compte officiel pour prendre en charge la recherche dans le compte officiel
2. Résolvez les bugs sur Bugly
1. Adaptez-vous à la version Android O
2. Résolvez les bugs sur Bugly
1. Ajout de tests unitaires de la couche Presenter et de tests automatisés de l'interface utilisateur de certaines couches View
2. Résolvez le bug selon lequel le statut de connexion deviendra invalide après un certain temps
3. Effectuer une refactorisation appropriée à petite échelle
4. Résolvez le bug de compatibilité de Bugly
1. Ajouter dagger.android
2. Utilisez config.gradle pour gérer uniformément les dépendances de Gradle
3. Encapsuler le traitement des abonnements RxBinding
4. Ajouter un traitement d'adaptation d'éléments partagés
5. Utilisez Compose pour ajouter un traitement unifié des résultats de retour
6. Ajouter de la mémoire Glide, bitmapPool, configuration diskCache
7. Optimiser la logique d'affichage de la page d'erreur de chargement
8. Optimiser l'interface d'inscription
9. Optimiser l'effet d'affichage immersif de la barre d'état
10.Mettre à jour la version Gradle vers 3.0.1
1. Ajouter un module de configuration
2. Séparez les interfaces de sites Web communes
3. Ajouter plusieurs étiquettes d'articles
4. Embellissez le menu de l'interface de détails
5. Ajouter une animation de saut ActivityOption
6. Résolvez plus de 90 % des fuites de mémoire
1. Ajoutez la gestion des abonnements RxBus pour résoudre le problème de fuite de mémoire RxBus
2. Résolvez le problème selon lequel Webview ne peut parfois pas être chargé.
3. Ajoutez RxPermission pour gérer les problèmes d'autorisation d'Android 6.0
4. La classe de base de réponse de base est générique, réduisant une grande quantité de code d'entité
5. Ajouter une page de détails de navigation sur la classification des connaissances
6. Enregistrements de recherche ajoutés et supprimés sur la page de recherche, et l'interface utilisateur est plus belle.
7. Embellissement global de l'interface utilisateur du projet
1. Rationaliser la structure de sous-traitance du projet
2. Optimiser le module de recherche
3. Ajouter une connexion automatique
4. Ajouter la liaison intelligente TabLayout RecyclerView
5. Ajouter une barre d'état immersive
6. Optimiser le style du menu de l'article détaillé
7. Embellissement global de l'interface utilisateur du projet
1.Soumettez la première version de Awesome WanAndroid
API WanAndroid fournie par Hongyang
GeekNews fournit les idées architecturales de Dagger2 et MVP
Idées d'implémentation d'effets spéciaux MD fournies par Toutiao
Idées d'implémentation de boutons flottants coulissants intelligents fournies par diycode
Idées pour implémenter des effets spéciaux de changement d'interface de recherche fournies par Eyepetizer-in-Kotlin
De plus, j'ai également évoqué de nombreux projets de personnes exceptionnelles au pays et à l'étranger. Merci pour l'open source !
Petal fournit une belle conception d'interface utilisateur, merci Petal
iconfont La grande ressource d'icônes d'Alibaba ouverte sur le monde extérieur
Rxjava
RxAndroid
RxBinding
Rénovation
OkHttp
Gson
Glisser
Dague2
Couteau à beurre
GreenDao
Mise en page SmartRefresh
Lottie-androïde
De nos jours, l'industrie Android est progressivement saturée de talents, mais les talents seniors sont encore rares. Ce que nous rencontrons souvent, c'est qu'il n'y a que 2 ou 3 candidats appropriés sur 100 CV, et la plupart d'entre eux sont fatigués des affaires. prendre le temps d'étudier dur, ou ne savait pas quoi apprendre pour améliorer ses compétences. Pour les développeurs Android, il est très important d'établir le plus tôt possible un cadre complet de connaissances Android, de comprendre les points de connaissances de test courants qui apparaissent fréquemment chez les grands fabricants et de maîtriser les compétences d'entretien.
L'année dernière, afin d'entrer dans une usine de premier rang pour faire des choses plus difficiles et obtenir un salaire plus élevé, je me suis préparé six mois à l'avance et j'ai compilé une série de questions d'entretien systématiques et de haute qualité qui « ont aiguisé mon épée pendant deux ». ans" . Depuis six mois, je mène des entretiens en continu, et j'ai interviewé au total Après chaque entretien dans vingt ou trente entreprises, j'ai systématiquement résumé les questions d'entretien correspondantes et les réponses détaillées, et je les ai mises à jour dans mes projets d'entretien. Désormais, sous chaque module, j'ai soigneusement compilé les questions fréquemment posées sur l'ultra-haute et la haute fréquence. . Points de connaissance.
Au cours de la dernière année, j'ai progressivement optimisé le contenu original et ajouté de nombreux nouveaux contenus lors de ma révision d'entretiens pratiques avec de grandes entreprises. On peut dire qu'il s'agit d'un résumé de l'essence des entretiens dans les sociétés Internet de premier plan. En même temps, il comprendra également du contenu sur la façon de rédiger un CV et les techniques d'entretien. Cela peut vous aider à économiser du temps et des efforts dans la préparation. pour les entretiens et réduisent considérablement la difficulté de trouver un bon emploi.
Ce projet d'interview est différent du projet d'interview Awesome-Android-Interview sur mon Github : https://github.com/JsonChao/Awesome-Android-Interview a été interrompu il y a 2 ans (dans la mise à jour d'octobre 2020). , le contenu est légèrement obsolète, il contient de nombreux points qui ne sont pas rigoureusement exprimés et la teneur globale en or est faible. La banque de questions d'entretien que je souhaite partager aujourd'hui est une question d'entretien systématique et de haute qualité que j'ai continuellement résumée, affinée et accumulée au cours des deux dernières années. La plupart des questions principales qu'elle contient ont été corrigées et corrigées à plusieurs reprises sous la pression. d'entretiens. Sublimation, teneur en or extrêmement élevée.
Avant de partager, une chose à noter est que vous ne devez pas divulguer l’information ! Si vous y réfléchissez bien, vous comprendrez :
1. Si vous êtes exposé et que les gens qui l'attrapent le comprennent plus vite que vous, entrent dans une grande usine plus tôt et obtiennent un salaire élevé, vos chances d'entrer dans une grande usine deviendront plus petites. Après tout, il n'y a qu'un nombre limité de bonnes entreprises. maintenant, et chaque carotte est un piège.
2. La version simple de la banque de questions d'entretien Awesome-Android-Interview que j'ai partagée publiquement il y a deux ans est toujours utilisée comme matériel de drainage par divers établissements de formation, ce qui a accru l'involution actuelle d'Android. .
Il faut donc se souvenir de cela.
Comment l'obtenir : Scannez le code QR ci-dessous.
C’est une proposition que je recherche depuis sept ans. Tout d’abord, je faisais des recherches pour moi-même, car je venais d’une petite ville et je me suis établi à Shenzhen grâce à des contre-attaques continues. Plus une personne est ordinaire, plus elle a besoin de patience pour apporter des améliorations systématiques et globales. À cet égard, j'ai une expérience pratique et une méthodologie très riches . Par conséquent, j'ai lancé la communauté de croissance "JsonChao", dans l'espoir de réaliser une transformation systématique avec vous.
Mon compte public JsonChao
a été ouvert, se concentrant sur la création d'un système de connaissances nécessaire au futur développement d'Android. Nous vous proposerons chaque jour des articles de haute qualité afin que vous puissiez accroître vos connaissances chaque jour. Si vous souhaitez recevoir les derniers articles et mises à jour dès que possible, veuillez scanner et suivre ~
Copyright 2018 JsonChao
Sous licence Apache, version 2.0 (la « Licence ») ; vous ne pouvez pas utiliser ce fichier sauf en conformité avec la licence. Vous pouvez obtenir une copie de la licence à l'adresse.
http://www.apache.org/licenses/LICENSE-2.0
Sauf disposition contraire de la loi applicable ou accord écrit, le logiciel distribué sous la licence est distribué « TEL QUEL », SANS GARANTIE OU CONDITION D'AUCUNE SORTE, expresse ou implicite. Voir la licence pour connaître la langue spécifique régissant les autorisations et limitations. sous la Licence.