আমার কীসের জন্য অ্যান্ড্রয়েড অ্যাকাউন্টম্যানেজার ব্যবহার করা উচিত?


154

অ্যান্ড্রয়েড এসডিকে আমি অ্যাকাউন্টম্যানেজার দেখেছি এবং এটি অ্যাকাউন্টের তথ্য সংরক্ষণের জন্য ব্যবহৃত হয়। সুতরাং, আমি এটির জন্য যা করা হয়েছে তার কোনও সাধারণ আলোচনা খুঁজে পাচ্ছি না। অ্যাকাউন্টম্যানেজারের পিছনে উদ্দেশ্য কী এবং এটি আপনাকে কেনে সে সম্পর্কে কোনও সহায়ক আলোচনার কথা কি কেউ জানেন? এটি কোন ধরণের অ্যাকাউন্টগুলির জন্য উপযুক্ত? আপনি কি সেখানে কোনও সাধারণ ওয়েব পরিষেবার জন্য আপনার ব্যবহারকারীর অ্যাকাউন্টের তথ্য রাখবেন?


দ্রষ্টব্য আমি ২.১ বা তারপরের উপরে লক্ষ্যবস্তু করছি, তাই আমি যদি অ্যাকাউন্টে ম্যানেজারটি বোধগম্য পছন্দ হয় তবে ব্যবহার করতে পারি
ফিল

7
এই পোস্টে এই প্রশ্ন সম্পর্কে একটি বিভাগ রয়েছে: udinic.wordpress.com/2013/04/24/…
উদিনিক

@ ইউদিনিক - ধন্যবাদ প্রচুর সাহায্য!
চাদ বিংহাম

এই বিষয়টিকে এই সাইটে ডিল করা হয়: www.digigene.com/android/accounts-in-android/
আলী নেম

এছাড়া অ্যান্ড্রয়েড অ্যাকাউন্ট পরিচালনার জন্য একটি লাইব্রেরী এখানে
আলী নেম

উত্তর:


94

এই প্রশ্নটি কিছুটা পুরানো, তবে আমি মনে করি এটি এখনও ভাল আগ্রহী।

AccountManager, SyncAdapterএবং ContentProviderএকসাথে যেতে।

তবে আপনি পারবেন:

সাথে AccountManager/ SyncAdapter/ ContentProvider:

  • AccountManager ব্যবহারকারীদের তাদের শংসাপত্রগুলি সংজ্ঞায়িত করার জন্য একটি কেন্দ্রীয় পয়েন্ট (সেটিংস> অ্যাকাউন্টসমূহ) দেয়
  • অ্যান্ড্রয়েড সিদ্ধান্ত নেয় কখন সিঙ্ক্রোনাইজেশনের মাধ্যমে করা যায় SyncAdapter। ব্যাটারি অপ্টিমাইজ করা ভাল হতে পারে (উদাহরণস্বরূপ, নেটওয়ার্ক ডাউন থাকলে কোনও সিঙ্ক হয় না)
  • ContentProviderঅ্যাপ্লিকেশনগুলিতে ডেটা ভাগ করার একটি সুবিধাজনক উপায় নোট: অ্যান্ড্রয়েডে আন্ত-প্রক্রিয়া যোগাযোগের অন্যান্য পদ্ধতি রয়েছে
  • ContentProviderসময়সূচী একটি পটভূমিতে ডাটাবেসের এক্সেস থ্রেডAsyncQueryHanlder অনুসন্ধান করতে সাহায্য করে ContentProviderএকটি ব্যাকগ্রাউন্ড থ্রেড, আবেদন প্রতিক্রিয়াশীল (ANR- এর) ত্রুটি প্রতিরোধ প্রয়োজন না আপনি স্পষ্টভাবে থ্রেডিং হ্যান্ডেল করতে হয়।
  • ContentProviderContentResolverএর পর্যবেক্ষকের সাথে সম্পর্কযুক্ত : এর অর্থ বিষয়বস্তু পরিবর্তিত হলে ভিউগুলি অবহিত করা সহজ

নীচের লাইন : আপনি যদি কোনও ওয়েব সংস্থান থেকে ডেটা সিঙ্ক্রোনাইজ করতে চান তবে ফ্রেমওয়ার্ক AccountManager/ SyncAdapter/ ContentProviderসহায়তা করে। নকল / বোবা বাস্তবায়নগুলি এপিআই 7.. এও প্রয়োজনীয়

  • আপনি যদি কেবল ডেটা সঞ্চয় করতে চান তবে আপনার ডেটা সঞ্চয় করার জন্য একটি সহজ প্রক্রিয়া বিবেচনা করা উচিত
  • আপনার যদি কেবলমাত্র একটিমাত্র সংস্থান আনার দরকার হয় তবে আপনি একটি ব্যবহার করতে পারেন AsyncTaskLoader
  • আপনি যদি অ্যাসিঙ্ক্রোনালি চিত্রগুলি লোড করতে চান তবে আপনি স্কয়ার পিকাসোর মতো বিশেষায়িত লাইব্রেরি ব্যবহার করতে পারেন
  • যদি আপনি কেবলমাত্র একটি নির্দিষ্ট সময়ে কিছু কোড সম্পাদন করতে চান তবে আপনি কোনও পরিষেবা / অ্যালার্ম বিবেচনা করতে পারেন
  • কেবলমাত্র API> = 7 থেকে উপলব্ধ (এটি কোনও বিষয় নয়)

অবশেষে, আপনি একটি ব্যবহার SyncAdapter, গম্ভীরভাবে বিবেচনা Firebase ক্লাউড মেসেজিং (আগের Google ক্লাউড মেসেজিং) ওরফে "পুশ বিজ্ঞপ্তি" নবীন আপডেট ও অপ্টিমাইজ করা ব্যাটারি ব্যবহার আছে।


1
এসডিকে নমুনায়, অ্যাকাউন্টআউটনেস্টিএটিভিটি একমাত্র the চ্ছিক টুকরা।
আরডিএস

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


ধন্যবাদ @ আরডস তবে আপনার ব্যাখ্যার ভিত্তিতে মনে হচ্ছে নমুনা কোড যথেষ্ট is দেখে মনে হচ্ছে আমার লক্ষ্যে পৌঁছানোর জন্য আমার একটি সিঙ্কএডাপ্টার এবং একটি কন্টেন্টপ্রোভাইডারও প্রয়োগ করতে হবে। আমি ভুল হলে আমাকে সংশোধন করুন :)
dackyD

একেবারে সঠিক. এটি আমার প্রথম অনুচ্ছেদের অর্থ ছিল, তারা একসাথে যায় এবং অন্যগুলি ব্যতীত একটি ব্যবহার করা অসম্ভব।
আরডিএস

23

অ্যাকাউন্টম্যানেজার ক্লাসটি আপনার ফোন অ্যাকাউন্টগুলির সাথে একীভূত। সুতরাং আপনি যদি সমস্ত গাইড অনুসরণ করেন এবং এটি সঠিকভাবে কাজ করে যান তবে আপনি "সেটিংস-> অ্যাকাউন্টসমূহ এবং সিঙ্ক" মেনুতে আপনার অ্যাকাউন্টগুলি দেখতে পাবেন। সেখান থেকে আপনি এগুলি কাস্টমাইজ করতে পারেন বা এগুলি মুছতে পারেন। তবুও অ্যাকাউন্ট ম্যানেজারটি আপনার অ্যাকাউন্টগুলির জন্য প্রমাণীকরণের টিকিটের ক্যাশে রয়েছে। আপনি যদি নিজের অ্যাকাউন্টটি সিঙ্ক্রোনাইজ করার পরিকল্পনা না করেন (যতদূর আমি জানি) এটিও ব্যবহার করা যেতে পারে।

যদি আপনি না চান যে আপনার অ্যাকাউন্টগুলি সেই মেনুতে প্রদর্শিত হয় তবে আপনি অ্যাকাউন্টম্যানেজারটি ব্যবহার করবেন না এবং অ্যাকাউন্টগুলি অন্য কোথাও ডেটা সঞ্চয় করতে পারবেন না (সম্ভবত ভাগ করা পছন্দসমূহে) http://developer.android.com/guide/topics/data/data -storage.html


14

Http://www.c99.org/2010/01/23/writing-an-android-sync-provider-part-1/ থেকে :

ধাঁধার প্রথম অংশটিকে অ্যাকাউন্ট প্রমাণীকরণকারী বলা হয়, যা ব্যবহারকারীর অ্যাকাউন্ট "অ্যাকাউন্টস এবং সিঙ্ক" সেটিংসে কীভাবে প্রদর্শিত হবে তা নির্ধারণ করে। অ্যাকাউন্ট প্রমাণীকরণকারীর প্রয়োগের জন্য 3 টি টুকরো দরকার: একটি পরিষেবা যা অনবাইন্ড পদ্ধতি থেকে অ্যাবস্ট্রাক্ট অ্যাকাউন্টাউন্টিয়েটেটরের একটি সাবক্লাস ফেরত দেয়, ব্যবহারকারীকে তাদের শংসাপত্রগুলি প্রবেশ করানোর জন্য অনুরোধ জানানো একটি ক্রিয়াকলাপ এবং ব্যবহারকারীর কাছে প্রদর্শিত হলে আপনার অ্যাকাউন্টটি কেমন হওয়া উচিত তা বর্ণনা করে এমন একটি এক্সএমএল ফাইল। আপনাকে আপনার অ্যান্ড্রয়েড ম্যানিফেস্ট.এক্সএমএল এ android.permission.AUTHENTICATE_ACCOUNTS অনুমতিও যুক্ত করতে হবে।


3
এটি একটি ভাল নিবন্ধ, তবে আপনি কি মনে করেন যে অ্যাকাউন্টম্যানেজারটি কেবলমাত্র সেই অ্যাকাউন্টগুলির জন্য যা পরিচিতি এবং ইমেল সিঙ্ক করে, বা আমরা কি ব্যবহারকারীর আইডি এবং পাসওয়ার্ড সহ এমন কোনও কিছুর জন্য ব্যবহার করতে পারি?
ফিল

@ ফিল: আমি কখনও অ্যাকাউন্টম্যানেজার ব্যবহার করি নি তাই আপনাকে বলতে পারি না। মনে রাখবেন এটি 2.0 এর সাথে আসে তাই আপনি যদি কম এসডিকে দিয়ে ডিভাইসগুলি চালাতে ইচ্ছুক হন তবে আপনাকে লগইন হ্যান্ডেল করার জন্য অন্য কোনও উপায় খুঁজে পেতে হবে।
ম্যাকার্সে

6
আপনি যে কোনও ধরণের ডেটা সিঙ্ক করে কোনও ধরণের অ্যাকাউন্টের জন্য অ্যাকাউন্ট ম্যানেজারটি ব্যবহার করতে পারেন। পরীক্ষা করে দেখুন github.com/maxpower47/PinDroid সিঙ্ক বুকমার্ক এটি একটি SQLite ডাটাবেস ব্যবহারের একটি উদাহরণ জন্য।
সর্বোচ্চ শক্তি 47

7

AccountManagerনিম্নলিখিত কারণের জন্য ভাল:

  • প্রথমটি হ'ল একক অ্যাকাউন্টের ধরণের অধীনে অ্যাপের বৈশিষ্ট্যগুলিতে অ্যাক্সেসের বিভিন্ন স্তরের একাধিক অ্যাকাউন্টের নাম সঞ্চয় করা। উদাহরণস্বরূপ, একটি ভিডিও স্ট্রিমিং অ্যাপে একটির দুটি অ্যাকাউন্টের নাম থাকতে পারে: একটিতে সীমিত সংখ্যক ভিডিওর ডেমো অ্যাক্সেস সহ অন্যটি সমস্ত ভিডিওতে পুরো মাস অ্যাক্সেস সহ। তবে এটি ব্যবহারের মূল কারণ নয় Accounts, যেহেতু আপনি এই অভিনব-দৃষ্টিকোণ Accountsজিনিসটির প্রয়োজন ছাড়াই সহজেই আপনার অ্যাপ্লিকেশনটিতে এটি পরিচালনা করতে পারেন …।
  • ব্যবহারের অন্য সুবিধাটি Accountsহ'ল ব্যবহারকারীর নাম এবং পাসওয়ার্ডের সাহায্যে প্রথাগত অনুমোদনের পরিত্রাণ পাবার জন্য যখন ব্যবহারকারী কর্তৃক কোনও অনুমোদিত বৈশিষ্ট্যটি অনুরোধ করা হয়, কারণ প্রমাণীকরণ ব্যাকগ্রাউন্ডে স্থান নেয় এবং ব্যবহারকারীকে কেবলমাত্র কিছু নির্দিষ্ট শর্তে তাদের পাসওয়ার্ডের জন্য জিজ্ঞাসা করা হয়, যা আমি পরে এটি পেতে হবে।
  • Accountsঅ্যান্ড্রয়েডে বৈশিষ্ট্যটি ব্যবহার করে নিজের অ্যাকাউন্টের ধরণ নির্ধারণের প্রয়োজনীয়তাও সরিয়ে দেয়। অনুমোদনের জন্য গুগল অ্যাকাউন্ট ব্যবহার করে আপনি সম্ভবত অ্যাপ্লিকেশন জুড়ে এসেছেন, যা একটি নতুন অ্যাকাউন্ট তৈরি এবং ব্যবহারকারীর জন্য এর শংসাপত্রগুলি মনে রাখার ঝামেলা বাঁচায়।
  • Accounts সেটিংস ounts অ্যাকাউন্টগুলির মাধ্যমে স্বাধীনভাবে যুক্ত করা যায়
  • ক্রস প্ল্যাটফর্ম ব্যবহারকারী অনুমোদন ব্যবহার করে সহজেই পরিচালনা করা যায় Accounts। উদাহরণস্বরূপ, ক্লায়েন্ট পুনরাবৃত্ত লগইন না করে তাদের অ্যান্ড্রয়েড ডিভাইস এবং পিসিতে একই সময়ে সুরক্ষিত উপাদান অ্যাক্সেস করতে পারে।
  • সুরক্ষার দৃষ্টিকোণ থেকে, সার্ভারের প্রতিটি অনুরোধে একই পাসওয়ার্ডটি ব্যবহার করা নিরাপদ সংযোগগুলিতে সম্ভাব্য শ্রাবণের অনুমতি দেয়। পাসওয়ার্ড চুরি রোধ করতে এখানে পাসওয়ার্ড এনক্রিপশন যথেষ্ট নয়।
  • অবশেষে, Accountsঅ্যান্ড্রয়েডে বৈশিষ্ট্যটি ব্যবহারের একটি গুরুত্বপূর্ণ কারণ হ'ল Accountsক্লায়েন্টের (ব্যবহারকারীর) শংসাপত্রগুলির সাথে কোনও আপস না করে কোনও ব্যবসায়ের উপর নির্ভরশীল , তথাকথিত প্রমাণীকরণকারী এবং সংস্থান মালিককে আলাদা করা parties শর্তগুলি বরং অস্পষ্ট বলে মনে হতে পারে তবে আপনি নিম্নলিখিত অনুচ্ছেদটি পড়েন না ... "😉

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

উপরের ত্রুটিগুলি দূর করার জন্য, ওআউথ চালু হয়েছিল। অনুমোদনের ওপেন স্ট্যান্ডার্ড হিসাবে, উপরের উদাহরণে, ওআউথ দাবি করেছে যে যোগ্যতা প্রদানকারী ব্যবহারকারীদের (তৃতীয় পক্ষের) অ্যাক্সেস টোকেন নামে কিছু টোকেন জারি করে এবং তারপরে সংস্থা এ (সংস্থান মালিক) সরবরাহের মাধ্যমে সংস্থা বি (অনুমোদনকারী) দ্বারা অনুমোদনটি করা উচিত that টোকেন। সুতরাং কোনও টোকেন মানেই কোনও যোগ্যতা নেই।

আমি এখানেAccountManager আমার ওয়েবসাইটে আরও এবং এই সম্পর্কে আরও বিশদ দিয়েছি

এটি অ্যাকাউন্টম্যানেজার ব্যবহার করে একটি সাধারণ অ্যাপ

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