- সিনট্যাক্স:
- যদি ডেটা ট্যাগ একটি
<intent-filter>
এর অবিলম্বে সন্তান হয় :
<data android:scheme="string" android:host="string" android:port="string" android:path="string" android:pathPattern="string" android:pathPrefix="string" android:pathSuffix="string" android:pathAdvancedPattern="string" android:mimeType="string" />
যদি ডেটা ট্যাগ একটি<uri-relative-filter-group>
এর অবিলম্বে সন্তান হয়:
<data android:path="string" android:pathPattern="string" android:pathPrefix="string" android:pathSuffix="string" android:pathAdvancedPattern="string" android:fragment="string" android:fragmentPattern="string" android:fragmentPrefix="string" android:fragmentSuffix="string" android:fragmentAdvancedPattern="string" android:query="string" android:queryPattern="string" android:queryPrefix="string" android:querySuffix="string" android:queryAdvancedPattern="string" />
- এর মধ্যে রয়েছে:
-
<intent-filter>
<uri-relative-filter-group>
- বর্ণনা:
- একটি অভিপ্রায় ফিল্টারে একটি ডেটা স্পেসিফিকেশন যোগ করে। স্পেসিফিকেশন হল একটি ডেটা টাইপ,
mimeType
অ্যাট্রিবিউট, একটি ইউআরআই বা ডেটা টাইপ এবং ইউআরআই উভয়ই ব্যবহার করে। একটি URI তার প্রতিটি অংশের জন্য পৃথক বৈশিষ্ট্য দ্বারা নির্দিষ্ট করা হয়:<scheme>://<host>:<port>[<path>|<pathPrefix>|<pathPattern>|<pathAdvancedPattern>|<pathSuffix>]
এই বৈশিষ্ট্যগুলি যেগুলি URI ফর্ম্যাট নির্দিষ্ট করে তা ঐচ্ছিক, কিন্তু পারস্পরিকভাবে নির্ভরশীল:
- যদি উদ্দেশ্য ফিল্টারের জন্য একটি
scheme
নির্দিষ্ট করা না থাকে, তবে অন্যান্য সমস্ত URI বৈশিষ্ট্য উপেক্ষা করা হয়। - ফিল্টারের জন্য
host
নির্দিষ্ট করা না থাকলে,port
অ্যাট্রিবিউট এবং সমস্ত পাথ অ্যাট্রিবিউট উপেক্ষা করা হয়।
একই
<intent-filter>
উপাদানের মধ্যে থাকা সমস্ত<data>
উপাদান একই ফিল্টারে অবদান রাখে। সুতরাং, উদাহরণস্বরূপ, নিম্নলিখিত ফিল্টার স্পেসিফিকেশন:<intent-filter . . . > <data android:scheme="something" android:host="project.example.com" /> ... </intent-filter>
এটির সমতুল্য:
<intent-filter . . . > <data android:scheme="something" /> <data android:host="project.example.com" /> ... </intent-filter>
আপনি একটি
<intent-filter>
মধ্যে যেকোন সংখ্যক<data>
উপাদানগুলিকে একাধিক ডেটা বিকল্প দিতে পারেন। এর কোনো বৈশিষ্ট্যেরই ডিফল্ট মান নেই।উদ্দেশ্য ফিল্টারগুলি কীভাবে কাজ করে সে সম্পর্কে তথ্যের জন্য, কীভাবে অভিপ্রায় বস্তুগুলি ফিল্টারের সাথে মিলে যায় তার নিয়মগুলি সহ, ম্যানিফেস্ট ফাইল ওভারভিউতে ইন্টেন্ট এবং ইনটেন্ট ফিল্টার এবং ইন্টেন্ট ফিল্টার বিভাগটি দেখুন৷
- যদি উদ্দেশ্য ফিল্টারের জন্য একটি
- গুণাবলী:
-
android:scheme
- একটি URI-এর স্কিম অংশ। এটি একটি URI নির্দিষ্ট করার জন্য ন্যূনতম প্রয়োজনীয় বৈশিষ্ট্য। ফিল্টারের জন্য অন্তত একটি
scheme
অ্যাট্রিবিউট অবশ্যই সেট করতে হবে বা অন্য কোনো ইউআরআই অ্যাট্রিবিউট অর্থপূর্ণ নয়।একটি স্কিম ট্রেলিং কোলন ছাড়াই নির্দিষ্ট করা হয়েছে, যেমন
http
http:
.ফিল্টারে যদি ডেটা টাইপ সেট থাকে (
mimeType
অ্যাট্রিবিউট ব্যবহার করে) কিন্তু কোনও স্কিম না থাকে,content:
এবংfile:
স্কিমগুলি ধরে নেওয়া হয়।দ্রষ্টব্য : অ্যান্ড্রয়েড ফ্রেমওয়ার্কে স্কিম ম্যাচিং কেস-সংবেদনশীল, RFC এর বিপরীতে। ফলস্বরূপ, সর্বদা ছোট হাতের অক্ষর ব্যবহার করে স্কিম নির্দিষ্ট করুন।
-
android:host
- একটি URI কর্তৃপক্ষের হোস্ট অংশ। এই বৈশিষ্ট্যটি অর্থহীন যদি না ফিল্টারের জন্য একটি
scheme
বৈশিষ্ট্যও নির্দিষ্ট করা হয়। একাধিক সাবডোমেন মেলানোর জন্য, হোস্টে শূন্য বা তার বেশি অক্ষর মেলানোর জন্য একটি তারকাচিহ্ন (*
) ব্যবহার করুন। উদাহরণস্বরূপ, হোস্ট*.google.com
www.google.com
,.google.com
এবংdeveloper.google.com
সাথে মেলে।তারকাচিহ্ন অবশ্যই হোস্ট অ্যাট্রিবিউটের প্রথম অক্ষর হতে হবে। উদাহরণস্বরূপ, হোস্ট
google.co.*
অবৈধ, কারণ তারকাচিহ্ন ওয়াইল্ডকার্ডটি প্রথম অক্ষর নয়৷দ্রষ্টব্য : অ্যান্ড্রয়েড ফ্রেমওয়ার্কে হোস্টের নামের মিলটি কেস-সংবেদনশীল, আনুষ্ঠানিক RFC থেকে ভিন্ন। ফলস্বরূপ, সর্বদা ছোট হাতের অক্ষর ব্যবহার করে হোস্টের নাম উল্লেখ করুন।
-
android:port
- একটি URI কর্তৃপক্ষের পোর্ট অংশ। ফিল্টারের জন্য
scheme
এবংhost
অ্যাট্রিবিউটও নির্দিষ্ট করা থাকলেই এই অ্যাট্রিবিউটটি অর্থবহ। -
android:path
android:pathPrefix
android:pathSuffix
android:pathPattern
android:pathAdvancedPattern
- একটি URI এর পাথ অংশ, যা অবশ্যই একটি
/
দিয়ে শুরু হবে।path
অ্যাট্রিবিউট একটি সম্পূর্ণ পাথ নির্দিষ্ট করে যা একটিIntent
অবজেক্টের সম্পূর্ণ পাথের সাথে মিলে যায়।pathPrefix
অ্যাট্রিবিউট একটি আংশিক পাথ নির্দিষ্ট করে যা শুধুমাত্রIntent
অবজেক্টের পাথের প্রাথমিক অংশের সাথে মিলে যায়।pathSuffix
অ্যাট্রিবিউটটিIntent
অবজেক্টের পাথের শেষ অংশের সাথে হুবহু মিলে যায় এবং এই অ্যাট্রিবিউটটি/
অক্ষর দিয়ে শুরু করতে হয় না।pathPattern
অ্যাট্রিবিউট একটি সম্পূর্ণ পাথ নির্দিষ্ট করে যাIntent
অবজেক্টের সম্পূর্ণ পাথের সাথে মিলে যায়, কিন্তু এতে নিম্নলিখিত ওয়াইল্ডকার্ড থাকতে পারে:- একটি তারকাচিহ্ন (
*
) অবিলম্বে পূর্ববর্তী অক্ষরের অনেক ঘটনার সাথে শূন্যের একটি ক্রম মেলে। - একটি পিরিয়ড অনুসরণ করে একটি তারকাচিহ্ন (
.*
) অনেকগুলি অক্ষরের সাথে শূন্যের যেকোনো ক্রম মেলে।
pathAdvancedPattern
অ্যাট্রিবিউট একটি সম্পূর্ণ পাথ নির্দিষ্ট করে, যাIntent
অবজেক্টের সম্পূর্ণ পাথের সাথে মিলে যায় এবং নিম্নলিখিত regex-এর মতো প্যাটার্ন সমর্থন করে:- একটি পিরিয়ড (
.
) যেকোনো অক্ষরের সাথে মেলে। - একটি সেট (
[...]
) অক্ষরের ব্যাপ্তির সাথে মেলে। উদাহরণস্বরূপ,[0-5]
0 থেকে 5 পর্যন্ত একটি একক অঙ্কের সাথে মেলে তবে 6 থেকে 9 নয়।[a-zA-Z]
ক্ষেত্রে নির্বিশেষে যেকোনো অক্ষরের সাথে মেলে সেটগুলি "না"^
সংশোধককেও সমর্থন করে। - তারকাচিহ্ন (
*
) সংশোধক পূর্ববর্তী প্যাটার্ন শূন্য বা তার বেশি বার মেলে। - প্লাস (
+
) সংশোধক পূর্ববর্তী প্যাটার্নের সাথে এক বা একাধিক বার মেলে। - পরিসর (
{...}
) সংশোধক একটি প্যাটার্ন কতবার মেলে তা নির্দিষ্ট করে।
pathAdvancedPattern
matcher হল একটি মূল্যায়ন বাস্তবায়ন যেখানে কোনো ব্যাকট্র্যাকিং সমর্থন ছাড়াই বাস্তব সময়ে প্যাটার্নের বিপরীতে ম্যাচিং করা হয়।কারণ এক্সএমএল থেকে স্ট্রিং পড়ার সময়
\
একটি এস্কেপ অক্ষর হিসাবে ব্যবহৃত হয়, এটি প্যাটার্ন হিসাবে পার্স করার আগে, আপনাকে ডবল-এস্কেপ করতে হবে। উদাহরণস্বরূপ, একটি আক্ষরিক*
লিখিত হয়\\*
, এবং একটি আক্ষরিক\
\\\
হিসাবে লেখা হয়। এটি জাভা কোডে স্ট্রিং তৈরি করার সময় আপনি যা লেখেন তার মতো।এই পাঁচ ধরনের প্যাটার্ন সম্পর্কে আরও তথ্যের জন্য,
PatternMatcher
ক্লাসেPATTERN_LITERAL
,PATTERN_PREFIX
,PATTERN_SIMPLE_GLOB
,PATTERN_SUFFIX
, এবংPATTERN_ADVANCED_GLOB
এর বিবরণ দেখুন।ফিল্টারের জন্য
scheme
এবংhost
বৈশিষ্ট্যগুলিও নির্দিষ্ট করা থাকলেই এই বৈশিষ্ট্যগুলি অর্থবহ৷pathSuffix
এবংpathAdvancedPattern
API স্তর 31-এ চালু করা হয়েছিল। - একটি তারকাচিহ্ন (
-
android:fragment
android:fragmentPrefix
android:fragmentSuffix
android:fragmentPattern
android:fragmentAdvancedPattern
একটি URI খণ্ডের জন্য একটি ম্যাচার।
#
উপসর্গ অন্তর্ভুক্ত করবেন না। প্রতিটি বৈশিষ্ট্যে অনুমোদিত প্যাটার্নের অর্থ এবং প্যাটার্নের জন্য উপরে দেখুন।সাধারণত ইউআরআই এনকোড করা অক্ষরগুলির সাথে মেলানোর জন্য, অ্যাট্রিবিউট মানের মধ্যে কাঁচা (ননকোডেড) ফর্ম অন্তর্ভুক্ত করুন। যেমন,
<data android:fragment="test!" />
ম্যাচ#test!
এবং#test%21
।API স্তর 35-এ প্রবর্তন করা হয়েছে।
-
android:query
android:queryPrefix
android:querySuffix
android:queryPattern
android:queryAdvancedPattern
একটি URI ক্যোয়ারী প্যারামিটারের জন্য একটি ম্যাচার (এবং, ঐচ্ছিকভাবে, একটি মান)। উদাহরণস্বরূপ, আপনি
<data android:query="param=value" />
এর সাথে?param=value
এ শেষ হওয়া URI-গুলিকে মেলাতে পারেন। অন্তর্ভুক্ত করবেন না?
উপসর্গ প্রতিটি বৈশিষ্ট্যে অনুমোদিত প্যাটার্নের অর্থ এবং প্যাটার্নের জন্য উপরে দেখুন।সাধারণত ইউআরআই-এনকোড করা অক্ষরগুলিকে মেলানোর জন্য, অ্যাট্রিবিউট মানের মধ্যে কাঁচা (ননকোডেড) ফর্ম অন্তর্ভুক্ত করুন। যেমন,
<data android:query="test!" />
ম্যাচ?test!
এবং?test%21
.API স্তর 35-এ প্রবর্তন করা হয়েছে।
-
android:mimeType
- একটি MIME মিডিয়া প্রকার, যেমন
image/jpeg
বাaudio/mpeg4-generic
। সাবটাইপটি তারকাচিহ্ন ওয়াইল্ডকার্ড হতে পারে (*
) যে কোনও সাবটাইপ মেলে তা নির্দেশ করতে।একটি অভিপ্রায় ফিল্টারের জন্য একটি
<data>
উপাদান ঘোষণা করা সাধারণ যেটিতে শুধুমাত্রandroid:mimeType
বৈশিষ্ট্য রয়েছে।দ্রষ্টব্য : অ্যান্ড্রয়েড ফ্রেমওয়ার্কে MIME টাইপ ম্যাচিং কেস-সংবেদনশীল, আনুষ্ঠানিক RFC MIME ধরনের থেকে ভিন্ন। ফলস্বরূপ, সর্বদা ছোট হাতের অক্ষর ব্যবহার করে MIME প্রকারগুলি নির্দিষ্ট করুন৷
-
- প্রবর্তিত:
- API স্তর 1
- এছাড়াও দেখুন:
-
<action>
<category>
এই পৃষ্ঠার কন্টেন্ট ও কোডের নমুনাগুলি Content License-এ বর্ণিত লাইসেন্সের অধীনস্থ। Java এবং OpenJDK হল Oracle এবং/অথবা তার অ্যাফিলিয়েট সংস্থার রেজিস্টার্ড ট্রেডমার্ক।
2024-12-02 UTC-তে শেষবার আপডেট করা হয়েছে।
[[["সহজে বোঝা যায়","easyToUnderstand","thumb-up"],["আমার সমস্যার সমাধান হয়েছে","solvedMyProblem","thumb-up"],["অন্যান্য","otherUp","thumb-up"]],[["এতে আমার প্রয়োজনীয় তথ্য নেই","missingTheInformationINeed","thumb-down"],["খুব জটিল / অনেক ধাপ","tooComplicatedTooManySteps","thumb-down"],["পুরনো","outOfDate","thumb-down"],["অনুবাদ সংক্রান্ত সমস্যা","translationIssue","thumb-down"],["নমুনা / কোড সংক্রান্ত সমস্যা","samplesCodeIssue","thumb-down"],["অন্যান্য","otherDown","thumb-down"]],["2024-12-02 UTC-তে শেষবার আপডেট করা হয়েছে।"],[],[]]