অ্যান্ড্রয়েডে অ্যাডাপ্টারের ভূমিকা কী?


123

আমি জানতে চাই যে অ্যান্ড্রয়েডের প্রসঙ্গে অ্যাডাপ্টারগুলি কখন , কোথায় এবং কীভাবে ব্যবহৃত হয়।

অ্যান্ড্রয়েডের বিকাশকারী ডকুমেন্টেশন থেকে প্রাপ্ত তথ্য আমার পক্ষে অপর্যাপ্ত এবং আমি আরও বিশদ বিশ্লেষণ করতে চাই।

উত্তর:


29

ধরে নেওয়া যাক আপনি আপনার অ্যান্ড্রয়েড অ্যাপে একটি তালিকা প্রদর্শন করতে চান। এর জন্য আপনি ListViewঅ্যান্ড্রয়েড সরবরাহিত ব্যবহার করবেন । ListViewএর আসলে কোনও ডেটা তাদের নেই। এটিতে ডেটা ছাড়াই এটি কেবলমাত্র একটি ইউআই উপাদান। আপনি ListViewঅ্যান্ড্রয়েড অ্যাডাপ্টার ব্যবহার করে আপনার পপুলেশন করতে পারেন ।

Adapterএমন একটি ইন্টারফেস যাঁর বাস্তবায়ন ডেটা সরবরাহ করে এবং সেই ডেটার প্রদর্শন নিয়ন্ত্রণ করে। ListViewএর নিজস্ব অ্যাডাপ্টার যা সম্পূর্ণরূপে ListViewএর প্রদর্শন নিয়ন্ত্রণ করে । সুতরাং অ্যাডাপ্টারগুলি তালিকায় প্রদর্শিত সামগ্রীর পাশাপাশি এটি কীভাবে প্রদর্শিত হয় তা নিয়ন্ত্রণ করে।

Adapterইন্টারফেসে তথ্য যোগাযোগ করার বিভিন্ন পদ্ধতি রয়েছে ListView। আপনি প্রয়োগ করে স্ক্র্যাচ থেকে আপনার নিজস্ব অ্যাডাপ্টার তৈরি করতে পারেন BaseAdapter

public class ArrayAdapter<T> extends BaseAdapter implements Filterable {

// One of the constructors
public ArrayAdapter(Context context, int resource, int textViewResourceId, T[] objects) {
    init(context, resource, textViewResourceId, Arrays.asList(objects));
}

void manyMoreMethods(){} 

}

একটি অ্যাডাপ্টার সংজ্ঞায়িত করা যাক:

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
   android.R.layout.simple_list_item_1, android.R.id.text1, values);
  • প্রথম প্যারামিটার: প্রসঙ্গ
  • দ্বিতীয় প্যারামিটার: সারিটির জন্য বিন্যাস
  • তৃতীয় প্যারামিটার: TextViewডেটা লেখা হয়েছে তার আইডি
  • চতুর্থ প্যারামিটার: ডেটার অ্যারে

45

ওয়েল অ্যান্ড্রয়েডের অ্যাডাপ্টারগুলি মূলত ইউআই উপাদান এবং ডেটা উত্সের মধ্যে একটি সেতু যা ইউআই উপাদানগুলিতে ডেটা পূরণ করে

উদাহরণস্বরূপ, তালিকাগুলি (ইউআই কম্পোনেন্ট) ডেটা উত্স অ্যারে থেকে তালিকা অ্যাডাপ্টার ব্যবহার করে পপুলেশন হয়।


21
এটি একই তথ্য যা আমি ডকুমেন্টেশন থেকে পেতে পারি। তবে আমি একটি বিশদ ব্যাখ্যা চাই
রবিন

25

আমি আমার বোঝার ভাগ করে নিতে চাই।

এটি ডেটা উত্স এবং আপনার লেআউটের (সম্ভবত সম্ভবত তালিকাভিউ) মধ্যে একটি ইন্টারফেস।

একটি উপমা

আসুন একটি মোবাইল চার্জারের উদাহরণটি নেওয়া উচিত, বা একটি ইউএসবি কেবল কেবল। তারটিকে অ্যাডাপ্টার হিসাবে বিবেচনা করা যেতে পারে, যখন ডেটা উত্স এবং বিন্যাস যথাক্রমে সকেট (প্লাগ-ইন পয়েন্ট) এবং ইউএসবি পোর্ট (চার্জিং পয়েন্ট) হিসাবে বোঝা যায়।

মোবাইল চার্জিংয়ের ক্ষেত্রে, পাওয়ারের উত্স আলাদা হতে পারে, যেমন পাওয়ার ব্যাংক, সকেট বা ল্যাপটপ থেকে চার্জ করা। অ্যান্ড্রয়েডে ব্যবহৃত অ্যাডাপ্টারের ক্ষেত্রেও একই ঘটনা। অ্যাপ্লিকেশন প্রয়োজনীয়তার উপর নির্ভর করে ডেটা উত্স পরিবর্তন করা যেতে পারে।

সংক্ষেপে, অ্যান্ড্রয়েডের একটি অ্যাডাপ্টার কোনও উত্স (উদাহরণস্বরূপ ArrayList<>) থেকে ডেটা বহন করে এবং এটি একটি বিন্যাসে (.xML ফাইল) সরবরাহ করে।


2
এ পর্যন্ত সেরা উদাহরণ: ডি ভাল কাজ!
দক্ষিণ

8

অ্যান্ড্রয়েডের অ্যাডাপ্টারগুলি অ্যাডাপ্টার ভিউ (উদাঃ ListView) এবং সেই দৃশ্যের অন্তর্নিহিত ডেটার মধ্যে একটি সেতু । ভাবুন পৃথিবীটি অ্যাডাপ্টার ছাড়া কী হত!

উদাহরণ

  • এমন দৃশ্য যা উল্লম্বভাবে স্ক্রোলিং তালিকার আইটেমগুলি দেখায়। আইটেমগুলি ListAdapterএই দর্শনটির সাথে সম্পর্কিত থেকে আসে ।

  • ListAdapterতালিকার পৃথক সারির বিন্যাস 'নির্ধারণ করে এবং থেকে তথ্য উপলব্ধ করা ListViewমাধ্যমে setAdapter()পদ্ধতি ListView

  • অ্যান্ড্রয়েড বেশ কয়েকটি স্ট্যান্ডার্ড অ্যাডাপ্টার সরবরাহ করে; সবচেয়ে গুরুত্বপূর্ণ হয় ArrayAdapterএবং CursorAdapter

  • ArrayAdapter অ্যারে বা তালিকার উপর ভিত্তি করে ডেটা পরিচালনা করতে পারে।

  • SimpleCursorAdapter ডাটাবেস সম্পর্কিত ডেটা পরিচালনা করতে পারে।

4

অ্যাডাপ্টারগুলি মূলত সামগ্রী সরবরাহ করতে ব্যবহৃত হয়। আপনার প্রতিটি প্রয়োগে সম্ভবত একটি অ্যাডাপ্টার হ'ল কার্সরএডাপ্টার যা আপনাকে একটি ডেটাবেস কোয়েরি থেকে কার্সার দ্বারা প্রদত্ত সামগ্রী সরবরাহ করতে সক্ষম করে। একটি তালিকাভিউতে প্রায় সবসময় কিছু না কিছু অ্যাডাপ্টার থাকে।


7
এটি একই তথ্য যা আমি ডকুমেন্টেশন থেকে পেতে পারি। তবে আমি একটি বিশদ ব্যাখ্যা চাই
রবিন

@ রবিন: আপনি যে কোনও একটি উত্তর "গ্রহণ" করে আপনার প্রশ্নের 10 বছর পূর্তি উদযাপন করবেন না কেন? ব্যক্তিগতভাবে: ১) আমি আপনার প্রশ্নকে মূল্যবান বলে মনে করেছি (আমি এখানে কীভাবে ক্ষতবিক্ষত হয়েছি), ২) আমি এই উত্তরগুলির বেশিরভাগকে সহায়ক বলেছি (এটি সহ) ... এবং ৩) আপনি কী বলতে চাইছেন তা সম্পর্কে আমার কোনও ধারণা নেই আরও বিস্তারিত ব্যাখ্যা "। সম্ভবত এ কারণেই আমি "কেন" (পাশাপাশি উপরে বর্ণিত) সম্পর্কে আরও আগ্রহী; আমি "বিস্তারিত গাছ" চেয়ে "বন" (WarrenFaith প্রতিক্রিয়া মত) আরও আগ্রহী (whichI পারেন ডকুমেন্টেশন থেকে পেতে)। দয়া করে
উত্সাহিত

4

একটি অ্যাডাপ্টার AdapterViewসেই দর্শনটির জন্য একটি এবং অন্তর্নিহিত ডেটার মধ্যে একটি সেতু হিসাবে কাজ করে । অ্যাডাপ্টারটি ডেটা আইটেমগুলিতে অ্যাক্সেস সরবরাহ করে এবং ডেটা সেটে প্রতিটি আইটেমের জন্য একটি ভিউ তৈরির জন্য দায়বদ্ধ।

অ্যাডাপ্টারগুলি Viewকোনও ধরণের ডেটা উত্সের সাথে সংযোগ স্থাপনের একটি স্মার্ট উপায় । সাধারণত, আপনার দর্শনটি হ'ল একটি ListViewএবং ডেটা একটি Cursorবা আকারে আসবে Array। সুতরাং অ্যাডাপ্টারগুলি আসে CursorAdapterবা এর সাবক্লাস হিসাবে ArrayAdapter


2

একটি অ্যাডাপ্টার ডেটা মডেল পরিচালনা করে এবং তালিকা ভিউতে পৃথক সারিগুলিতে এটি অ্যাডাপ্ট করে। এটি BaseAdapterক্লাস প্রসারিত ।

তালিকাগুলির প্রতিটি লাইনে একটি লেআউট থাকে যা আপনার ইচ্ছামত জটিল হতে পারে। একটি তালিকার ভিউতে একটি সাধারণ লাইনের বাম দিকে একটি চিত্র এবং মাঝখানে দুটি পাঠ্য লাইন রয়েছে।


0

অ্যাডাপ্টারটি কেবলমাত্র লিস্টভিউ ধারণাটি অর্জন করতে ব্যবহৃত হয়। কেবলমাত্র ডেটা তালিকা প্রদর্শন করার জন্য নয় কিছু কাস্টম ভিউও। মনে করুন গ্রাহক সেই তালিকাটি ব্যবহার করতে চান যার অধিক সংখ্যক পাঠ্যদর্শন রয়েছে (অন্য কোনও দর্শন), আমাদের অ্যান্ড্রয়েডে অ্যাডাপ্টার ভিউটি ব্যবহার করতে হবে।


0

ইতিমধ্যে একাধিক উত্তর দেওয়া আছে, তবে আমি একটি আলাদা উত্তর দিতে চাই।

অ্যাডাপ্টারের অর্থ আপনি এটির সেতু সরবরাহকারী

অ্যাডাপ্টারগুলি ডেটার সেট এবং অ্যাডাপ্টারভিউয়ের মধ্যে লিঙ্ক যা ডেটা প্রদর্শন করে।


0

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

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