Android.app.Fragment এবং android.support.v4.app.Fragment এর মধ্যে পার্থক্য


175

android.app.Fragmentএবং এর মধ্যে পার্থক্য কী android.support.v4.app.Fragmentএবং কী পরিস্থিতিতে প্রতিটি ব্যবহার করা উচিত?

উত্তর:


288

android.support.v4.app.Fragmentহয় অসম্পূর্ণ অংশ অ্যান্ড্রয়েড সমর্থন গ্রন্থাগার, যা একটি সামঞ্জস্য প্যাকেজ যা আপনাকে Android পুরোনো সংস্করণের উপর Android এর নতুন বৈশিষ্ট্যগুলির কয়েকটির ব্যবহার করার অনুমতি দেয় হয় বর্গ।

android.app.Fragmentহয় অসম্পূর্ণ অংশ অ্যান্ড্রয়েড SDK এর নেটিভ সংস্করণে বর্গ। এটি অ্যান্ড্রয়েড 3 (এপিআই 11) এ চালু হয়েছিল।

আপনি যদি নিজের অ্যাপ্লিকেশনটিকে টুকরোগুলি ব্যবহার করতে এবং API 11 এর আগে ডিভাইসগুলিকে লক্ষ্য করতে চান, আপনার অবশ্যই ব্যবহার করতে হবে android.support.v4.app.Fragment। তবে, আপনি যদি কেবল 11 বা ততোধিক এপিআই চলমান ডিভাইসগুলিকে লক্ষ্য করে থাকেন তবে আপনি ব্যবহার করতে পারেন android.app.Fragment

সম্পাদনা করুন: ওএস- android.app.Fragment সমন্বিত এখন অবচয় করা হয়েছে (এপিআই স্তর 28 হিসাবে), এবং প্রত্যেকেরই সমর্থন লাইব্রেরি প্রয়োগগুলি ব্যবহার করতে যাওয়া উচিত।


4
: এছাড়াও "সমর্থনের গ্রন্থাগার ছাড়া FragmentStatePagerAdapter ব্যবহার" দেখুন stackoverflow.com/questions/18512294/...
CJBS

: আপনি onAttach ওভাররাইড যদি (), দয়া করে এটিকে android.app.Fragment সঙ্গে কিছু পরিস্থিতির অধীন নামক হচ্ছে না এড়াতে এই থ্রেড দেখুন stackoverflow.com/questions/32083053/...
হংকং

3
অ্যান্ড্রয়েডএক্স ব্যবহার করবে: androidx.fraament.app.Fraament
অভিজিৎ কুরানা

56

2018 এর হিসাবে:

android.app.Fragment ডকুমেন্টেশন থেকে :

এই শ্রেণিটি এপিআই স্তরের ২৮-এ অবমুক্ত করা হয়েছিল all সমস্ত ডিভাইসগুলিতে ধারাবাহিক আচরণ এবং লাইফাইসাইকেলের অ্যাক্সেসের জন্য
সমর্থন লাইব্রেরিটি ব্যবহার করুন Fragment

সুতরাং সমর্থন টুকরা android.support.v4.app.Fragment( android.app.Fragment) এখন দেশীয় টুকরো ( ) এর পরিবর্তে সর্বত্র ব্যবহার করা উচিত ।


@ আর্টিয়ম, অ্যান্ড্রয়েড বিকাশের এক নব হিসাবে, আমি প্রত্যাশা করেছি যে যখন android.app.Fragmentক্লাসটি অবমূল্যায়ন করা হবে, তখন এপিআই স্তরের ২৮ এর বিকল্প, সম্ভবত মূল প্রতিস্থাপনের পদ্ধতি থাকবে। একটি অগ্রণী পদ্ধতির আছে বা এই পিছনের দিকের android.support.v4.app.Fragmentসঠিক পদ্ধতির সাথে সামঞ্জস্যপূর্ণ ?
এরগাহাক

1
@ এরগোহাক এটিকে দেখুন: জাভা কোডের জন্য আপনি ডিভাইসের রানটাইমের অভ্যন্তরে বা অ্যাপ্লিকেশনটির জার ফাইলের মধ্যে বাইটোকড অন্তর্ভুক্ত করতে পারেন। সমর্থন লাইব্রেরি কোডটি আপনার জারে রাখা হবে এবং রানটাইম-সরবরাহিত কোডের মতো একই বৈশিষ্ট্যটি সরবরাহ করবে, সুতরাং আপনার টার্গেট ফোনের বার্ধক্যজনিত এবং অবিরাম কোডের পরিবর্তে আধুনিক এবং রক্ষণাবেক্ষণ সমর্থন লাইব্রেরিটি না ব্যবহার করার কোনও কারণ নেই।
পিয়েরে

12

আমি android.support.v4.app.Fragmentএকচেটিয়াভাবে ব্যবহার ।

আমি যে অ্যাপ্লিকেশনগুলি লিখি সেগুলির অ্যান্ড্রয়েড ২.৩ এ সরাসরি সমর্থন করা দরকার এবং এটি করার সহজ উপায় এটি।

আপনি যদি 11+ সমর্থন করছেন তবে আটকে থাকুন android.app.Fragment


18
সেক্ষেত্রে আপনি সমর্থন লাইব্রেরিতে প্রচুর বৈশিষ্ট্যগুলি হারিয়েছেন যা কেবলমাত্র একটি নির্দিষ্ট এপিআই স্তরের পরে নেটিভের মধ্যে রয়েছে। উদাহরণস্বরূপ getChildFraamentManager () স্তর 17 পর্যন্ত উপলব্ধ না My
জোহান

4

যদি আপনার অ্যাপ্লিকেশনটি 11 বা ততোধিক এপিআই-এর জন্য লক্ষ্যযুক্ত হয় তবে আপনি ব্যবহার করতে পারেন android.app.Fragment এবং আপনার APK ফাইলটি আরও ছোট হবে।

অন্যথায়, android.support.v4.app.Fragmentপুরানো অ্যান্ড্রয়েড এপিআই সংস্করণগুলি (অ্যান্ড্রয়েড 3.x) সমর্থন করার জন্য আপনার প্রকল্পে গ্রন্থাগারটি যুক্ত করুন ।


2

android.support.v4.app.Fragment একটি লাইব্রেরি যা আপনি পুরানো এপিআই সংস্করণে পিছনের দিকে সামঞ্জস্য পেতে ব্যবহার করতে পারেন।

খণ্ডগুলি এপিআই স্তরের ১১-এ যুক্ত করা হয়েছে (অন্যান্য বৈশিষ্ট্যগুলির সাথে) আপনার সেই লাইব্রেরিটি প্রাক-এপিআই 11 ডিভাইসে প্রসারিত করার জন্য অন্তর্ভুক্ত করা উচিত। এটি একটি দরকারী লাইব্রেরি এবং আমি অ্যাকশনবারেরলকটি দেখে নেওয়ার পরামর্শ দিচ্ছি, যা প্রি-এপিআই ভি 11 ডিভাইসগুলিতে অ্যাকশন বার প্রসারিত করে।


-2

যদি আপনার অ্যাপ্লিকেশনটি এপিআই 11 বা তারপরের স্তরের জন্য লক্ষ্যযুক্ত হয় তবে আপনি android.app.Fraament ব্যবহার করতে পারেন এবং এটি APK আকার হ্রাস করবে। অন্যথায় android.support.v4.app.Fraament ব্যবহার করুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.