একটি ডিভাইসে কনফিগারেশন তথ্য সংরক্ষণের জন্য AOSP নিম্নলিখিত বিকল্পগুলি প্রদান করে:
- সিস্টেমের বৈশিষ্ট্য
- হার্ডওয়্যার অ্যাবস্ট্রাকশন লেয়ার (HAL) বৈশিষ্ট্য
- সিস্টেম কনফিগারেশন XML ফাইল
- রিসোর্স ওভারলে (স্ট্যাটিক এবং রানটাইম)
সিস্টেমের বৈশিষ্ট্য
সিস্টেম প্রোপার্টি হলো build.prop গ্লোবাল ডিকশনারিতে সংরক্ষিত স্ট্রিং কী/ভ্যালু পেয়ার। সিস্টেম প্রোপার্টি হলো সিস্টেম-ব্যাপী রিসোর্স যা ব্যবহার করা সহজ এবং এর পারফরম্যান্স ওভারহেড কম। সিস্টেম প্রোপার্টি ব্যবহার করার সময়, একাধিক প্রসেসের মধ্যে শেয়ার করা হলেও ইন্টারপ্রসেস কমিউনিকেশন (IPC) ব্যবহার করার প্রয়োজন হয় না। তবে, সিস্টেম প্রোপার্টি গ্লোবাল ভেরিয়েবলের মতোই এবং এর অপব্যবহার ক্ষতিকর হতে পারে। সিস্টেম প্রোপার্টির অপব্যবহারের ফলে নিরাপত্তা ঝুঁকি এবং অ্যাপ ব্যবহারকারীদের জন্য অ্যাক্সেসযোগ্য না হওয়ার মতো সমস্যা দেখা দিতে পারে। কনফিগারেশন তথ্য সংরক্ষণের জন্য সিস্টেম প্রোপার্টি ব্যবহার করার আগে, অন্যান্য কনফিগারেশন বিকল্পগুলো বিবেচনা করুন।
সিস্টেম প্রোপার্টি সম্পর্কে আরও তথ্যের জন্য, সিস্টেম প্রোপার্টি যোগ করুন দেখুন।
HAL বৈশিষ্ট্য
যখন কোনো কনফিগারেশনের তথ্যের উৎস ডিভাইসের কোনো হার্ডওয়্যার কম্পোনেন্ট হয়, তখন সেই হার্ডওয়্যারের জন্য HAL-কে অবশ্যই সেই কম্পোনেন্টের তথ্য সরবরাহ করতে হবে। কনফিগারেশন অ্যাক্সেস করার জন্য বিদ্যমান HAL-এ একটি নতুন HAL মেথড সংজ্ঞায়িত করুন। HAL তৈরি করার বিষয়ে আরও তথ্যের জন্য, AIDL for HALs দেখুন।
সিস্টেম কনফিগারেশন XML ফাইল
যখন কনফিগারেশন ডেটা স্থির কিন্তু জটিল (কাঠামোগত) হয়, তখন কনফিগারেশন ডেটার জন্য XML বা এই জাতীয় অন্যান্য ফরম্যাট ব্যবহার করার কথা বিবেচনা করুন। ফাইল স্কিমা যেন স্থিতিশীল থাকে তা নিশ্চিত করুন। XML ফাইলের ক্ষেত্রে, স্কিমা স্থিতিশীল রাখতে এবং স্বয়ংক্রিয়ভাবে তৈরি হওয়া XML পার্সারের সুবিধা নিতে আপনি xsd_config ব্যবহার করতে পারেন।
রিসোর্স ওভারলে
আপনি একটি পণ্যকে কাস্টমাইজ করতে রিসোর্স ওভারলে ব্যবহার করতে পারেন। রিসোর্স ওভারলে দুই প্রকারের হয়:
স্ট্যান্ডার্ড রিসোর্স ওভারলে বিল্ড করার সময় একটি প্রোডাক্টকে কাস্টমাইজ করতে ব্যবহৃত হয়। স্ট্যান্ডার্ড রিসোর্স ওভারলে সম্পর্কে তথ্যের জন্য, ‘রিসোর্স ওভারলে ব্যবহার করে বিল্ড কাস্টমাইজ করা’ দেখুন।
রানটাইম রিসোর্স ওভারলে (RRO) রানটাইমে একটি টার্গেট প্যাকেজের রিসোর্স ভ্যালু পরিবর্তন করতে ব্যবহৃত হয়। উদাহরণস্বরূপ, সিস্টেম ইমেজে ইনস্টল করা একটি অ্যাপ কোনো রিসোর্সের ভ্যালুর উপর ভিত্তি করে তার আচরণ পরিবর্তন করতে পারে। বিল্ড টাইমে রিসোর্স ভ্যালু হার্ডকোড করার পরিবর্তে, একটি ভিন্ন পার্টিশনে ইনস্টল করা RRO রানটাইমে অ্যাপটির রিসোর্সগুলোর ভ্যালু পরিবর্তন করতে পারে। RRO সম্পর্কে আরও তথ্যের জন্য, "রানটাইমে একটি অ্যাপের রিসোর্সের ভ্যালু পরিবর্তন করুন" দেখুন।