يعتمد مشروع WanAndroid الرائع على تصميم المواد + MVP + Rxjava2 + Retrofit + Dagger2 + GreenDao + Glide
هذا تطبيق لتعلم التكنولوجيا سيجعلك تشعر بالرضا الشديد. تغطي التكنولوجيا المستخدمة بشكل أساسي أطر التكنولوجيا السائدة المستخدمة بشكل شائع في تطوير Android الحالي. محتوى القراءة مخصص بشكل أساسي للأصدقاء الذين يريدون أن يصبحوا خبراء في مجال تطوير Android. بالإضافة إلى ذلك، أنا أعمل على خطة متقدمة جديدة تمامًا لنظام Android، مخصصة لكي أصبح مطور Android أفضل، ويمكن للأصدقاء المهتمين الرجوع إليها~
يطالبك Android Studio بأن الفئات التي تم إنشاؤها بواسطة Dagger مفقودة. يمكنك تجميع المشروع مباشرة وسيتم إنشاؤه تلقائيًا بواسطة Dagger2.
لا تزال هناك بعض العيوب في هذا المشروع، إذا وجدت أي أخطاء، فلا تتردد في الإصدار أو إرسال بريد إلكتروني ([email protected]) أو العلاقات العامة.
واجهات برمجة التطبيقات في المشروع كلها من موقع WanAndroid وهي مخصصة للتعلم المشترك فقط ولا يجوز استخدامها لأغراض تجارية. ! إذا كان لديك أي أسئلة أو اقتراحات، يرجى الاتصال بـ [email protected]
يبذل رمز المشروع قصارى جهده لمتابعة مواصفات تطوير Alibaba Java ومواصفات تطوير Alibaba Android، ويحظى بتعليقات جيدة.
استخدم Rxjava2 مع Retrofit2 لتقديم طلبات الشبكة.
استخدم عوامل تشغيل Rxjava2 للتحويل والتأخير والتصفية والعمليات الأخرى في دفق الأحداث. استخدم عامل التشغيل Compose مع فئة أداة RxUtils لتبسيط عدد الرموز لاستدعاءات تبديل الخيط.
استخدم Dagger2 مع Dagger.Android لإدخال النموذج في المقدم والمقدم في العرض دون اقتران، مما يؤدي إلى تحقيق نمط MVP بشكل أكثر كفاءة.
يتم استخدام BasePresenter لدمج دورة حياة اشتراكات دفق الأحداث.
استخدم شريط أدوات مجموعة السلوك في تصميم المواد لتنفيذ التأثير الخاص سريع الاستجابة "لأعلى ولأسفل".
تُستخدم الأزرار العائمة التي تنزلق إلى الأعلى في العديد من الأماكن لتحسين راحة القراءة.
استخدم الرسوم المتحركة الغنية بالتحديث في SmartRefreshLayout للارتقاء بجمال المشروع إلى مستوى جديد.
يتم استخدام Tencent Bugly لإصلاح الأخطاء وCI في المشروع.
يتم استخدام الرسوم المتحركة المبهرة والمؤثرات الخاصة في العديد من الأماكن في المشروع.
اختبار وحدة التغطية العالية وبعض اختبارات واجهة المستخدم.
يرجى استنساخ هذا المشروع لعرض المزيد. . .
انظر تحليل المصدر الرائع للمكتبة الثالثة
1. استبدل حقل المخطط الخاص بعنوان URL للطلب عالميًا بـ https
2. حل الأخطاء الموجودة في المشكلة
1. تمت إضافة عمود جديد للحساب الرسمي لدعم البحث داخل الحساب الرسمي
2. حل الأخطاء في Bugly
1. التكيف مع إصدار Android O
2. حل الأخطاء في Bugly
1. تمت إضافة اختبار الوحدة لطبقة المقدم واختبار واجهة المستخدم الآلي لبعض طبقات العرض
2. حل الخلل المتمثل في أن حالة تسجيل الدخول ستصبح غير صالحة بعد فترة من الزمن
3. تنفيذ عملية إعادة البناء المناسبة على نطاق صغير
4. حل خطأ توافق Bugly
1. أضف dagger.android
2. استخدم config.gradle لإدارة تبعيات Gradle بشكل موحد
3. تغليف معالجة اشتراك RxBinding
4. إضافة معالجة التكيف العنصر المشترك
5. استخدم الإنشاء لإضافة معالجة نتائج الإرجاع الموحدة
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. أضف RecyclerView للربط الذكي بـ TabLayout
5. إضافة شريط الحالة غامرة
6. تحسين نمط قائمة المقالة التفصيلية
7. تجميل واجهة المستخدم الشاملة للمشروع
1.أرسل الإصدار الأول من Awesome WanAndroid
واجهة برمجة تطبيقات WanAndroid مقدمة من Hongyang
يوفر GeekNews الأفكار المعمارية لـ Dagger2 وMVP
أفكار تنفيذ المؤثرات الخاصة MD المقدمة من Toutiao
أفكار تنفيذية للأزرار العائمة المنزلقة الذكية المقدمة من diycode
أفكار لتنفيذ المؤثرات الخاصة لتبديل واجهة البحث المقدمة من Eyepetizer-in-Kotlin
بالإضافة إلى ذلك، أشرت أيضًا إلى العديد من مشاريع الأشخاص المتميزين في الداخل والخارج. شكرًا لك على المصدر المفتوح!
توفر Petal تصميمًا جميلاً لواجهة المستخدم، شكرًا لك Petal
مصدر الأيقونات الرائع الخاص بـ iconfont Alibaba مفتوح للعالم الخارجي
ريكسجافا
com.RxAndroid
RxBinding
التحديثية
OkHttp
جيسون
الانزلاق
خنجر2
سكين الزبدة
GreenDao
SmartRefreshLayout
لوتي-أندرويد
في الوقت الحاضر، أصبحت صناعة Android مشبعة بالمواهب تدريجيًا، لكن المواهب العليا لا تزال نادرة. ما نواجهه غالبًا هو أن هناك فقط 2 أو 3 مرشحين مناسبين من بين 100 سيرة ذاتية، ومعظمهم سئموا من العمل يأخذون الوقت الكافي للدراسة الجادة، أو لا يعرفون ما يجب تعلمه لتحسين مهاراتهم. بالنسبة لمطوري Android، من المهم جدًا إنشاء إطار معرفي كامل لنظام Android في أقرب وقت ممكن، وفهم نقاط معرفة الاختبار الشائعة التي تظهر بشكل متكرر في كبرى الشركات المصنعة، وإتقان مهارات المقابلة.
في العام الماضي، من أجل الدخول إلى مصنع من الدرجة الأولى للقيام بأشياء أكثر تحديًا والحصول على راتب أعلى، قمت بالتحضير لمدة نصف عام مقدمًا وقمت بتجميع مجموعة من أسئلة المقابلة المنهجية وعالية الجودة التي "شحذت سيفي لشخصين" سنوات " . لمدة نصف عام، أجريت المقابلات بشكل مستمر، وأجريت مقابلات في المجموع بعد كل مقابلة في عشرين أو ثلاثين شركة، قمت بشكل منهجي بتلخيص أسئلة المقابلة المقابلة والإجابات التفصيلية، وقمت بتحديثها في مشاريع المقابلات الخاصة بي. الآن، تحت كل وحدة، تم تجميع الأسئلة المتداولة حول الترددات العالية جدًا والترددات العالية بعناية . نقاط المعرفة.
في العام الماضي، قمت بتحسين المحتوى الأصلي تدريجيًا وأضفت الكثير من المحتوى الجديد أثناء مراجعتي للمقابلات العملية مع الشركات الكبيرة. يمكن القول أنه ملخص لجوهر المقابلات في شركات الإنترنت من الدرجة الأولى، وفي الوقت نفسه، سيتضمن أيضًا محتوى حول كيفية كتابة السيرة الذاتية ومهارات المقابلة، ويمكن أن يساعدك في توفير الوقت والجهد في التحضير لإجراء المقابلات، ويقلل بشكل كبير من صعوبة العثور على وظيفة جيدة.
يختلف مشروع المقابلة هذا عن مشروع المقابلة Awesome-Android-Interview على موقع Github الخاص بي: https://github.com/JsonChao/Awesome-Android-Interview تم إيقاف Awesome-Android-Interview منذ عامين (في تحديث أكتوبر 2020). ، المحتوى قديم بعض الشيء، وهناك العديد من النقاط التي لم يتم التعبير عنها بدقة، والمحتوى الذهبي الإجمالي منخفض. إن بنك أسئلة المقابلة الذي أريد مشاركته اليوم هو سؤال مقابلة منهجي وعالي الجودة قمت بتلخيصه وتحسينه وجمعه بشكل مستمر على مدار العامين الماضيين، وقد تم تصحيح العديد من الأسئلة الأساسية فيه وتصحيحها بشكل متكرر تحت الضغط من المقابلات، ومحتوى الذهب عالية للغاية.
قبل المشاركة، هناك شيء واحد يجب ملاحظته وهو أنه يجب عليك عدم تسريب المعلومات! إذا فكرت في الأمر بعناية، فسوف تفهم:
1. إذا كنت مكشوفًا، وكان الأشخاص الذين يفهمونها أسرع منك، ودخلوا مصنعًا كبيرًا في وقت مبكر، وحصلوا على راتب مرتفع، فستصبح فرصك في دخول مصنع كبير أقل، ففي نهاية المطاف، لا يوجد سوى عدد قليل جدًا من الشركات الجيدة الآن، وكل جزرة هي مأزق.
2. لا تزال النسخة البسيطة من بنك أسئلة المقابلة Awesome-Android-Interview الذي شاركته علنًا منذ عامين تستخدم كمواد تصريف من قبل مؤسسات التدريب المختلفة، مما أدى إلى زيادة تطور Android الحالي. .
لذلك، يجب أن نتذكر هذا.
كيفية الحصول عليها: قم بمسح رمز الاستجابة السريعة أدناه.
هذا هو الاقتراح الذي كنت أبحث عنه طوال السنوات السبع الماضية. في البداية، كنت أقوم بالبحث بنفسي، لأنني جئت من بلدة صغيرة وثبت وجودي في شنتشن من خلال الهجمات المضادة المستمرة. كلما كان الشخص عاديًا، كلما زاد صبره لإجراء تحسينات منهجية وشاملة في هذا الصدد، لدي خبرة عملية ومنهجية غنية جدًا . لذلك، بدأت مجتمع النمو "JsonChao"، على أمل إكمال التحول المنهجي معك.
تم فتح حسابي العام JsonChao
، مع التركيز على بناء نظام معرفي ضروري لتطوير Android في المستقبل. سندفع لك مقالات عالية الجودة كل يوم عمل حتى تتمكن من زيادة معرفتك كل يوم. إذا كنت ترغب في الحصول على أحدث المقالات والتحديثات في أقرب وقت ممكن، يرجى المسح والمتابعة ~
حقوق الطبع والنشر 2018 جيسون تشاو
مرخص بموجب ترخيص Apache، الإصدار 2.0 ("الترخيص")؛ ولا يجوز لك استخدام هذا الملف إلا وفقًا للترخيص. يمكنك الحصول على نسخة من الترخيص على
http://www.apache.org/licenses/LICENSE-2.0
ما لم يكن ذلك مطلوبًا بموجب القانون المعمول به أو تم الاتفاق عليه كتابيًا، يتم توزيع البرامج الموزعة بموجب الترخيص على أساس "كما هي"، دون ضمانات أو شروط من أي نوع، سواء كانت صريحة أو ضمنية، راجع الترخيص لمعرفة اللغة المحددة التي تحكم الأذونات والقيود بموجب الترخيص.