অ্যাকশনবার ক্রিয়াকলাপের তুলনায় অ্যাপকম্প্যাটঅ্যাক্টিভিটির বৃদ্ধি কী?


164

android.support.v7.app.AppCompatActivity গতকাল নতুন বৈশিষ্ট্য হিসাবে সর্বশেষতম v7 সমর্থন লাইব্রেরিতে যুক্ত করা হয়েছিল।

বলা হয়ে থাকে যে ActionBarActivityনতুনের পক্ষে অবজ্ঞা করা হয়েছে AppCompatActivityএবং এটি AppCompatActivityএমন ক্রিয়াকলাপগুলির জন্য বেস ক্লাস যা সমর্থন গ্রন্থাগার অ্যাকশন বার বৈশিষ্ট্যগুলি ব্যবহার করে। সুতরাং, AppCompatActivityওভার নতুন বৈশিষ্ট্যগুলি কি ActionBarActivity? কি বর্ধিত কাজ AppCompatActivityআছে ActionBarActivity? এবং এর সুবিধা কি AppCompatActivity? কেউ কি কয়েকটি নমুনা সরবরাহ করতে পারে?

কোনও টিপস প্রশংসা করা হয়। এবং অগ্রিম ধন্যবাদ।

পিএস: আমাকে সবচেয়ে অবাক করে দিয়েছিল AppCompatActivityযা থেকে প্রসারিত android.support.v4.app.FragmentActivityহ'ল প্রত্যক্ষ পিতামাতার ক্লাসটি ActionBarActivity! আমি বলতে চাইছি এখন যা ActionBarActivityকিছু করতে পারে তা AppCompatActivityকরতে পারে, অ্যান্ড্রয়েড কেন পরবর্তীতে তাড়িয়ে দিয়েছে?

এদিকে, আমি একটি ব্লগ পোস্ট দেখেছি যাতে বলা হয়েছে: " এটি থেকে কোনও নাম পরিবর্তন হয় ActionBarActivityনা AppCompatActivity, এর অভ্যন্তরীণ যুক্তিAppCompatAppCompatDelegate " এর মাধ্যমে পাওয়া যায় ", তবে এর" অভ্যন্তরীণ যুক্তি " AppCompatকী? কি করতে AppCompatDelegateপারে? কেউ কি এই সম্পর্কে কিছু কোড পোস্ট করতে পারে?



আমি এটি পড়েছি, এটি একটি ভূমিকা, খুব অগভীর।
সাইলেন্টনাট

1
অ্যাপকম্প্যাটএটিভিটি অ্যাকশনবার অ্যাক্টিভিটির পিতাম শ্রেণি। এবং আরও ধারণার জন্য আপনার কোডটি সন্ধান করা উচিত।
পঙ্কজ কুমার

হ্যাঁ, আমি এটি লক্ষ্য করেছি।
সাইলেন্টকেট

উত্তর:


145

ক্রিস যেমন লিখেছেন, তেমন নতুন অবজ্ঞাত সংস্করণ ActionBarActivity (এক বর্ধিত AppCompatActivityশ্রেণি) পশ্চাদগম্য সামঞ্জস্য বর্গ ব্যবহার করা নিরাপদ। এর AppCompatActivityপরিবর্তে সরাসরি আপনার পরিবর্তে নতুন ব্যবহার করতে বলার জন্য এটি হ্রাস মাত্র । AppCompatActivityএকটি নতুন, আরও জেনেরিক বাস্তবায়ন যা AppCompatDelegateঅভ্যন্তরীণভাবে শ্রেণি ব্যবহার করে ।

আপনি যদি একটি নতুন বিকাশ শুরু করেন তবে আপনার পরিবর্তে এখনই নতুন AppCompatActivityশ্রেণি ব্যবহার করা উচিত । আপনার যদি অ্যাপ্লিকেশন আপডেট করার সুযোগ থাকে তবে ActionBarActivityনতুন ক্রিয়াকলাপ দ্বারা অবহেলিত প্রতিস্থাপন করুন । অন্যথায় আপনি হতাশ ক্রিয়াকলাপের সাথে থাকতে পারেন এবং আচরণে কোনও পার্থক্য থাকবে না।

সংক্রান্ত AppCompatDelegate , এটি আপনাকে কোনও ক্রিয়াকলাপে নতুন রঙিন উইজেটগুলি রাখার অনুমতি দেয় যা না হয়ও AppCompatActivityনয় ActionBarActivity

উদাহরণস্বরূপ, আপনি একটি বাহ্যিক গ্রন্থাগার থেকে একটি ক্রিয়াকলাপ উত্তরাধিকার সূত্রে উত্তরাধিকার সূত্রে প্রাপ্ত নয় যা আপনি উত্তরাধিকার সূত্রে পান নাAppCompatActivity তবে আপনি চান যে এই ক্রিয়াকলাপটি রঙিন উপকরণের উইজেট (দর্শন) রাখুক। এটা তোমার একটি দৃষ্টান্ত তৈরি করতে হবে করতে হলে AppCompatDelegateআপনার কার্যকলাপের ভিতরে, মতো কার্যকলাপের ওভাররাইড পদ্ধতি addContentView(), setContentView()ইত্যাদি (দেখুন AppCompatDelegateপদ্ধতির সম্পূর্ণ তালিকার জন্য javadoc), এবং যারা উপেক্ষিত পদ্ধতির ভিতরে ভিতরের কল ফরোয়ার্ড AppCompatDelegateউদাহরণস্বরূপ। AppCompatDelegateবাকিটি করবে এবং আপনার "পুরানো ফ্যাশন" ক্রিয়াকলাপটি "বাস্তবায়িত" হবে।


ভাল উদাহরণ .. আপনাকে ধন্যবাদ @ সার্জেজ শফেরেনকা
এল

2
আপনি কি দয়া করে আমাকে বলতে পারবেন যে আমি যখন অ্যাপকম্প্যাকটিভিটির জায়গায় ক্রিয়াকলাপটি ব্যবহার করব তখন কী হবে? আমি অনুসন্ধান করেছি কিন্তু সমাধানটি পেলাম না দয়া করে আমাকে সহায়তা করুন
রবীন্দ্র কুশওয়াহা

35

এটি বেশিরভাগই একটি নাম পরিবর্তন: ActionBarActivityএটি এখন যা করে তা সত্যই বর্ণনা করে না। আপনি ActionBarActivityযদি চান তবে নিরাপদে ব্যবহার করতে পারেন। এটি একটি সিমিলিংকের মতো ভাবুন।


AppCompatActivityএর প্রত্যক্ষ অভিভাবক শ্রেণি ActionBarActivity, এখন যে ActionBarActivityকিছু করতে পারে তা AppCompatActivityকরতে পারে, Androidপরে কেন বাইরে ধাক্কা?
সাইলেন্টনাট

4
@ সাইলেন্টকাইট: ক্রিস যেমন লিখেছেন, এটি বেশিরভাগ ক্ষেত্রেই নাম পরিবর্তন। অ্যান্ড্রয়েড বিকাশকারী ব্লগের উদ্ধৃতি দিয়ে : "অ্যাপকম্প্যাট সমর্থন লাইব্রেরিটি নম্র, তবে গুরুত্বপূর্ণ সূচনা দিয়ে শুরু হয়েছিল: সমস্ত এপিআই 7 এবং উচ্চতর ডিভাইসের জন্য একটি একক ধারাবাহিক অ্যাকশন বার। সংশোধন 21 এ এটি নতুন দায়িত্ব গ্রহণ করেছে: উপাদান রঙিন প্যালেট আনয়ন, উইজেট রঙিন, সমস্ত এপিআই 7+ ডিভাইসগুলিতে সরঞ্জামদণ্ড সমর্থন এবং আরও অনেক কিছু that এটির সাথে অ্যাকশনবার্টিভিটি নামটি সত্যই এটি কী করেছিল তার পুরো সুযোগটি কভার করে না ""
কমন্সওয়্যার

3
এটা নিরাপদ নয় ব্যবহার অবচিত শ্রেণীর যেহেতু তারা ভবিষ্যতে সংস্করণে অপসারণ সাপেক্ষে। যদিও আপনি ActionBarActivityসমর্থন লাইব্রেরি থেকে বাদ পড়ার সময় সমস্ত রেফারেন্স সহজেই প্রতিস্থাপন করতে পারেন (যেমন আপনার অ্যাপ্লিকেশন আপডেট করার সময়) আমি এখন থেকে এটিকে ব্যবহার এড়াতে পরামর্শ দেব।
ডেভিড.সেক্রেইবার

12

অ্যাপকম্প্যাট সহায়তা গ্রন্থাগারটি নম্র, তবে গুরুত্বপূর্ণ শুরু দিয়ে শুরু হয়েছে: সমস্ত এপিআই 7 এবং উচ্চতর ডিভাইসের জন্য একটি একক ধারাবাহিক অ্যাকশন বার। 21 সংশোধনীতে, এটি নতুন দায়িত্ব গ্রহণ করেছে : সমস্ত এপিআই 7+ ডিভাইসে উপাদান রঙিন প্যালেট, উইজেট রঙিন, সরঞ্জামদণ্ড সমর্থন, এবং আরও অনেক কিছু আনছে। এটির সাথে, অ্যাকশনবার্টিভিটি নামটি সত্যই এটি কী করেছিল তার পুরো সুযোগটি কভার করে না

http://android-developers.blogspot.it/2015/04/android-support-library-221.html


..আপনি কি দয়া করে আমাকে বলতে পারেন যে আমি যখন অ্যাপকম্প্যাকটিভিটির জায়গায় ক্রিয়াকলাপটি ব্যবহার করব তখন কী হবে? আমি অনুসন্ধান করেছি কিন্তু সমাধানটি পেলাম না দয়া করে আমাকে সহায়তা করুন
রবীন্দ্র কুশওয়াহা

9

AppCompatActivityঅ্যান্ড্রয়েড সমর্থন অ্যাপকম্প্যাট লাইব্রেরি প্রকাশের পর থেকে অ্যান্ড্রয়েড-এসডিকে চালু হয়েছিল

AppCompatActivityFragmentActivityসমর্থন ভি 4 এর প্রত্যক্ষ শিশু শ্রেণি এবং এর প্রত্যক্ষ পিতাম শ্রেণিActionBarActivity

AppCompatActivityসমর্থন লাইব্রেরি অ্যাকশন বার বৈশিষ্ট্যগুলি ব্যবহার করে এমন ক্রিয়াকলাপগুলির জন্য বেস শ্রেণি ।

ActionBarআপনার ক্রিয়াকলাপের জন্য এই শ্রেণিটি প্রসারিত করে এবং থিম.এপকম্প্যাট বা অনুরূপ থিমে ক্রিয়াকলাপের থিমটি সেট করে আপনি API স্তরের 7 বা ততোধিক চলমান চলাকালীন আপনার কার্যকলাপে একটি যুক্ত করতে পারেন an

সমর্থন ভি 7 অ্যাপকম্প্যাট লাইব্রেরি হিসাবে, এটি অ্যাকশন বার ব্যবহারকারী ইন্টারফেস ডিজাইন প্যাটার্নটির জন্য সমর্থন যোগ করে। এই লাইব্রেরিতে উপাদান নকশা ব্যবহারকারী ইন্টারফেস বাস্তবায়নের জন্য সমর্থন অন্তর্ভুক্ত ।

এখানে ভি 7 অ্যাপকম্প্যাট লাইব্রেরিতে অন্তর্ভুক্ত কয়েকটি কী ক্লাস রয়েছে:

  • ActionBar - ক্রিয়া বার ব্যবহারকারী ইন্টারফেস প্যাটার্ন একটি বাস্তবায়ন সরবরাহ করে।
  • AppCompatActivity- একটি অ্যাপ্লিকেশন ক্রিয়াকলাপ যোগ করে যা সমর্থন লাইব্রেরি অ্যাকশন বার ব্যবহার করে এমন ক্রিয়াকলাপগুলির জন্য বেস শ্রেণি হিসাবে ব্যবহার করা যেতে পারে বাস্তবায়ন ।
  • AppCompatDialog- একটি ডায়লগ ক্লাস যুক্ত করে যা অ্যাপকম্প্যাট থিমযুক্ত সংলাপগুলির জন্য বেস শ্রেণি হিসাবে ব্যবহার করা যেতে পারে ।
  • ShareActionProvider - একটি স্ট্যান্ডার্ডাইজড শেয়ারিং অ্যাকশন (যেমন ইমেল বা সামাজিক অ্যাপ্লিকেশনগুলিতে পোস্ট করা) যাতে অ্যাকশন বারে অন্তর্ভুক্ত করা যায় তার জন্য সমর্থন যোগ করে।

আপনি অ্যান্ড্রয়েড সমর্থন লাইব্রেরিগুলি ডাউনলোড করার পরে , এই লাইব্রেরিটি / এক্সট্রা / অ্যান্ড্রয়েড / সমর্থন / ভি 7 / অ্যাপকম্প্যাট / ডিরেক্টরিতে অবস্থিত।


কি হবে android.support.v4.app.ActivityCompat? এটি কি শুধু পুরাতন নাম AppCompatActivity?
টেলান

7

পূর্বে একমাত্র প্রবেশের পয়েন্টটি AppCompatছিল এখন অবনমিত ActionBarActivityশ্রেণীর মাধ্যমে । দুর্ভাগ্যক্রমে এটি আপনাকে একটি সেট কার্যকলাপ ক্রিয়াকলাপ ব্যবহার করতে বাধ্য করেছিল যা ব্যবহারের মতো জিনিস তৈরি করেPreferenceActivity অসম্ভব ।

আরও তথ্যের জন্য ক্রিস ব্যানগুলির সমর্থন-লাইব্রেরি-v22-1-0 দেখুন


1
এটি ক্রিসের ব্লগ, খুব প্রশংসিত।
সাইলেন্টনাট

2

অ্যান্ড্রয়েড সমর্থন লাইব্রেরির সর্বশেষ প্রকাশ, ২২.১, ActionBarActivityএর পক্ষে অবহিত করে AppCompatActivity, যা ActionBarএপিআই লেভেল 7 এবং তারপরে শুরু হওয়া সমস্ত ডিভাইসের জন্য একক ধারাবাহিকতা আনার প্রতিশ্রুতি দেয়

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