এক্সএমএল লেআউট ফাইলটিতে এই লাইনটি কেন প্রয়োজন?
xmlns:android="http://schemas.android.com/apk/res/android"
এক্সএমএল লেআউট ফাইলটিতে এই লাইনটি কেন প্রয়োজন?
xmlns:android="http://schemas.android.com/apk/res/android"
উত্তর:
এক্সএমএলে, xMLns একটি নেমস্পেস ঘোষণা করে। আসলে, আপনি যখন করবেন:
<LinearLayout android:id>
</LinearLayout>
কল করার পরিবর্তে android:id
, এক্সএমএলটি অনন্য হতে http://schemas.android.com/apk/res/android:id ব্যবহার করবে । সাধারণত এই পৃষ্ঠাটির অস্তিত্ব নেই (এটি একটি ইউআরআই, কোনও ইউআরএল নয়) তবে কখনও কখনও এটি ইউআরএল থাকে যা ব্যবহৃত নেমস্পেসটি ব্যাখ্যা করে।
নেমস্পেসটি জাভা অ্যাপ্লিকেশনটিতে প্যাকেজের নামের মতো ব্যবহার করে।
এখানে একটি ব্যাখ্যা।
ইউনিফর্ম রিসোর্স আইডেন্টিফায়ার (ইউআরআই)
একটি ইউনিফর্ম রিসোর্স আইডেন্টিফায়ার (ইউআরআই) এমন একটি অক্ষরের স্ট্রিং যা কোনও ইন্টারনেট রিসোর্স সনাক্ত করে।
সর্বাধিক সাধারণ ইউআরআই হ'ল ইউনিফর্ম রিসোর্স লোকেটার (ইউআরএল) যা কোনও ইন্টারনেট ডোমেন ঠিকানা সনাক্ত করে। আর একটি, ইউআরআই এর মতো সাধারণ ধরণের নয় ইউনিভার্সাল রিসোর্স নেম (ইউআরএন)।
আমাদের উদাহরণগুলিতে আমরা কেবল ইউআরএল ব্যবহার করব।
android:layout_width
পরিবর্তে কেন করব layout_width
?
xmlns:android=“http://schemas.android.com/apk/res/android”
XML ফাইলের বিন্যাসে কেন প্রথম হতে হবে তা বোঝার জন্য আমরা উদাহরণ ব্যবহার করে উপাদানগুলি বুঝতে পারি
Sample
::
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/container" >
</FrameLayout>
ইউনিফর্ম রিসোর্স ইন্ডিকেটর (ইউআরআই) :
প্রাক্তন: http://schemas.android.com/apk/res/android:id
এখানে ইউআরআই
xmlns:android
অ্যান্ড্রয়েড নেমস্পেস বর্ণনা করে।textview
অ্যান্ড্রয়েডের তুলনায় আলাদা আলাদা বৈশিষ্ট্য সহ আমাদের নিজস্ব উইজেটটি লিখি textview
, অ্যান্ড্রয়েড নেমস্পেস আমাদের কাস্টম textview
উইজেট এবং অ্যান্ড্রয়েড
textview
উইজেটের মধ্যে পার্থক্য করতে সহায়তা করেxMLns এক্সএমএল নেমস্পেসকে বোঝায়
এক্সএমএলে উপসর্গগুলি ব্যবহার করার সময়, উপসর্গের জন্য একটি তথাকথিত নেমস্পেস অবশ্যই সংজ্ঞায়িত করা উচিত। নেমস্পেসটি কোনও উপাদানের প্রারম্ভিক ট্যাগের xMLns বৈশিষ্ট্য দ্বারা সংজ্ঞায়িত করা হয়। নেমস্পেসের ঘোষণায় নিম্নলিখিত বাক্য গঠন রয়েছে। xmlns: উপসর্গ = "কোনো URI"।
দ্রষ্টব্য : নাম সন্ধানের জন্য ইউআরআই তথ্য অনুসন্ধানের জন্য পার্সার ব্যবহার করে না।
উদ্দেশ্য স্থানটি একটি অনন্য নাম দেওয়া। যাইহোক, প্রায়শই সংস্থাগুলি একটি ওয়েব পৃষ্ঠার নামস্পেসের তথ্য সম্বলিত পয়েন্টার হিসাবে নেমস্পেস ব্যবহার করে।
এটি কেবল এক্সএমএল নাম স্থানের ঘোষণা। নীচে তালিকাভুক্ত বৈশিষ্ট্যগুলি অ্যান্ড্রয়েডের অন্তর্গত যে নির্দিষ্ট করতে আমরা এই নাম স্থানটি ব্যবহার করি। সুতরাং তারা " অ্যান্ড্রয়েড: " দিয়ে শুরু করে
আপনি আসলে আপনার নিজস্ব কাস্টম বৈশিষ্ট্য তৈরি করতে পারেন। সুতরাং নামের দ্বন্দ্বগুলি রোধ করতে যেখানে 2 টি বৈশিষ্ট্য একই জিনিসকে দেওয়া হয়েছিল, তবে ভিন্নভাবে আচরণ করে আমরা এন্ড্রয়েড বৈশিষ্ট্যগুলি বোঝাতে এটি " অ্যান্ড্রয়েড: " উপসর্গ যুক্ত করি ।
সুতরাং, এই নামের স্থান ঘোষণাকে অবশ্যই আপনার এক্সএমএল ফাইলের মূল ভিউয়ের প্রারম্ভিক ট্যাগের মধ্যে অন্তর্ভুক্ত করা উচিত।
xMLns: অ্যান্ড্রয়েড অ্যান্ড্রয়েড নেমস্পেসের সংজ্ঞা দেয়। এই বৈশিষ্ট্যটি সর্বদা "http://schemas.android.com/apk/res/android" এ সেট করা উচিত।
পড়ুন http://developer.android.com/guide/topics/manifest/manifest-element.html
সাধারণ ব্যক্তির পদটি রাখার জন্য:
এক্সএমএলএনএস ছাড়াই: অ্যান্ড্রয়েড = " http://schemas.android.com/apk/res/android " অ্যান্ড্রয়েড সম্পর্কিত ট্যাগগুলি আমাদের লেআউটের এক্সএমএল ডকুমেন্টে স্বীকৃত হবে না।
এক্সএমএলে, উপাদানগুলির নামগুলি বিকাশকারী দ্বারা সংজ্ঞায়িত করা হয়। এটি বিভিন্ন এক্সএমএল অ্যাপ্লিকেশন থেকে এক্সএমএল নথিগুলিকে মেশানোর চেষ্টা করার সময় প্রায়শই দ্বন্দ্বের কারণ হয়। কোনও ব্যবহারকারী বা এক্সএমএল অ্যাপ্লিকেশন কীভাবে এই পার্থক্যগুলি পরিচালনা করতে পারে তা জানবে না। এক্সএমএলে নামের দ্বন্দ্ব সহজেই নামের উপসর্গ ব্যবহার করা এড়ানো যায়। এক্সএমএলে উপসর্গগুলি ব্যবহার করার সময়, উপসর্গের জন্য একটি নেমস্পেসটি অবশ্যই সংজ্ঞায়িত করা উচিত name নেমস্পেসটি কোনও এলিমেন্টের প্রারম্ভিক ট্যাগের একটি xMLns অ্যাট্রিবিউট দ্বারা সংজ্ঞায়িত করা যায় name নেমস্পেসের ঘোষণায় নিম্নলিখিত বাক্য গঠন রয়েছে। xmlns: উপসর্গ = "কোনো URI"।
xmlns:android="http://schemas.android.com/apk/res/android"
এটি xMLns এর রূপ: অ্যান্ড্রয়েড = "@ + / আইডি" id এখন এটি উল্লেখ করার জন্য আমরা উদাহরণস্বরূপ ব্যবহার করি
android:layout_width="wrap_content"
android:text="Hello World!"
আরেকটি এক্সএমএলএনএস হ'ল
xmlns:app="http://schemas.android.com/apk/res-auto"
যা xMLns আকারে: অ্যাপ = "@ + / আইডি" এবং এর ব্যবহার নীচে দেওয়া হয়েছে
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
xMLns: অ্যান্ড্রয়েড এটি অ্যান্ড্রয়েডে অ্যান্ড্রয়েড নেমস্পেসের সংজ্ঞা দেওয়ার জন্য ট্যাগ স্টার্ট। এটি অ্যান্ড্রয়েড গুগল বিকাশকারী দ্বারা সংজ্ঞায়িত স্ট্যান্ডার্ড কনভেনশন। আপনি যখন ডিফল্ট বা গ্রাহক এবং লেআউট ব্যবহার করছেন তখন অবশ্যই এই নেমস্পেসটি ব্যবহার করতে হবে।
অ্যান্ড্রয়েড নেমস্পেস সংজ্ঞা দেয়। এই বৈশিষ্ট্যটি সর্বদা " http://schemas.android.com/apk/res/android " এ সেট করা উচিত ।
থেকে <manifes>
উপাদান ডকুমেন্টেশন ।
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns : হল এক্সএমএল নামের স্থান এবং URL: " http://schemas.android.com/apk/res/android " কিছুই নয়
এক্সএসডি যা [এক্সএমএল স্কিমা সংজ্ঞা]: যা এক্সএমএল ফাইলের জন্য নিয়ম সংজ্ঞায়িত করা হয়।
উদাহরণ:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="4dp"
android:hint="User Name"
/>
</LinearLayout>
আমাকে কী ধরনের বিধি সম্পর্কে ব্যাখ্যা করতে হবে ? ।
XML XSD এ জাতীয় ধরণের বিধিগুলি সংজ্ঞায়িত করা হয়: " http://schemas.android.com/apk/res/android "
কিছুটা দেরি হলেও আমি আশা করি এটি আপনাকে সহায়তা করবে।
ভিউ গ্রুপের মধ্যে যে বৈশিষ্ট্যগুলি এর মধ্যে হ্রাস পেয়েছে তা অ্যান্ড্রয়েড সম্পর্কিত কিনা তা নির্দিষ্ট করার জন্য এটি একটি এক্সএমএল নাম স্থান ঘোষণা।