খণ্ড বা সমর্থন খণ্ড?


125

আমি এমন একটি অ্যাপ বিকাশ করছি যা অ্যান্ড্রয়েড> = 4.0 সমর্থন করে। এটি android.appপ্যাকেজ থেকে টুকরা ব্যবহার করে । আমি 4.0 বয়স্ক টুকরা বাস্তবায়ন, মত সমস্যার সম্মুখীন হচ্ছি এই এক ইতিমধ্যে সমর্থন লাইব্রেরিতে ঠিক করা হয়েছে, আমি সমর্থন লাইব্রেরি থেকে টুকরা বাস্তবায়ন ফিরে সুইচিং একটি অধিক নির্ভরযোগ্য এবং সামঞ্জস্যপূর্ণ বাস্তবায়ন পেতে বিবেচনা করছি।

এ সম্পর্কে আপনার মতামত কী? অ্যান্ড্রয়েড 4 এর জন্য বিকাশ করার সময় আপনি কি সমর্থন লাইব্রেরি থেকে টুকরোগুলি ইতিমধ্যে উপলব্ধ থাকলেও ব্যবহার করছেন?


2
এটি একটি দুর্দান্ত প্রশ্ন (+1 কারণ এটি আমাকে কৌতূহলী করে তোলে)। এছাড়াও ওয়েবে এটির জন্য ভাল ব্যাখ্যা নেই। আমি আমার অ্যাপ্লিকেশনটির জন্য সমর্থন লাইব্রেরি ব্যবহার করছি এবং আমি ভাবছি যে আমি ভুল বা না, কারণ সংকলন করার সময় বা পরীক্ষার সময় আমি কোনও ত্রুটি লক্ষ্য করি নি।
জেজে 86

2
@ অ্যানিমুসন ব্রিলেনহেহিনির উত্তর প্রমাণ করে যে এটি প্রাথমিকভাবে মতামত ভিত্তিক উত্তর নয়।
ওয়ানওয়ার্ল্ড

উত্তর:


90

আমার অভিজ্ঞতা থেকে, সমস্ত অ্যান্ড্রয়েড ডিভাইসে একই টুকরা প্রয়োগ প্রয়োগ করা একটি দুর্দান্ত সুবিধা। যখন অ্যান্ড্রয়েড on.০ এ দেশীয় টুকরো ব্যবহার করে সমর্থন লাইব্রেরির সাহায্যে সেগুলি সমস্ত চলে যায় তখন আমি সমস্ত নলপয়েন্টারএক্সেপশনগুলি থেকে মুক্তি পেতে পারি না। এছাড়াও আমি এই পদ্ধতির সাথে এখনও পর্যন্ত কোনও অসুবিধা দেখতে পেলাম না।

সুতরাং আমার নিজের প্রশ্নের আমার উত্তরটি এখন: অ্যান্ড্রয়েড ৪.x এর জন্য বিকাশ করার সময়, সমর্থন লাইব্রেরি থেকে টুকরো টুকরো ব্যবহার করা ভাল ধারণা। সমর্থন লাইব্রেরিতে বাগগুলি স্থির রয়েছে যা এখনও পুরানো খণ্ড বাস্তবায়নে উপস্থিত এবং আরও বেশি বাগ সংশোধন করে প্রায়শই আপডেট করা হয়।


11
তাহলে কি android.app.Fragmentতখনকার উদ্দেশ্য ? আপনি যদি এখানে আরও কিছুটা ব্যাখ্যা দিয়ে আপনার উত্তরে এটি যুক্ত করতে পারেন তবে আমি পুরোপুরি সন্তুষ্ট হব। ধন্যবাদ!
jonstaff

1
@ জোনস্টাফ কারণটি সম্ভবত historicতিহাসিক। দয়া করে আমার আপডেট হওয়া উত্তরটি এখানে দেখুন।
brillenheini

11
সম্পূর্ণতার স্বার্থে, মনে হয় কিছু টুকরো টুকরো টুকরো সমর্থন করে না (যেমন প্রকৃত টার্গেট ওএস সমর্থন করে এমনকি এটির সাথে অ্যানিমেটেড হওয়াobjectAnimator )। কোনটি আপনি ব্যবহার করছেন তার ViewPagerঅর্থ হ'ল আপনাকে ভি 13 সমর্থন লাইব্রেরি থেকে অ্যাডাপ্টার ব্যবহার করতে হবে, অন্যথায় আপনার ভিউপেজার এবং ফ্লিপিং অ্যানিমেশন উভয়ই থাকতে পারে না।
GSerg

5
এছাড়াও সতর্কতা অবলম্বন করুন, আগস্ট 2014 পর্যন্ত, v13 লাইব্রেরি নেস্টেড ফ্রেগমেন্টগুলি করতে পারে না।
মার্টিন মার্কনকিনি

1
কেন Google এ বলছি iosched অ্যাপের জন্য v13 গ্রন্থাগার ব্যবহার করার জন্য নির্বাচন মুক্ত করে github.com/google/iosched/blob/master/android/src/main/java/com/... , তারা কোনো কারণে থাকতে হবে
forcewill

40

কিছু সময়ের জন্য অবিচল থাকার একটি বড় কারণ SupportFragmentহ'ল আপনার ChildFragmentManagerএপিআই 17 পর্যন্ত অ্যাক্সেস নেই The সমর্থন লাইব্রেরি আপনাকে শিশু খণ্ড পরিচালক হিসাবে একটি সমর্থন সংস্করণ দেবে।

আপনার যদি টুকরো টুকরো টুকরো টুকরো থাকে তবে এটি বড় চুক্তিতে পরিণত হয়। ট্যাবলেট অ্যাপ্লিকেশনগুলিতে জটিলতার একটি ভাল চুক্তি এবং / অথবা আপনার সামগ্রিক আর্কিটেকচারটি কোনও ট্যাবড বিন্যাসের উপর ভিত্তি করে বা নেভিগেশন ড্রয়ার ব্যবহার করে তা সাধারণ।


21

অ্যান্ড্রয়েড +.০+ লক্ষ্য করেও সমর্থন লাইব্রেরিগুলি অন্তর্ভুক্ত করে আমি হতাশ হয়ে পড়েছিলাম - তবে মনে হয় এটি আনুষ্ঠানিকভাবে প্রস্তাবিত:

অ্যান্ড্রয়েড সমর্থন লাইব্রেরি প্যাকেজে বেশ কয়েকটি গ্রন্থাগার রয়েছে যা আপনার অ্যাপ্লিকেশনটিতে অন্তর্ভুক্ত করা যেতে পারে। এই লাইব্রেরিগুলির প্রতিটি একটি নির্দিষ্ট পরিসর অ্যান্ড্রয়েড প্ল্যাটফর্ম সংস্করণ এবং বৈশিষ্ট্যগুলির সেটকে সমর্থন করে।

এই নির্দেশিকাটিতে সহায়তা লাইব্রেরিগুলির দ্বারা সরবরাহিত গুরুত্বপূর্ণ বৈশিষ্ট্যগুলি এবং সংস্করণ সমর্থন সম্পর্কে আপনাকে অ্যাপ্লিকেশনটিতে কোনটি অন্তর্ভুক্ত করা উচিত তা সিদ্ধান্ত নিতে সহায়তা করে explains সাধারণভাবে, আমরা v4 সমর্থন এবং v7 অ্যাপকম্প্যাট গ্রন্থাগারগুলি অন্তর্ভুক্ত করার প্রস্তাব দিই, কারণ তারা বিস্তৃত অ্যান্ড্রয়েড সংস্করণ সমর্থন করে এবং প্রস্তাবিত ব্যবহারকারী ইন্টারফেসের নিদর্শনগুলির জন্য এপিআই সরবরাহ করে।

http://developer.android.com/tools/support-library/features.html


@ ব্রিলেনহেনি নিজে / নিজেই একটি উত্তর সরবরাহ করেছেন তা সত্ত্বেও এটি গ্রহণযোগ্য উত্তর হওয়া উচিত। এটি সর্বোত্তম নির্ভুলতা এবং সংক্ষিপ্ততার সাথে প্রশ্নের উত্তর দেয়।
অরবিন্দ মণি

4

আইএমএইচওও যদি আপনি কেবল ৪.০ এর জন্য বিকাশ করার পরিকল্পনা করে থাকেন তবে আমি দেশীয় গ্রন্থাগারগুলির সাথে যাওয়ার পরামর্শ দিচ্ছি কারণ কার্যনির্বাহী আরও ছোট হবে। এটি সত্য যে আপনি সম্ভবত প্রারম্ভিক সংস্করণগুলিতে বাগের সমস্যাগুলির মধ্যে চলে যেতে পারেন, তবে আমি মনে করি এগুলির বেশিরভাগটি প্রায় কাজ করার জন্য মোটামুটি তুচ্ছ হওয়া উচিত। এছাড়াও আপনি যদি 4.0 এবং এর থেকেও বেশি চলতে থাকেন তবে সামঞ্জস্য গ্রন্থাগারটি দেশীয় খণ্ডগুলিতে মানচিত্রের কথা বলেছে। সুতরাং আপনি যেভাবেই হোক না কেন এই ধরণের সমস্যার সাথে লড়াই করতে পারেন। সাপোর্ট লাইব্রেরিগুলির সমস্যাটি হ'ল আপনার প্রচুর ক্লাস 2x (একবার সাপোর্ট প্যাকেজ স্ট্রাকচারে এবং "নেটিভ" প্যাকেজ স্ট্রাকচারে) প্রদর্শিত হয় যা বিকাশকে আরও জটিল করে তোলে।

যাইহোক, আপনি যদি আপনার অ্যাপ্লিকেশন পূর্বের 4.0 টি প্রকাশ করতে চান তবে সমর্থন লাইব্রেরির আশেপাশে কোনও উপায় নেই। এছাড়াও যেহেতু ২.৩-তে সমস্ত ব্যবহারকারীদের মধ্যে প্রায় 38% লোক রয়েছে এই ব্যবসায়িক সংস্করণটি এই ওএস সংস্করণটি অন্তর্ভুক্ত করতে পারে। এরকম ক্ষেত্রে আপনি জ্যাক ওয়ার্টনস অ্যাকশনবারশারলকের সাথে মিশ্রণে সমর্থন লাইব্রেরিটি ব্যবহার করতে পারেন (বা অবশেষে প্রকাশিত হলে গুগলস সাপোর্ট অ্যাকশনবার লাইব্রেরি সহ)।


3
আপনার উত্তরের জন্য ধন্যবাদ. যেহেতু আমার ভিউপাগার দরকার তাই আমাকে সমর্থন লাইব্রেরি যেভাবেই অন্তর্ভুক্ত করতে হবে। এছাড়াও, সমর্থন খণ্ডটি উপলব্ধ হলে নেটিভ বাস্তবায়নে স্যুইচ করার চেষ্টা করে না। ডক্স এটিই বলে।
brillenheini

হ্যাঁ, বিষয়টি (@ ব্রিলেনহেনি যেমন বলেছিল) যে ভিউপ্যাজারটি পেতে আপনার ভি 4 দরকার, তাই আপনি যদি কেবলমাত্র ভি 13 + ডিভাইসগুলি লক্ষ্য করে থাকেন তবে আপনার সম্ভবত ভি 4 থাকা শেষ হবে।
সোট্টি

আমি সবেমাত্র এটি আবিষ্কার করেছি (ভিউপ্যাজারের ভিপি 4 দরকার) আমার এপিআই 21 এবং অ্যাপে। মেহ: - /
ম্যারাভিটার

2

দেখে মনে হয় যে এখন সমর্থন লাইব্রেরিটি ব্যবহার করা আরও ভাল কারণ আমি এখানে বিবৃতিটি https://developer.android.com/references/android/app/Fraament.html দেখেছি

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

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