অ্যানড্রইড কিউতে পছন্দমন্ত্রকটি getDefaultSharedPreferences অবচয় করা হয়েছে


উত্তর:


214

আপনি অ্যান্ড্রয়েডএক্স সমর্থন লাইব্রেরি সংস্করণ ব্যবহার করতে পারেন PreferenceManager, androidx.preference.PreferenceManagerএবং না android.preference.PreferenceManager

আপনার build.gradle এ নিম্নলিখিত যোগ করতে মনে রাখবেন।

implementation 'androidx.preference:preference:1.1.1'

50
আপনি নির্ভরতা যুক্ত করতে ভুলে গেছেন: বাস্তবায়ন "androidx.preferences: পছন্দ: 1.1.0"
অভিনব স্যাক্সেনা

4
অবশ্যই অবিনাভসাক্সেনা হ্যাঁ অবশ্যই সমর্থন লাইব্রেরি ব্যবহার করার সময় এটি অন্তর্ভুক্ত। এই উত্তরের পূর্বের সম্পাদনাটি কেবলমাত্র কোটলিন কেটিএক্স অবক্ষয়কে যুক্ত করেছে; আমি সম্পাদনাটি ফিরিয়ে আনি কারণ এটি কেবলমাত্র কোটলিন ছিল।
laalto

এই বলে মনে হচ্ছে implementationনা dependency?
রিচার্ড ব্যারাক্লফ

যেটিও কাজ করে না: ': অ্যাপ @ ডিবাগঅ্যান্ড্রয়েড টেস্ট / সংকলন ক্লাসপাথ' এর জন্য নির্ভরতা সমাধান করতে অক্ষম: বাস্তবায়ন খুঁজে পাওয়া যায়নি "androidx.preferences: পছন্দ: 1.1.0।
রিচার্ড ব্যারাক্লফ

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

154

প্যাকেজটি পছন্দসই ব্যবস্থাপকpreference সরবরাহ করে :androidx

জাভা: implementation "androidx.preference:preference:1.1.1"

কোটলিন: implementation "androidx.preference:preference-ktx:1.1.1"


অর্থাত পরিবর্তন android.preference.PreferenceManagerকরতেandroidx.preference.PreferenceManager


আরো দেখুন PreferenceFragmentCompat , যা বর্তমান PreferenceFragmentব্যবহার করতে বর্গ।


এতে সরাসরি লিঙ্ক যুক্ত করা হয়েছিল PreferenceFragmentCompat, যা এর আগে আর অস্তিত্বহীন ছিল ... পছন্দগুলি আপডেট করার চেষ্টা করার পরে এটি সাধারণত পরবর্তী সমস্যার মুখোমুখি হতে পারে next অন্যান্য সংযুক্ত উত্তরটি কেবলমাত্র সীমিত সময়ের জন্য বৈধ ছিল।
মার্টিন জিটলার

আমরা কি এপিআই 29-এর আগে এপিআইগুলিতে ব্যবহার করতে পারি?
এইচ.কারাটসানোভ

3

যদি আপনি কেবল কী-মান যুক্তগুলি সংরক্ষণ এবং পুনরুদ্ধার করতে পারেন তবে আপনি প্রতিস্থাপন করতে পারেন:

 prefs = PreferenceManager.getDefaultSharedPreferences(this); 

সঙ্গে:

 prefs = getSharedPreferences(
            "my.app.packagename_preferences", Context.MODE_PRIVATE);

নতুন প্রয়োগের জন্য সঠিক ফাইলের নামটি ব্যবহার করার বিষয়ে নিশ্চিত হন বা আপনার ব্যবহারকারীগণ getDefaultSharedPreferences (!) এর মাধ্যমে সংরক্ষিত সমস্ত কিছুর অ্যাক্সেস হারাবেন। নিম্নলিখিতটি ফাইলের নাম getDefaultSharedPreferences ব্যবহার করবে:

getPackageName() + "_preferences"

2

PreferenceManager ডকুমেন্টেশন থেকে উদ্ধৃতি :

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


19
মূলটির সাথে কী সামঞ্জস্য ছিল না?
অ্যান্ড্রয়েড বিকাশকারী

1

হ্যাঁ, এটি অবহেলা করা হয়েছে। সমস্ত ডিভাইস জুড়ে সামঞ্জস্যপূর্ণ আচরণের জন্য AndroidX পছন্দ লাইব্রেরি ব্যবহার করুন। অ্যান্ড্রয়েডএক্স পছন্দ লাইব্রেরি ব্যবহার সম্পর্কে আরও তথ্যের জন্য সেটিংস দেখুন।

এটি অনুসরণ করুন -

পছন্দ ম্যানেজার

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