it-swarm.dev

أجزاء Android.app مقابل Android.support.v4.app باستخدام ViewPager؟

لديّ سؤال بخصوص مكتبات دعم Android ، الأجزاء ، وكمثال محدد ، فئة ViewPager. أنوي إنشاء تطبيق مع وظائف مماثلة للعينة المتوفرة على موقع Android Developer ( http://developer.Android.com/training/animation/screen-slide.html أو http: // developer.Android.com/training/implementing-navigation/lateral.html ). بالنظر إلى الكود الخاص بهم ، لاحظت أنهم يستخدمون مكتبة Android.support.v4.app ، والتي من خلال بحثي هي الطريقة الوحيدة للوصول إلى ViewPager class.

في وضعي ، ليس لدي أي مصلحة في التوافق مع الإصدارات السابقة. الحد الأدنى لمستوى API هو 14 (ساندويتش الآيس كريم) والهدف من البناء هو 4.2 جيلي فول. في أبسط أشكاله ، يعمل تطبيقي تمامًا كما يفعل العرض التوضيحي الثاني الذي قمت بربطه على موقع الويب الخاص بـ Android dev - فقط التمرير بين ثلاث علامات تبويب مع محتوى في كل منها.

يبدو أن جميع المقالات/المنشورات/الإجابات التي قرأتها تفضل بشدة {مكتبة دعم v4. الآن بالنسبة لي ، وإن كان طويلاً ، السؤال (الأسئلة):

  1. ما هي أفضل طريقة لتنظيم تطبيقي - باستخدام Android.support.v4.app ، وبالتالي استخدام SupportFragments ، أو لاستخدام الأجزاء المتوفرة في Android.app - ولماذا؟

  2. إذا كانت الشظايا من Android.app هي السبيل للذهاب ، فما هي الطريقة المثلى للوصول إلى ViewPagers؟

  3. إذا كانت SupportFragments مناسبة تمامًا للمهمة ، فسأقدر أن لديهم نفس الوظيفة مثل الأخرى - فما الغرض من وجودها على الإطلاق داخل Android.app؟

من المأمول أن يعطيني شخص ما لديه فهم أوضح بعض الشيء لأنني محير ...

181
jonstaff

يمكنك استخدام ViewPager مع الأجزاء الأصلية من الحزمة Android.app مع المحولات من Android.support.v13.app package. يجب عليك استخدام جرة دعم v13 لذلك.

يوجد إصداران من المحولات التي تعمل مع ViewPager ، وتهدف تلك الموجودة في حزمة v4 إلى استخدامها مع أجزاء الدعم ، تلك الموجودة في v13 مع الأجزاء الأصلية.

السبب في وجود الآن تطبيقين للتجزئات هو أمر تاريخي: تم تقديم أجزاء في حزمة Android.app باستخدام Android 3 للأجهزة اللوحية فقط وتم إنشاء مكتبة الدعم لإحضار الأجزاء إلى الهواتف التي تستخدم إصدارات أقدم. على أندرويد 4 لديك كلا.

من تجربتي الخاصة ، أوصي باستخدام أجزاء الدعم ، حتى عند التطوير لنظام Android 4. فيما يلي بعض الأسباب: جزء أو جزء من الدعم؟

183
brillenheini

تم إهمال فئة Android.app.Fragment نظرًا لأن Android P ( link ) ، لذلك يجب استخدام Android.support.v4.app.Fragment فقط في كل مكان.

3
Artyom

إذا كنت ستستهدف API 11+ ، فلن تحتاج إلى مكتبة الدعم [وستكون ملف apk الفعلي أصغر على الأقل).

إذا كنت تريد دعم أي شيء قبل أندرويد 3.x ، فستحتاج إلى مكتبة الدعم.

هل هذا ما تسأل؟

1
Matt