সাধারণত অনেক প্ল্যাটফর্মে আমি আমার স্ট্রিং রিসোর্সগুলি একটি .resx বা .xML ফাইলে লিখছি এবং তারপরে আমি কিছু প্ল্যাটফর্ম-নির্ভর পন্থা ব্যবহার করে সেগুলি পেয়ে যাচ্ছি।
অর্থাৎ iOS এ, আমি তাদের মাধ্যমে পেয়ে করছি NSBundle.MainBundle
, এবং ব্যবহার করে Context.Resources
Android এর উপর।
এই পদ্ধতির সুবিধা কী কী এবং কেন এটি কোডে সরাসরি অ্যাক্সেসযোগ্য নয়, সুতরাং, উদাহরণস্বরূপ:
ক্রস প্ল্যাটফর্ম প্রকল্পে, কোনও প্ল্যাটফর্ম কোনও সংহত না করে সরাসরি এটি অ্যাক্সেস করতে পারে।
সম্পদগুলি ভালভাবে নির্মিত বা না করা সম্পর্কে বিল্ডিংয়ের সময় কোনও উদ্বেগ নেই।
- কোডার বহুভাষ্য হ্যান্ডলিংয়ের মতো কার্যকারিতা ব্যবহার করতে পারে
দীর্ঘ গল্প সংক্ষিপ্ত: স্ট্রিং সংস্থানগুলি সেভাবে কাঠামোবদ্ধ হওয়ার কারণ কী?
[সম্পাদনা]
ধরা যাক যে আমার ফাইলটি অন্য প্রকল্পের মধ্যে ভাগ করা একটি "মূল" প্রকল্পের অংশ। (একটি পিসিএল, ক্রস-প্ল্যাটফর্ম প্রকল্প ফাইল কাঠামো সম্পর্কে চিন্তা করুন))
এবং ধরুন যে আমার ফাইলটি .resx / .xML ফাইলের সাথে সম্পূর্ণরূপে অনুরূপ, (আমি এক্সএমএল সমর্থিত নই, দুঃখিত!): প্যারামিটারগুলি প্যারামিট্রেস
সুতরাং, এটি মূলত একটি কাস্টম এক্সএমএল, যেখানে আপনি সঠিক স্ট্রিংটি পেতে কী / ভাষার দিকে নির্দেশ করেন।
আপনি যেমন কোনও অ্যাপের অভ্যন্তরে যে কোনও অ্যাক্সেসযোগ্য ফাইল যুক্ত করেন এবং পিসিএল ব্যবহার করে কোডিং স্ট্রিংয়ের সংস্থানগুলি অ্যাক্সেস করার জন্য সিস্টেমটি ঠিক তেমনই ফাইলটির আবেদনের অংশ হয়ে যায়। এটি কি অ্যাপ্লিকেশনগুলিতে একটি ওভারহেড যুক্ত করবে?