নেভিগেশন3
সর্বশেষ আপডেট | স্থিতিশীল রিলিজ | প্রার্থী মুক্তি | বিটা রিলিজ | আলফা রিলিজ |
---|---|---|---|---|
সেপ্টেম্বর 24, 2025 | - | - | - | 1.0.0-আলফা10 |
নির্ভরতা ঘোষণা করা
নেভিগেশন3-এর উপর নির্ভরতা যোগ করতে, আপনাকে অবশ্যই আপনার প্রকল্পে Google Maven সংগ্রহস্থল যোগ করতে হবে। আরও তথ্যের জন্য Google এর Maven সংগ্রহস্থল পড়ুন।
আপনার অ্যাপ বা মডিউলের জন্য build.gradle
ফাইলে আপনার প্রয়োজনীয় আর্টিফ্যাক্টগুলির জন্য নির্ভরতা যোগ করুন:
গ্রোভি
dependencies { implementation "androidx.navigation3:navigation3-runtime:1.0.0-alpha10" implementation "androidx.navigation3:navigation3-ui:1.0.0-alpha10" }
কোটলিন
dependencies { implementation("androidx.navigation3:navigation3-runtime:1.0.0-alpha10") implementation("androidx.navigation3:navigation3-ui:1.0.0-alpha10") }
নির্ভরতা সম্পর্কে আরও তথ্যের জন্য, বিল্ড নির্ভরতা যুক্ত করুন দেখুন।
প্রতিক্রিয়া
আপনার প্রতিক্রিয়া জেটপ্যাককে আরও ভাল করতে সাহায্য করে। আপনি যদি নতুন সমস্যা আবিষ্কার করেন বা এই লাইব্রেরির উন্নতির জন্য ধারনা পান তাহলে আমাদের জানান। আপনি একটি নতুন তৈরি করার আগে অনুগ্রহ করে এই লাইব্রেরিতে বিদ্যমান সমস্যাগুলি দেখুন৷ আপনি তারকা বোতামে ক্লিক করে একটি বিদ্যমান সমস্যায় আপনার ভোট যোগ করতে পারেন।
আরও তথ্যের জন্য ইস্যু ট্র্যাকার ডকুমেন্টেশন দেখুন।
এই শিল্পকর্মের জন্য কোন রিলিজ নোট নেই.
সংস্করণ 1.0
সংস্করণ 1.0.0-আলফা10
সেপ্টেম্বর 24, 2025
androidx.navigation3:navigation3-*:1.0.0-alpha10
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha10-এ এই কমিট রয়েছে।
এপিআই পরিবর্তন
- নতুন
NavDisplay
ওভারলোড যোগ করুন যেটিNavEntry<T>
এর একটি তালিকা নেয় যাrememberDecoratedNavEntries
দ্বারা সজ্জিত করা হয়েছে। ( I4025b , b/441940314 ) - একটি নতুন প্যাকেজে
DialogScene
সরানো হয়েছে৷ ( IA5840 ) - পাবলিক API
DecorateNavEntry
সরান। পরিবর্তে ডেকোরেটরদের একটি তালিকার সাথে একটি NavEntry মোড়ানোর জন্যrememberDecoratedNavEntries
ব্যবহার করুন। ( Id8c09 ) - Navigation3 UI এখন নতুন ডিফল্ট
transitionSpec
বৈশিষ্ট্য প্রদান করে। ( Ibcabd ) - দৃশ্য পরিচালনা করতে সাহায্য করার জন্য একটি নতুন
SceneState
অবজেক্ট যোগ করা হয়েছে। এটি একটি নতুনNavDisplay
ওভারলোড প্রদান করে যাSceneState
এবংNavigationEventState
নেয়। ( আইডিএফবি৪৬ , বি/৪৪৪৪৭৯১৩৩ ) -
NavDisplay
এখনTransition
currentState
এবংtargetState
দেখে আপনি কোনScene
যাচ্ছেন এবং সেখান থেকে পরিবর্তনগুলি কাস্টমাইজ করতে পারবেন৷ ( I906cc , b/443872322 ) -
NavigationEventInfo
এখনinterface
পরিবর্তে একটিabstract class
। ক্লাস থেকে উত্তরাধিকারী হওয়ার জন্য সমস্ত কাস্টম বাস্তবায়ন আপডেট করুন (যেমন,data class MyInfo : NavigationEventInfo()
)। ( I1e59c , b/444734264 ) -
navigationevent-compose
হ্যান্ডলার API আপডেট করা হয়েছে।NavigationEventHandler
এবংNavigationBackHandler
(এবং ভেরিয়েন্ট) এখন একটি নতুন ওভারলোড সমর্থন করে যা একটি উত্তোলিতNavigationEventState
গ্রহণ করে। সাধারণ ওভারলোডগুলি (currentInfo
নেওয়া) সংরক্ষিত আছে এবং এখন এই নতুন স্টেট মডেলটি অভ্যন্তরীণভাবে ব্যবহার করুন৷ ( Ic3251 , b/444734264 ) - সমস্ত দৃশ্য APIs নেভিগেশন3-ui থেকে নেভিগেশন3-রানটাইমে সরানো হয়েছে। এর মানে তারা এখন নেভিগেশন3-রানটাইম দ্বারা সমর্থিত সমস্ত প্ল্যাটফর্মে উপলব্ধ। ( I431d0 , b/444449993 )
- যোগ করা হয়েছে নতুন
rememberDecoratedNavEntries
ওভারলোড যা সাজাতেNavEntry
এর একটি তালিকা নেয়। ইনপুট এন্ট্রিগুলি ইতিমধ্যে অন্যান্য এন্ট্রি ডেকোরেটর দিয়ে সজ্জিত করা যেতে পারে। ( I5a034 , b/444230270 ) - নেভিগেশন3 ওয়াইল্ডকার্ড টাইপ প্যারামিটারগুলি সরান ( I02540 )
-
entryProvider
ডিএসএল-এর জন্য জেনেরিকের হ্যান্ডলিং উন্নত করা হয়েছে। আপনি যদি আগেandroidx.navigation3.runtime.entry
আমদানি করে থাকেন তবে এটির আর প্রয়োজন নেই৷ ( I299fc ) - প্রতিফলন-ভিত্তিক
NavBackStackSerializer
ওভারলোডকে Android এ সীমাবদ্ধ করুন। এটি মাল্টিপ্ল্যাটফর্ম কোডে সুস্পষ্টSavedStateConfiguration
ওভারলোডের ব্যবহার প্রয়োগ করে নন-Android প্ল্যাটফর্মগুলিতে অন্তর্নিহিত রানটাইম সিরিয়ালাইজেশন ব্যর্থতা প্রতিরোধ করে। ( I73313 , b/420443609 ) -
NavigationEvent
swipeEdge
একটি@IntDef
করুন ( Icee54 , b/443950342 ) - Android এ
NavBackStack
সিরিয়ালাইজেশন সীমাবদ্ধ করুন। এটি নন-অ্যান্ড্রয়েড প্ল্যাটফর্মে রানটাইম ব্যর্থতা প্রতিরোধ করে। মাল্টিপ্ল্যাটফর্ম স্টেট সেভ করার জন্য, একটি স্পষ্টSavedStateConfiguration
সহrememberNavBackStack
ওভারলোড ব্যবহার করুন। ( I1e418 , b/420443609 )
বাগ ফিক্স
- নেস্টেড
NavDisplay
একক চাইল্ড এন্ট্রি থাকলে ভবিষ্যদ্বাণী করার সময় ক্র্যাশ ঠিক করুন। ( I2cdc0 , b/441933162 )
সংস্করণ 1.0.0-alpha09
10 সেপ্টেম্বর, 2025
androidx.navigation3:navigation3-*:1.0.0-alpha09
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha09-এ এই কমিট রয়েছে।
এপিআই পরিবর্তন
-
DecoratedNavEntryProvider
rememberDecoratedNavEntries
দিয়ে প্রতিস্থাপিত করা হয়েছে যা প্রদত্ত ডেকোরেটরদের তালিকা দিয়ে সজ্জিত NavEntry তৈরি করে ফেরত দেয় ( I0fe1c , b/441328236 ) -
NavBackStack
এখনNavKey
টাইপের উপর জেনেরিক। এটি অ্যাপ্লিকেশান এবং লাইব্রেরিগুলিকেNavKey
তে সীমাবদ্ধ না থেকে তাদের ব্যাক স্ট্যাকের জন্য কাস্টম কী প্রকারগুলিকে সংজ্ঞায়িত করার অনুমতি দেয়৷ ( I4d190 , Iad2f4 , b/420443609 ) -
NavBackStack
এখন@kotlinx.serialization.Serializable
, যা অতিরিক্ত বয়লারপ্লেট ছাড়াই প্রক্রিয়ার মৃত্যু এবং কনফিগারেশন পরিবর্তন জুড়ে নেভিগেশন অবস্থা সংরক্ষণ এবং পুনরুদ্ধার করা সম্ভব করে। ( I2c3cf , b/420443609 ) -
RememberNavBackStack
কেcommonMain
এ সরানো হয়েছে যাতে এটি সমস্ত প্ল্যাটফর্ম টার্গেটে প্রদান করা হয়। ( Id69e7 , b/420443609 )
বাগ ফিক্স
-
NavDisplay
এখন সঠিকভাবে প্রতিটি পৃথকNavEntry
সঠিকLifecycle.State
এ নিয়ে যায়। ( I30aac , b/440145700 ) - একটি সমস্যা সমাধান করা হয়েছে যেখানে
NavDisplay
NavigationEvent
লাইব্রেরিরLocalNavigationEventDispatcherOwner
এর মাধ্যমে সেট করা যেকোনো নেস্টেডNavigationEventDispatcherOwner
উপেক্ষা করবে। ( I6224a )
নির্ভরতা পরিবর্তন
- Navigation3 এখন NavigationEvent Alpha08 এর উপর নির্ভর করে।
সংস্করণ 1.0.0-alpha08
আগস্ট 27, 2025
androidx.navigation3:navigation3-*:1.0.0-alpha08
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha08-এ এই কমিট রয়েছে।
নতুন বৈশিষ্ট্য
-
Navigation3 Runtime
আর্টিফ্যাক্টগুলিতে নতুন কোটলিন মাল্টিপ্ল্যাটফর্ম (KMP) লক্ষ্য যোগ করা হয়েছে।Navigation3 Runtime
এখন মোট নিম্নলিখিত প্ল্যাটফর্মগুলিকে সমর্থন করে: JVM (Android এবং Desktop), Native (Linux, iOS, watchOS, macOS, MinGW), এবং ওয়েব (JavaScript, WasmJS)। ( I55078 , b/424410398 , b/419294028 , b/419046226 ) দ্রষ্টব্য: এটিNavigation3 UI
আর্টিফ্যাক্টের জন্য KMP টার্গেট প্রদান করে না। অন্যান্য প্ল্যাটফর্মে, আপনাকে আপনার নিজস্ব কাস্টমNavDisplay
বাস্তবায়ন করতে হবে। আপনি যদি এটিকে সমর্থিত দেখতে চান, তাহলে অনুগ্রহ করে এখানে Jetbrains ইস্যুতে ভোট দিন এবং সেখানে অতিরিক্ত সহায়তার জন্য অগ্রগতি ট্র্যাক করুন। -
NavDisplayInfo
অবজেক্টটি এখন সর্বজনীন এবংNavDisplay
থেকে দৃশ্যমান এন্ট্রির তালিকা পুনরুদ্ধার করতে ব্যবহার করা যেতে পারে। ( Ibc91f )
এপিআই পরিবর্তন
- একটি নতুন
NavBackStackSerializer
যোগ করা হয়েছে যাrememberNavBackStack
এর সাথে স্টেট রিস্টোরেশন করার জন্য ব্যবহার করা হবে।rememberNavBackStack()
এখন একটিSavedStateConfiguration
নেয় যা আপনার নিজস্ব কনফিগারেশন প্রদান করতে ব্যবহার করা যেতে পারে। ( I2f4d2 , I4cd58 , b/420443609 )
বাগ ফিক্স
- একটি সমস্যা সমাধান করা হয়েছে যেখানে নেভিগেট করার ফলে ভুল লাইফসাইকেল ইভেন্টগুলি ফায়ার হবে৷ ( I8bf6d , b/425901162 , b/434109022 )
পরিচিত সমস্যা
- I8bf6d দ্বারা প্রবর্তিত একটি বাগ ছিল যার কারণে লাইফসাইকেলগুলি পৃথক এন্ট্রির পরিবর্তে দৃশ্যের উপর ভিত্তি করে তৈরি হয়েছিল, যা যে কোনও ক্ষেত্রে লাইফসাইকেলকে ভেঙে দিয়েছে যেখানে
NavEntry
কে দেওয়াkey
একটিString
নয় বা আপনারNavEntry
contentKey
ওভাররাইড করেনি এবং এটিকেkey
সমান সেট করেনি (মনে রাখবেন যে এটি করার ফলে আপনার কী একটিBundle
এ সংরক্ষণ করা যেতে পারে)। এটি পরবর্তী রিলিজের জন্য ঠিক করা হয়েছে। ( b/440145700 )
সংস্করণ 1.0.0-alpha07
13 আগস্ট, 2025
androidx.navigation3:navigation3-*:1.0.0-alpha07
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha07-এ এই কমিট রয়েছে।
MinSdk আপডেট
- AndroidX এর জন্য ডিফল্ট minSdk API 21 থেকে API 23 এ সরানো হয়েছে ( Ibdfca , b/380448311 , b/435705964 , b/435705223 )
এপিআই পরিবর্তন
-
SavedStateNavEntryDecorator
এখন রাজ্যগুলি সংরক্ষণ এবং পুনরুদ্ধার করতেSaveableStateProvider
এ নির্মিতSaveableStateRegistry
ব্যবহার করে। ( if8d9a ) -
predictivePopTransitionSpec
এখন প্যারামিটার হিসাবে সোয়াইপ প্রান্ত প্রদান করা হয়েছে, ব্যবহারকারী কোন প্রান্ত থেকে ভবিষ্যদ্বাণীমূলক পিছনের অঙ্গভঙ্গি শুরু করেছে তার উপর ভিত্তি করে আপনাকে রূপান্তরটি কাস্টমাইজ করার অনুমতি দেয়৷ ( I753a8 )
বাগ ফিক্স
- একটি সমস্যা সমাধান করা হয়েছে যার কারণে কাস্টম দৃশ্যগুলি অসীমভাবে পুনঃগণনা করা হবে কারণ সাম্প্রতিকতম দৃশ্যটি মনে রাখা হয়নি৷ ( I7ba84 , b/418153031 )
নির্ভরতা আপডেট
- Navigation3 এখন নেভিগেশন ইভেন্ট
1.0.0-alpha06
উপর নির্ভর করে।
সংস্করণ 1.0.0-alpha06
30 জুলাই, 2025
androidx.navigation3:navigation3-*:1.0.0-alpha06
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha06-এ এই কমিট রয়েছে।
নির্ভরতা আপডেট
- Navigation3 এখন নেভিগেশন ইভেন্ট
1.0.0-alpha05
উপর নির্ভর করে।
সংস্করণ 1.0.0-alpha05
2 জুলাই, 2025
androidx.navigation3:navigation3-*:1.0.0-alpha05
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha05-এ এই কমিট রয়েছে।
আচরণ পরিবর্তন
-
NavEntry
এর অবস্থা এখন কঠোরভাবেNavDisplay
এ পাস করা ডেকোরেটরদের বর্তমান তালিকার উপর ভিত্তি করে। এর মানে হল যে ডেকোরেটরগুলিকে আপনার পিছনের স্ট্যাকের সাথে অদলবদল করা উচিত যাতে পিছনের স্ট্যাকের নেভিএন্ট্রিগুলির অবস্থা সংরক্ষণ করা যায়। অন্যথায়, রাজ্যগুলি এমনভাবে সাফ করা হবে যেন এন্ট্রিগুলি পপ করা হয়েছে (একটি অদলবদলের পরিবর্তে)৷ ( I7a759 , b/428033667 )
সংস্করণ 1.0.0-alpha04
18 জুন, 2025
androidx.navigation3:navigation3-*:1.0.0-alpha04
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha04 এই কমিট ধারণ করে।
এপিআই পরিবর্তন
-
NavEntry.content
এখন ব্যক্তিগত।NavEntry
বিষয়বস্তু চালু করতে, নতুনNavEntry.Content()
এপিআইতে কল করুন যার জন্য আর কোনোkey
প্যারামিটারের প্রয়োজন নেই। ( Icd0fd , b/420991203 ) -
NavEntry.key
এখন একটি ব্যক্তিগত ক্ষেত্র।NavEntry
এবং এর প্রাসঙ্গিক রাজ্যগুলিকে নতুনcontentKey
ক্ষেত্র দ্বারা চিহ্নিত করা উচিত যা নতুনcontentKeyFactory
lambda থেকে তৈরি এবংNavEntry.key
( I81a6c , b/422001357 , b/420991201357 , b/420991201357 , b/420991201357, b/420991201357, b/420991201357, b/4209912001357, b/420991201357, b/420991201357 , b/420991201357 থেকে তৈরি একটি সংরক্ষণযোগ্য হ্যাশে ডিফল্ট। b/422841812 )
নির্ভরতা পরিবর্তন
- Navigation3 এখন নতুন
androidx.navigationevent.compose
আর্টিফ্যাক্টের উপর নির্ভর করে।
সংস্করণ 1.0.0-alpha03
জুন 4, 2025
androidx.navigation3:navigation3-*:1.0.0-alpha03
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha03-এ এই কমিট রয়েছে।
বাগ ফিক্স
-
Navigation3
আরbackStacks
জন্য ডেকোরেটর স্টেটগুলি পরিষ্কার করবে না যেগুলি অদলবদল করা হয়েছে এবং অন্য একটিbackStack
উদাহরণ দিয়ে প্রতিস্থাপিত হয়েছে। ( I28a42 , b/415076044 )
সংস্করণ 1.0.0-alpha02
23 মে, 2025
androidx.navigation3:navigation3-*:1.0.0-alpha02
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha02-এ এই কমিট রয়েছে।
বাগ ফিক্স
-
SavedStateNavEntryDecorator
এর সাথে একটি সমস্যা সমাধান করা হয়েছে যা একই সম্পত্তি মান সহ বিভিন্ন ডেটা ক্লাসের জন্য সংঘর্ষের কারণ হয়েছে৷ ( b/418070648 , Iff4775 ) - একটি অনুপস্থিত ক্লাস সমস্যা সমাধান করা হয়েছে যা স্পষ্ট নির্ভরতা ঘোষণা না করে চালানোর সময় ক্র্যাশের কারণ হবে। ( b/419049149 , I4b4ed )
সংস্করণ 1.0.0-alpha01
20 মে, 2025
androidx.navigation3:navigation3-*:1.0.0-alpha01
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha01-এ এই কমিট রয়েছে।
নতুন বৈশিষ্ট্য
Navigation3 হল একটি নতুন নেভিগেশন লাইব্রেরি যা বিশেষভাবে জেটপ্যাক কম্পোজ ইন-অ্যাপ নেভিগেশন পরিচালনা করার জন্য তৈরি করা হয়েছে। androidx.navigation3.runtime
আর্টিফ্যাক্ট বিল্ডিং ব্লক প্রদান করে, যখন androidx.navigation3.ui
আর্টিফ্যাক্ট NavDisplay
API এর মাধ্যমে UI লেয়ার প্রদান করে। ডেভেলপাররা তাদের নিজস্ব স্টেট সরাসরি NavDisplay
কম্পোজেবল ফাংশনে প্রদান করতে পারে, যা ডেভেলপার স্টেটে পরিবর্তনের উপর ভিত্তি করে বিষয়বস্তু পরিবর্তন করে।
@Serialiable object Home : NavKey
@Serialiable object Chat : NavKey
val backStack = rememberNavBackStack(Home)
NavDisplay(backStack, entryProvider = entryProvider {
entry<Home> {
Column {
Text(“Home”)
Button(onClick = { backStack.add(Chat) } ) {
Text(“Go to Chat”)
}
}
}
entry<Chat> { /* My Composable Content */ }
})
আরও তথ্যের জন্য, নেভিগেশন 3 গাইড দেখুন।