تهدف هذه المشاريع إلى أن تكون:
ملخص المواصفات:
فيما يلي واجهة برمجة تطبيقات خادم نظيرتها من حيث يستهلك هذا التطبيق البيانات-> Rails-API-Base
قم بتثبيت IDE المفضل لديك أو فقط Android SDK (BuildTools 23.0.2 و CompilesDK 23 ، أو حدد الإصدارات الخاصة بك في dependencies.gradle . أنا استخدم Android Studio.
استنساخ المستودع واحصل على داخله:
git clone git://github.com/jordifierro/android-base.git --origin android-base YourProjectName
cd YourProjectName
./bin/remove_notes
./bin/rename_project YourProjectName your.package.name
./gradlew clean build cAT
./bin/reset_git https://github.com/yourusername/YourProjectName.git
هذا كل شيء ، يمكنك الآن البدء في تطوير تطبيقك الخاص!
ملاحظة: لتشغيل التطبيق (يمكنك تشغيل الاختبارات الآن فقط) تذكر إعداد خادم API (تم تطوير قاعدة API (Rails-API-base بالفعل لخدمة هذا التطبيق ، ولكن يمكنك أيضًا جعل خاصتك) وتكوين RestApi للاتصال به (ما عليك سوى تعديل Params Restapi.java).
التطبيق نفسه فارغ تقريبًا ، ويهدف فقط إلى توفير بعض الوحدات الأساسية ، وتنفيذ الهياكل مع بعض الأنماط وإعطاء رمز العينة. فيما يلي المواصفات:
الهدف الرئيسي من هذا التطبيق هو تجنب كتابة رمز Boilerplate الأساسي ، وبالتالي يتم تنفيذ الوظائف التالية بالفعل:
يمكن استخدام هذا من الآن ، ويوفر أيضًا طريقة منظمة لإضافة المزيد من التعليمات البرمجية.
لتوفير المزيد من رمز النماذج ، تم تطوير رمز لإدارة notes (مثل تمثيل ملاحظات الورق المكتوبة بخط اليد) ، مؤلفة من title content . وبالتالي ، يحتوي التطبيق على فهرس الملاحظات والتفاصيل وإنشاء الشاشات وتحريرها.
غرضه الفريد هو أن تكون رمزًا عينة ، لذلك سيتم حذفه عند تشغيل البرنامج النصي ./bin/remove_notes .
تم تنظيم الكود بعد نهج الهندسة المعمارية النظيفة ونمط عرض الموديل (MVP). تحقق من هذا وهذا المنشورات ، وكذلك هذا المشروع ، لمزيد من المعلومات حوله.
يتم استخدام مبدأ انعكاس التبعية على التطبيق بشكل أساسي لجعل الاختبار أسهل وجعل المكونات مفصولًا وقابلة لإعادة الاستخدام. كما أنه يقلل من رمز الغلاية ويساعد في إدارة نطاقات المثيل. المكتبة المستخدمة لتحقيق ذلك الخنجر 2. يتم استخدام butterknife لحقن العرض.
العمارة النظيفة تجعلك تنشئ طبقات مختلفة ، وذلك لتجنب جحيم رد الاتصال ، يتم تطبيق نموذج البرمجة التفاعلية باستخدام مكتبة ReactiveX.
كتطبيق عميل ، فإن هدفه الرئيسي هو السماح للمستخدم بالتفاعل مع البيانات من واجهة برمجة تطبيقات الخادم. يوضح المشروع كيفية التعامل مع ذلك بسهولة. يتم استخدام مكتبة التحديثية لتنفيذ أساليب استدعاء API. يتم تضمين المصادقة وإصدار API والتدويل في الطلبات.
واحدة من أكثر الأشياء إثارة للاهتمام في هذا المشروع هي أنه يحتوي على تغطية اختبار كاملة للوحدة ، من وحدات البيانات إلى طرق عرض Android ، بما في ذلك جميع الطبقات الوسيطة. هذا هو نتيجة لاستخدام الهندسة المعمارية النظيفة وانعكاس التبعية وممارسات الاختبار الجيدة. أحد الأمثلة على ذلك هو اختبار العرض ، حيث يتم استيعاب مقدم العرض بواسطة Mockito وحقنه عن طريق اختبار مكون الخنجر ، الذي يوفره عداء Junit مخصص.
هنا يمكنك العثور على دروس تشرح بعض هذه الاختبارات:
يتم استخدام أنماط أخرى وممارسات جيدة في المشروع مثل تنفيذ الأنشطة والشظايا السلوك المشترك مع الميراث ، واستخدام الشظايا وتحديد الملاحة في الأنشطة لجعل إعادة عرض الشاشة غير مؤلمة ، واستخدام واجهات لفصل المكونات ... يتم اتباع ممارسات جيدة أندرويد مثل التدويل السلسلة ، واستخدام ورقة الأنماط وغيرها من المنهجيات الصغيرة أيضًا. هنا واحدة من الموارد المستخدمة -> أفضل الممارسات Android.
تمت إضافة Travis-CI كنظام تكامل مستمر لتشغيل جميع الاختبارات على كل دفعة (اختبارات Java و Android).
لتشغيل الاختبارات محليًا ، ما عليك سوى توصيل جهاز أو تشغيل المحاكي وتنفيذ:
./gradlew clean build cAT
التي ستدير اختبارات Java و Android.
هناك بعض البرامج النصية Under /bin Folder لجعل مشروعًا جديدًا من الصفر سهلاً باستخدام هذا القالب. ما عليك سوى اتباع قسم "البدء السريع" الموضوعة أعلاه.
يتم التحقق من جميع البرامج النصية shell بواسطة أداة shellcheck.
فيما يلي واجهة برمجة تطبيقات خادم نظيرتها من حيث يستهلك هذا التطبيق البيانات-> Rails-API-Base.
جميع الاقتراحات والمساهمات هي أكثر من موضع ترحيب!
./gradlew clean build cAT
لسوء الحظ ، لا يوجد مساهمون حتى الآن.
http://jordifierro.com