অ্যান্ড্রয়েডে সেন্ড স্টিকি ব্রডকাস্ট এবং সেন্ডব্রোডকাস্টের মধ্যে পার্থক্য কী


উত্তর:


120

অ্যান্ড্রয়েড এসডিকে সম্পর্কে যা বলে তা এখানেsendStickyBroadcast() :

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

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


6
অভিপ্রায়টি কতটা আঠালো? আপনি যখন দ্বিতীয়বার রেজিস্ট্রারকে কল করেন তখন কি আবার একই অভিপ্রায় ফিরে আসে? (এই ক্রিয়াকলাপের সাথে কোনও অতিরিক্ত অভিপ্রায়
অনুমান করে না

22
@ ফ্রিড: "আপনি যখন দ্বিতীয়বার রেজিস্ট্রারকে কল করেন তখন কি আবার একই অভিপ্রায় ফিরে আসে?" -- হ্যাঁ. "ক্ষমতা হ্রাস?" - এগুলি চলে যায়, র‌্যামের কিছু যেমন করে in "স্ক্রিন অফ?" -- কোন প্রভাব নেই.
কমন্সওয়্যার

1
কেবল যোগ করার জন্য এই স্টিকি ব্রডকাস্টগুলি মেস হ্যাকোবার দ্বারা কঠোরভাবে নিরুৎসাহিত করা হয়েছে: groups.google.com/d/msg/android-developers/8341SAXhvmY/… । এটি একটি পুরানো পোস্ট তবে সম্ভবত এখনও প্রয়োগ হয়
Mr_and_Mrs_D

1
@ কমন্সওয়্যার: আমি আপনার পয়েন্টগুলি বুঝতে পারি না scenario একই দৃশ্যের জন্য সাধারণ অভিপ্রায় উদাহরণ এবং স্টিকি ইন্টেন্টের উদাহরণ দিয়ে ব্যাখ্যা করুন hen তবে এটি আমার কাছে একটি সুস্পষ্ট ধারণা পেতে উপকারী হবে
সিভাকুমার.জে

4
@ কুশল: "তাহলে এখন স্টিকি ব্রডকাস্টের বিকল্প কী হওয়া উচিত?" - আমি সত্যিই এর উত্তর দিতে পারি না, কারণ আপনার ব্যবহারের ক্ষেত্রে কী তা আমি জানি না। আপনি একটি নতুন স্ট্যাক ওভারফ্লো প্রশ্ন জিজ্ঞাসা করার বিষয়ে বিবেচনা করতে পারেন, যেখানে আপনি আপনার ব্যবসায়ের প্রয়োজনীয়তা বর্ণনা করছেন, কীভাবে আপনি এটি স্টিকি সম্প্রচারের মাধ্যমে সমাধান করার চিন্তাভাবনা করেছিলেন, এবং একই সমস্যা সমাধানের বিকল্প উপায় জিজ্ঞাসা করতে পারেন।
কমন্সওয়্যার

54

প্রকারগুলি : - স্থানীয়, সাধারণ, অর্ডার করা এবং স্টিকি

সাধারণ সম্প্রচার

: - সেন্ডব্রডকাস্ট ব্যবহার করুন ()

: - অ্যাসিক্রোনাস সম্প্রচার

: - যে কোনও রিসিভার সম্প্রচারিত হয় কোনও নির্দিষ্ট অর্ডার নয়

আদেশিত সম্প্রচার

: - সেন্ডঅর্ডারডড্রাস্টকাস্ট () ব্যবহার করুন

: - সিঙ্ক্রোনাস সম্প্রচার

: - রিসিভার অগ্রাধিকার বেসে সম্প্রচার গ্রহণ করে

: - আমরা সহজেই এই ধরণের সম্প্রচার বাতিল করতে পারি

স্থানীয় সম্প্রচার

: - সম্প্রচারটি কেবল একই প্রক্রিয়ার অভ্যন্তরে ব্যবহৃত হয় তখনই ব্যবহার করুন

স্টিকি ব্রডকাস্ট

: - এটি সিস্টেম দ্বারা প্রেরণ ও প্রক্রিয়া করার পরে সাধারণ সম্প্রচারের অভিপ্রায় আর পাওয়া যায় না।

: - সেন্ড স্টিকি ব্রডকাস্ট ব্যবহার করুন (উদ্দেশ্য)

: - সম্পর্কিত অভিপ্রায়টি স্টিকি, যার অর্থ আপনি সম্প্রচারটি সম্পূর্ণ হওয়ার পরে আপনি প্রেরণ করছেন around

: - এর কারণে অন্যরা নিবন্ধভুক্ত রিসিভারের (ব্রডকাস্ট্রিসিভার, ইনটেন্টফিল্টার) রিটার্ন মানের মাধ্যমে সেই তথ্যটি দ্রুত উদ্ধার করতে পারে।

: - এটিকে সেন্ডড্রোডকাস্ট (ইন্টেন্ট) বাদে।


খুব সহায়ক ..
মেহের আবুত্রা

10

sendbroadcast() - সাধারণ সম্প্রচার, তবে আমরা পাশাপাশি অগ্রাধিকার সেট করতে পারি।

sendstickybroadcast()- এর সাথে পাস করা উদ্দেশ্য ভবিষ্যতের ব্যবহারকারীদের যারা কোডের মাধ্যমে নিবন্ধন করছেন তাদের জন্য স্টিক হবে (গতিশীল রিসিভার)) যে সম্প্রচারটি অ্যান্ড্রয়েডের সাথে লেগে থাকবে এবং যে কোনও সম্প্রচার গ্রহণকারীদের ভবিষ্যতের অনুরোধগুলিতে পুনঃ বিতরণ বা পুনঃ সম্প্রচারিত হবে

যখন কেউ এটি ব্যবহার করে একটি স্টিকি সম্প্রচার প্রেরণ করে sendstickyBroadcast(intent);তখন সেই সম্প্রচার ভবিষ্যতের ব্যবহারকারীদের জন্য যারা গতিশীল রিসিভারগুলি ব্যবহার করছেন তাদের জন্য উপলব্ধ।

তবে এখন আপনার এই sendStickyBroadcast()পদ্ধতিটি অবচয় করা উচিত নয়

অ্যান্ড্রয়েড ডকুমেন্টেশন থেকে:

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

আশা করি এটা কাজে লাগবে.

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