নেভিগেশন

ন্যাভিগেশন হল একটি অ্যান্ড্রয়েড অ্যাপ্লিকেশনের মধ্যে 'গন্তব্যের' মধ্যে নেভিগেট করার জন্য একটি কাঠামো যা একটি সামঞ্জস্যপূর্ণ API প্রদান করে যে গন্তব্যগুলিকে ফ্র্যাগমেন্টস, অ্যাক্টিভিটিস বা অন্যান্য উপাদান হিসাবে প্রয়োগ করা হয়।
সর্বশেষ আপডেট স্থিতিশীল রিলিজ মুক্তির প্রার্থী বিটা রিলিজ আলফা রিলিজ
জুলাই 24, 2024 2.7.7 - 2.8.0-beta06 -

নির্ভরতা ঘোষণা করা

নেভিগেশনের উপর নির্ভরতা যোগ করতে, আপনাকে অবশ্যই আপনার প্রকল্পে Google Maven সংগ্রহস্থল যোগ করতে হবে। আরও তথ্যের জন্য Google এর Maven সংগ্রহস্থল পড়ুন।

আপনার অ্যাপ বা মডিউলের জন্য build.gradle ফাইলে আপনার প্রয়োজনীয় আর্টিফ্যাক্টগুলির জন্য নির্ভরতা যোগ করুন:

গ্রোভি

dependencies {
  def nav_version = "2.7.7"

  // Java language implementation
  implementation "androidx.navigation:navigation-fragment:$nav_version"
  implementation "androidx.navigation:navigation-ui:$nav_version"

  // Kotlin
  implementation "androidx.navigation:navigation-fragment-ktx:$nav_version"
  implementation "androidx.navigation:navigation-ui-ktx:$nav_version"

  // Feature module Support
  implementation "androidx.navigation:navigation-dynamic-features-fragment:$nav_version"

  // Testing Navigation
  androidTestImplementation "androidx.navigation:navigation-testing:$nav_version"

  // Jetpack Compose Integration
  implementation "androidx.navigation:navigation-compose:$nav_version"
}

কোটলিন

dependencies {
  val nav_version = "2.7.7"

  // Java language implementation
  implementation("androidx.navigation:navigation-fragment:$nav_version")
  implementation("androidx.navigation:navigation-ui:$nav_version")

  // Kotlin
  implementation("androidx.navigation:navigation-fragment-ktx:$nav_version")
  implementation("androidx.navigation:navigation-ui-ktx:$nav_version")

  // Feature module Support
  implementation("androidx.navigation:navigation-dynamic-features-fragment:$nav_version")

  // Testing Navigation
  androidTestImplementation("androidx.navigation:navigation-testing:$nav_version")

  // Jetpack Compose Integration
  implementation("androidx.navigation:navigation-compose:$nav_version")
}

নিরাপদ Args

আপনার প্রোজেক্টে Safe Args যোগ করতে, আপনার শীর্ষ স্তরের build.gradle ফাইলে নিম্নলিখিত classpath অন্তর্ভুক্ত করুন:

গ্রোভি

buildscript {
    repositories {
        google()
    }
    dependencies {
        def nav_version = "2.7.7"
        classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$nav_version"
    }
}

কোটলিন

buildscript {
    repositories {
        google()
    }
    dependencies {
        val nav_version = "2.7.7"
        classpath("androidx.navigation:navigation-safe-args-gradle-plugin:$nav_version")
    }
}

আপনাকে অবশ্যই দুটি উপলব্ধ প্লাগইনগুলির মধ্যে একটি প্রয়োগ করতে হবে৷

জাভা বা মিশ্র জাভা এবং কোটলিন মডিউলগুলির জন্য উপযুক্ত জাভা ভাষার কোড তৈরি করতে, এই লাইনটি আপনার অ্যাপ বা মডিউলের build.gradle ফাইলে যোগ করুন:

গ্রোভি

plugins {
  id 'androidx.navigation.safeargs'
}

কোটলিন

plugins {
    id("androidx.navigation.safeargs")
}

বিকল্পভাবে, কোটলিন-কেবল মডিউলগুলির জন্য উপযুক্ত কোটলিন কোড তৈরি করতে যোগ করুন:

গ্রোভি

plugins {
  id 'androidx.navigation.safeargs.kotlin'
}

কোটলিন

plugins {
    id("androidx.navigation.safeargs.kotlin")
}

AndroidX এ স্থানান্তরিত করার জন্য আপনার gradle.properties ফাইলে android.useAndroidX=true থাকতে হবে।

Kotlin এক্সটেনশন ব্যবহার করার তথ্যের জন্য, ktx ডকুমেন্টেশন দেখুন।

নির্ভরতা সম্পর্কে আরও তথ্যের জন্য, বিল্ড নির্ভরতা যুক্ত করুন দেখুন।

প্রতিক্রিয়া

আপনার প্রতিক্রিয়া জেটপ্যাককে আরও ভাল করতে সাহায্য করে। আপনি যদি নতুন সমস্যা আবিষ্কার করেন বা এই লাইব্রেরির উন্নতির জন্য ধারনা পান তাহলে আমাদের জানান। আপনি একটি নতুন তৈরি করার আগে অনুগ্রহ করে এই লাইব্রেরিতে বিদ্যমান সমস্যাগুলি দেখুন৷ আপনি তারকা বোতামে ক্লিক করে একটি বিদ্যমান সমস্যায় আপনার ভোট যোগ করতে পারেন।

একটি নতুন সমস্যা তৈরি করুন

আরও তথ্যের জন্য ইস্যু ট্র্যাকার ডকুমেন্টেশন দেখুন।

সংস্করণ 2.8

সংস্করণ 2.8.0-beta06

জুলাই 24, 2024

androidx.navigation:navigation-*:2.8.0-beta06 প্রকাশিত হয়েছে। সংস্করণ 2.8.0-beta06-এ এই কমিট রয়েছে।

বাগ ফিক্স

  • একটি সমস্যা সমাধান করা হয়েছে যেখানে WrongStartDestinationType lint চেক ক্লাস টাইপে পাস করা কম্পানিয়ন অবজেক্টের জন্য চেক করেনি, যার ফলে লিন্ট ত্রুটি সনাক্ত করতে ব্যর্থ হয়েছে। ( I92b09 )

সংস্করণ 2.8.0-beta05

10 জুলাই, 2024

androidx.navigation:navigation-*:2.8.0-beta05 প্রকাশিত হয়েছে। সংস্করণ 2.8.0-beta05-এ এই কমিট রয়েছে।

বাগ ফিক্স

  • নেস্টেড NavGraphs একই startDestination রুট শেয়ার করলে singleTop নেভিগেশন ক্র্যাশ ঠিক করুন। ( I17b94 , b/294408596 )

সংস্করণ 2.8.0-beta04

জুন 26, 2024

androidx.navigation:navigation-*:2.8.0-beta04 প্রকাশিত হয়েছে। সংস্করণ 2.8.0-beta04-এ এই কমিট রয়েছে।

বাগ ফিক্স

  • ন্যাভিগেশন এখন পাথ আর্গুমেন্টে খালি স্ট্রিং সহ নেভিগেট সমর্থন করে। ( Ic5dbd , b/339481310 )
  • @Serializable(with =...) এর মাধ্যমে সরাসরি ক্লাস ফিল্ডে ঘোষিত কাস্টম সিরিয়ালাইজারদের জন্য ত্রুটি বার্তা উন্নত করুন যে এটি বর্তমানে একটি অসমর্থিত বৈশিষ্ট্য। ( I052b0 , b/341319151 )
  • SavedStateHandleFactory টেস্ট এপিআই এখন নন-অ্যান্ড্রয়েড পরীক্ষায় ব্যবহার করা যেতে পারে কিন্তু বান্ডেলের সাথে আর্গুমেন্ট পার্সিং সমর্থন করার জন্য Robolectric প্রয়োজন হবে। ( I76cdc , b/340966212 )
  • কম্পোজে টাইপ-সেফ নেভিগেশন ব্যবহার করে প্রসেস ডেথের পরে অ্যাপ পুনরায় চালু করার সময় পুনরুদ্ধারের অবস্থা থেকে স্থির ক্র্যাশ। ( IA8f38 , b/341801005 )
  • নেভিগেশন কম্পোজে একটি সমস্যা সমাধান করা হয়েছে যেখানে ভবিষ্যদ্বাণীমূলক ব্যাক জেসচার বাতিল করার পরে, ব্যবহারকারী যে NavBackStackEntry ফিরে আসে তা পুনরায় RESUMED লাইফসাইকেল স্টেটে ফিরে আসে না। এটি নিশ্চিত করে যে প্রত্যাবর্তন গন্তব্যটি ফ্লিং করার পরে জায়গায় স্ন্যাপ করার পরিবর্তে সঠিকভাবে ফিরে আসে। ( I97a0c , b/346608857 )
  • নেভিগেশন কম্পোজের সাথে ভবিষ্যদ্বাণীমূলক ব্যাক ব্যবহার করার সময়, পপ করা গন্তব্যে এখন সঠিক z-অর্ডার থাকবে, সঠিকভাবে ইনকামিং গন্তব্যের উপরে অ্যানিমেটিং হবে। ( I2077b , b/345993681 )

সংস্করণ 2.8.0-beta03

জুন 12, 2024

androidx.navigation:navigation-*:2.8.0-beta03 প্রকাশিত হয়েছে। 2.8.0-beta03 সংস্করণে এই কমিটগুলি রয়েছে।

এপিআই পরিবর্তন

  • CollectionNavType একটি নতুন বিমূর্ত emptyCollection() পদ্ধতি রয়েছে। একটি যুক্তি হিসাবে পাস করা একটি খালি সংগ্রহ পরিচালনা করতে এটি ওভাররাইড করুন৷ ( Ie4d84 , b/341723133 )

বাগ ফিক্স

  • চূড়ান্ত আউটপুট Uri এনকোড করা উচিত হাইলাইট করার জন্য NavType.serializeAsValue এবং serializeAsValues এ ডকুমেন্টেশন যোগ করা হয়েছে। ( Ida6bd , b/344943214 )
  • একটি নাল CollectionNavType আর্গুমেন্টের সাথে toRoute<T> কল করার সময় ক্র্যাশ সংশোধন করা হয়েছে। একটি নাল CollectionNavType দিয়ে নেভিগেট করার সময়, আউটপুট আর্গুমেন্ট হবে আপনার সিরিয়ালাইজেবল ক্লাসে ঘোষিত ডিফল্ট মান, অথবা যদি কোনো ডিফল্ট মান না থাকে তাহলে emptyCollection() এর রিটার্ন মান হবে। ( I84158 , Id630f , b/342672856 )

সংস্করণ 2.8.0-beta02

29 মে, 2024

androidx.navigation:navigation-*:2.8.0-beta02 প্রকাশিত হয়েছে। 2.8.0-beta02 সংস্করণে এই কমিটগুলি রয়েছে।

বাগ ফিক্স

  • একটি বাতিলযোগ্য কাস্টম NavType সহ NavBackStackEntry.toRoute ব্যবহার করার সময় স্থির ClassCastException ক্র্যাশ। ( I1c29b , b/342239473 )
  • স্থির নেভিগেশন ব্যাক স্ট্যাক স্টেট পুনরুদ্ধার সমস্যাগুলি যখন একটি ব্যাক স্ট্যাক এন্ট্রি পুনরুদ্ধার করার চেষ্টা করে যা বর্তমান গন্তব্য থেকে আইডির মাধ্যমে পৌঁছানো যায় না। যেহেতু রুটগুলি আইডি দ্বারা সমর্থিত, তাই রুটগুলির সাথে তৈরি গন্তব্যগুলিও প্রভাবিত হয়েছিল৷ এটি একই অন্তর্নিহিত সমস্যা ছিল clearBackStack() কল করার কারণে সৃষ্ট একটি ক্র্যাশও ঠিক করে। ( I423c3 , b/339908057 )

সংস্করণ 2.8.0-beta01

14 মে, 2024

androidx.navigation:navigation-*:2.8.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 2.8.0-beta01-এ এই কমিট রয়েছে।

এপিআই পরিবর্তন

  • SavedStateHandle.toRoute() এখন কাস্টম আর্গুমেন্ট প্রকারের জন্য একটি typeMap প্যারামিটার নেয়। ( IE39fb , b/339026523 )
  • একটি Kotlin Serializable অবজেক্ট থেকে একটি SavedStateHandle তৈরি করতে navigation-testing একটি পরীক্ষা API যোগ করা হয়েছে। ( Id4867 , b/339080702 )

বাগ ফিক্স

  • ন্যাভিগেশন Kotlin DSL ফাংশন জন্য অনুপস্থিত প্যারামিটার ডক্স যোগ করা হয়েছে. ( I26a36 )

সংস্করণ 2.8.0-alpha08

1 মে, 2024

androidx.navigation:navigation-*:2.8.0-alpha08 প্রকাশিত হয়েছে। সংস্করণ 2.8.0-alpha08-এ এই কমিট রয়েছে।

নেভিগেশন রচনায় নিরাপদ Args

এই কার্যকারিতা টাইপ নিরাপদ বস্তু এবং ডেটা ক্লাসের মাধ্যমে আপনার নেভিগেশন গ্রাফে গন্তব্যগুলি সংজ্ঞায়িত করার অনুমতি দেওয়ার জন্য কোটলিন সিরিয়ালাইজেশন ব্যবহার করে:

  // Define a home destination that doesn't take any arguments
  @Serializable
  object Home

  // Define a profile destination that takes an ID
  @Serializable
  data class Profile(val id: String)

  // Now define your NavHost using type safe objects
  NavHost(navController, startDestination = Home) {
      composable<Home> {
          HomeScreen(onNavigateToProfile = { id ->
              navController.navigate(Profile(id))
          })
      }
      composable<Profile> { backStackEntry ->
          val profile: Profile = backStackEntry.toRoute()
          ProfileScreen(profile)
      }
  }

আরও তথ্যের জন্য নেভিগেশন কম্পোজ মিট টাইপ সেফটি ব্লগ পোস্ট দেখুন।

নতুন বৈশিষ্ট

  • navigation-fragment-compose আর্টিফ্যাক্ট এখন একটি ComposableFragment মধ্যে কম্পোজযোগ্য পদ্ধতিতে একটি LocalFragment কম্পোজিশন প্রদান করে। ( if35e5 )
  • NavType এখন Int, স্ট্রিং, বুলিয়ান, ফ্লোট এবং লং তালিকার জন্য অন্তর্নির্মিত সমর্থন রয়েছে। ( I4b6dd , Ia914c , b/188693139 )

সংস্করণ 2.8.0-alpha07

এপ্রিল 17, 2024

androidx.navigation:navigation-*:2.8.0-alpha07 প্রকাশিত হয়েছে। সংস্করণ 2.8.0-alpha07-এ এই কমিট রয়েছে।

নতুন বৈশিষ্ট

  • একটি নতুন navigation-fragment-compose আর্টিফ্যাক্ট যোগ করে যাতে NavHostFragment এর একটি ComposableNavHostFragment বিকল্প রয়েছে যা আপনাকে আপনার ন্যাভিগেশন XML ফাইলগুলিতে composable গন্তব্য যোগ করতে দেয়। প্রতিটি composable গন্তব্য অবশ্যই একটি শীর্ষ-স্তরের হিসাবে প্রকাশ করতে হবে, কোন যুক্তি নেই @Composable পদ্ধতি যার সম্পূর্ণ যোগ্য নাম প্রতিটি গন্তব্যে android:name বৈশিষ্ট্য হিসাবে ব্যবহৃত হয়। এই গন্তব্যগুলির মধ্যে একটিতে নেভিগেট করার সময়, সংমিশ্রণযোগ্য বিষয়বস্তু প্রদর্শনের জন্য একটি ধারণকৃত খণ্ড তৈরি করা হয়। ( I0ef2e , b/265480755 )

    // In HomeScreen.kt
    @Composable
    fun HomeScreen() {
      // Your Composable content here
    }
    
    // In your navigation.xml
    <composable
      android:id="@+id/home_screen"
      android:name="com.example.HomeScreenKt\$HomeScreen" />
    

এপিআই পরিবর্তন

  • কোটলিন সিরিয়ালাইজেশনের উপর ভিত্তি করে একটি পদ্ধতি ব্যবহার করে ন্যাভিগেশন রচনায় নিরাপদ আর্গসের জন্য সমর্থন অব্যাহত রয়েছে। এই API গুলি শেষ হয়নি এবং ExperimentalSafeArgsApi টীকা দিয়ে চিহ্নিত করা হয়েছে৷ ভবিষ্যতে রিলিজে সম্পূর্ণ API পৃষ্ঠ সম্পূর্ণ হলে এই টীকাটি সরানো হবে। ( Iefd95 , I409c8 , I5b5ac , I7e753 , I960f8 , I3eabd , I8ed5a , Ied2c9 , I9b73c , I554db , Ib3aba , Ia668d , b/1883 )

সংস্করণ 2.8.0-alpha06

3 এপ্রিল, 2024

androidx.navigation:navigation-*:2.8.0-alpha06 প্রকাশিত হয়েছে। সংস্করণ 2.8.0-alpha06-এ এই কমিট রয়েছে।

এপিআই পরিবর্তন

  • কোটলিন সিরিয়ালাইজেশনের উপর ভিত্তি করে একটি পদ্ধতি ব্যবহার করে ন্যাভিগেশন রচনায় নিরাপদ আর্গসের জন্য সমর্থন শুরু হয়েছে। এই API গুলি শেষ হয়নি এবং ExperimentalSafeArgsApi টীকা দিয়ে চিহ্নিত করা হয়েছে৷ ভবিষ্যতে রিলিজে সম্পূর্ণ API পৃষ্ঠ সম্পূর্ণ হলে এই টীকাটি সরানো হবে। ( I644e7 , I98896 , I2a1c5 , I43a51 , I836a1 , Ic5eec , I39407 , I24e41 , If9e14 , Ibb13e , If44d3 , Icb70f , I241 , I842 , I831 , I262aa , I7de99 , I35990 , I1033d , b/188693139 )

বাগ ফিক্স

  • NavHost এখন Alignment.TopStart ডিফল্ট কন্টেন্ট অ্যালাইনমেন্ট আর্গুমেন্ট হিসেবে ব্যবহার করেছে। এটি এটিকে AnimatedContent জন্য ডিফল্টের সাথে সঙ্গতিপূর্ণ করে এবং কেন্দ্র স্থানান্তর থেকে একটি অপ্রত্যাশিত স্কেলের কিছু দৃষ্টান্ত ঠিক করে। ( I09e72 , b/330111602 )
  • নেভিগেশন কম্পোজ ব্যবহার করার সময় ভবিষ্যদ্বাণীমূলক পিছনের অঙ্গভঙ্গিটি ফ্লিক করার সময়, NavHost এখন অবিলম্বে শেষ করার পরিবর্তে কাস্টম রূপান্তরটি সঠিকভাবে সম্পূর্ণ করবে। ( I99017 , b/327292110 )

সংস্করণ 2.8.0-alpha05

20 মার্চ, 2024

androidx.navigation:navigation-*:2.8.0-alpha05 প্রকাশিত হয়েছে। সংস্করণ 2.8.0-alpha05-এ এই কমিট রয়েছে।

নতুন বৈশিষ্ট

  • আপনি এখন defaultValue এর উপর নির্ভর না করে সরাসরি startDestination রুটে NavGraph এর startDestination এ আর্গুমেন্ট পাঠাতে পারেন। এটি নেস্টেড NavGraph startDestinations ক্ষেত্রেও প্রযোজ্য। ( I0e0b5 , b/109505019 , b/188693139 )

এপিআই পরিবর্তন

  • নতুন বিমূর্ত CollectionNavType<T> ক্লাস যোগ করা হয়েছে, যা সংগ্রহ-ভিত্তিক আর্গুমেন্ট যেমন তালিকা, অ্যারে, মানচিত্রের জন্য NavType<T> এর একটি সাবক্লাস। ( Ic6d63 , b/188693139 )
  • সমস্ত ডিফল্ট NavType অ্যারে ( IntArrayType , LongArrayType , FloatArrayType , BoolArrayType , এবং StringArrayType ) এখন CollectionNavType ( Idcf79 , b/188693139 ) টাইপের
  • NavType এখন একটি নতুন উন্মুক্ত valueEquals API প্রদান করে যা নির্ধারণ করে যে একই ধরণের দুটি মান একে অপরের সমান কিনা। ( I6cb97 , b/327229511 )

বাগ ফিক্স

  • ডিপ লিঙ্কে ক্যোয়ারী প্যারামিটারগুলি এখন স্ট্রিং-ভিত্তিক NavTypes এর জন্য বৈধ মান হিসাবে আর্গুমেন্ট নামের (যেমন {argName} ) চারপাশে কোঁকড়া বন্ধনী আকারে মানগুলিকে অনুমতি দেয়। এটি এমন একটি সমস্যার সমাধান করে যেখানে এই ধরনের মানটি সব ধরনের জন্য অবৈধ (বা মানের অনুপস্থিতি) বলে বিবেচিত হবে। ( I18302 , b/327274038 )
  • navigate বা popBackStack মতো রুট সমর্থনকারী NavController ফাংশনগুলি এখন অ্যারে NavTypes এর আর্গুমেন্টে ভরা রুটগুলির সাথে সঠিকভাবে মেলে। ( IEA805 , b/327229511 )

সংস্করণ 2.8.0-alpha04

6 মার্চ, 2024

androidx.navigation:navigation-*:2.8.0-alpha04 প্রকাশিত হয়েছে। সংস্করণ 2.8.0-alpha04-এ এই কমিট রয়েছে।

নতুন বৈশিষ্ট

  • আপনি এখন composable এবং/অথবা navigation ফাংশনগুলির জন্য প্রাথমিককরণের অংশ হিসাবে সংজ্ঞায়িত করে নেভিগেশন কম্পোজে আপনার ট্রানজিশনের জন্য SizeTranform নির্দিষ্ট করতে পারেন। ( I91062 , b/296912651 )

বাগ ফিক্স

  • একটি সমস্যা সমাধান করা হয়েছে যেখানে কম্পোজ নেভিগেশনে NavHost একটি অঙ্গভঙ্গি ছাড়াই সিস্টেম ব্যাক ব্যবহার করার সময় সঠিকভাবে রূপান্তর দেখাতে ব্যর্থ হয়েছে৷ ( Iceeae , b/325998468 )

সংস্করণ 2.8.0-alpha03

21 ফেব্রুয়ারি, 2024

androidx.navigation:navigation-*:2.8.0-alpha03 প্রকাশিত হয়েছে। সংস্করণ 2.8.0-alpha03 এই কমিট ধারণ করে।

এপিআই পরিবর্তন

  • NavBackStackEntry.savedStateHandle এখন @MainThread হিসাবে চিহ্নিত করা হয়েছে কারণ এটি এমন কোড ব্যবহার করে যা যাইহোক মূল থ্রেডে থাকা প্রয়োজন। ( Ibb988 , b/299523245 )

বাগ ফিক্স

  • নেভিগেশনে একটি সমস্যা সমাধান করা হয়েছে যার কারণে NavGraph ViewModels খুব তাড়াতাড়ি DESTROYED হয়ে গেছে কারণ সংশ্লিষ্ট এন্ট্রির ViewModel সংরক্ষিত অবস্থার অংশ ছিল না। ( Ib6bb7 , b/317581849 )

নির্ভরতা আপডেট

সংস্করণ 2.8.0-alpha02

7 ফেব্রুয়ারি, 2024

androidx.navigation:navigation-*:2.8.0-alpha02 প্রকাশিত হয়েছে। সংস্করণ 2.8.0-alpha02 এই কমিট ধারণ করে।

নতুন বৈশিষ্ট

  • ন্যাভিগেশন কম্পোজ এখন কম্পোজ-অ্যানিমেশন থেকে নতুন SeekableTransitionState API-এর মাধ্যমে প্রেডিকটিভ ইন-অ্যাপ-এর জন্য সমর্থন প্রদান করে। এটি আপনাকে সম্পূর্ণ অঙ্গভঙ্গির মাধ্যমে লেনদেন করার বা বাতিল করার সিদ্ধান্ত নেওয়ার আগে আপনার কাস্টম ট্রানজিশনের সাথে পূর্ববর্তী গন্তব্য দেখতে পিছনের অঙ্গভঙ্গি ব্যবহার করতে দেয়। ( I8b8e9 )

সংস্করণ 2.8.0-alpha01

24 জানুয়ারী, 2024

androidx.navigation:navigation-*:2.8.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 2.8.0-alpha01 এই কমিট ধারণ করে।

বাগ ফিক্স

  • ফিক্সড BackStackState লিক যেখানে একটি গন্তব্যে একাধিক saveState কলের ফলে একাধিক রাজ্য সংরক্ষণ করা হবে, তবে শুধুমাত্র প্রথমটি পুনরুদ্ধার করা যেতে পারে। ( I598b0 , b/309559751 )
  • একটি সমস্যা সমাধান করা হয়েছে যেখানে নন-স্ট্রিং আর্গুমেন্টগুলি সঠিকভাবে প্রদর্শিত হবে না যখন NavigationUI সাহায্যকারী ব্যবহার করে অ্যাপ বারগুলির শিরোনাম তৈরি করা হবে। ( #636 , b/316676794 )

নির্ভরতা আপডেট

  • নেভিগেশন কম্পোজ এখন কম্পোজ 1.7.0-alpha01 এর উপর নির্ভর করে এমন একটি সমস্যা সমাধান করা যা একটি অপ্রত্যাশিত স্কেল অ্যানিমেশন সৃষ্টি করতে পারে। ( b/297258205 )

বাহ্যিক অবদান

  • নন-স্ট্রিং আর্গুমেন্টের জন্য ডিসপ্লে সমস্যা সমাধান করার জন্য ধন্যবাদ সাইমন মার্কিসকে অ্যাপ বারগুলির শিরোনাম তৈরি করতে NavigationUI সাহায্যকারী ব্যবহার করার সময়।

সংস্করণ 2.7.7

সংস্করণ 2.7.7

7 ফেব্রুয়ারি, 2024

androidx.navigation:navigation-*:2.7.7 প্রকাশিত হয়েছে। সংস্করণ 2.7.7 এই কমিট ধারণ করে.

বাগ ফিক্স

  • নেভিগেশন 2.8.0-alpha01 থেকে ব্যাকপোর্ট করা হয়েছে : ফিক্সড BackStackState লিক যেখানে একাধিক saveState() একটি একক NavBackStackEntry তে কল করলে একাধিক স্টেট সেভ হবে, কিন্তু শুধুমাত্র প্রথম সংরক্ষিত স্টেট পুনরুদ্ধার করা যাবে। ( I598b0 , b/309559751 )
  • নেভিগেশন 2.8.0-alpha01 থেকে ব্যাকপোর্ট করা হয়েছে: অ্যাপ বারগুলির শিরোনাম তৈরি করতে NavigationUI সাহায্যকারী ব্যবহার করার সময় নন-স্ট্রিং আর্গুমেন্টগুলি সঠিকভাবে প্রদর্শিত হবে না এমন একটি সমস্যা সমাধান করা হয়েছে। ( #636 , b/316676794 )

বাহ্যিক অবদান

  • নন-স্ট্রিং আর্গুমেন্টের জন্য ডিসপ্লে সমস্যা সমাধান করার জন্য ধন্যবাদ সাইমন মার্কিসকে অ্যাপ বারগুলির শিরোনাম তৈরি করতে NavigationUI সাহায্যকারী ব্যবহার করার সময়।

সংস্করণ 2.7.6

সংস্করণ 2.7.6

13 ডিসেম্বর, 2023

androidx.navigation:navigation-*:2.7.6 প্রকাশিত হয়েছে। সংস্করণ 2.7.6-এ এই কমিট রয়েছে।

বাগ ফিক্স

  • NavGraph equals() ফাংশন এখন শুধুমাত্র কলিং এর পরিবর্তে অন্য গ্রাফের নোডগুলিকে সঠিকভাবে বিবেচনা করে। এটি নিশ্চিত করবে যে বিভিন্ন আইডি সহ নোডের গ্রাফগুলি আর সমান বলে বিবেচিত হবে না ( I401cb , b/311414915 )

সংস্করণ 2.7.5

সংস্করণ 2.7.5

নভেম্বর 1, 2023

androidx.navigation:navigation-*:2.7.5 প্রকাশিত হয়েছে। সংস্করণ 2.7.5 এই কমিট ধারণ করে.

কর্মক্ষমতা উন্নতি

  • দুটি গ্রাফ তুলনা করার কর্মক্ষমতা (সময় এবং বরাদ্দের সংখ্যা উভয় ক্ষেত্রেই) ব্যাপকভাবে উন্নত হয়েছে। এর মানে হল যে setGraph মতো কলগুলি যা অভ্যন্তরীণভাবে বিদ্যমান গ্রাফের সাথে নতুন গ্রাফের তুলনা করে তা অনেক দ্রুত হয় এবং এর ফলে কম এড়িয়ে যাওয়া ফ্রেম হয়। এই উন্নতির দিকে পরিচালিত পুঙ্খানুপুঙ্খ বিশ্লেষণের জন্য আপনাকে ধন্যবাদ Michał Z। ( I6ad62 )
  • NavHost এখন আপডেট হওয়া অবস্থা পড়ার জন্য দ্বিতীয় পাসের জন্য অপেক্ষা করার পরিবর্তে প্রথম কম্পোজিশন পাসে শুরুর গন্তব্য রেন্ডার করবে। ( I439a7 , b/304852206 )

বাগ ফিক্স

  • একটি সমস্যা সমাধান করা হয়েছে যেখানে আপনার ব্যাক স্ট্যাক পপ করা হবে যদি আপনি একই গ্রাফের সাথে setGraph একাধিকবার কল করেন শুধুমাত্র যদি আপনার গ্রাফে দুটি গন্তব্য লিঙ্ক করার একটি অ্যাকশন থাকে। ( Ieaed7 )
  • যে ডায়ালগগুলি নেভিগেট করা হয়েছিল এবং দ্রুত পর্যায়ক্রমে খারিজ করা হয়েছিল সেগুলি আর NavController.visibleEntries এর তালিকায় লিক হবে না৷ ( I67586 , b/287969970 )
  • যখন একটি এন্ট্রি পপ করা হয় একটি কনফিগারেশন পরিবর্তন দ্বারা অনুসরণ করা হয়, saveState মিথ্যা হলে এন্ট্রির ViewModel এখন সঠিকভাবে সাফ করা হবে। ( আইডিএফ২৪২ , বি/২৯৮১৬৪৬৪৮ )
  • কনফিগারেশন পরিবর্তনের আগে ব্যাক স্ট্যাক সম্পূর্ণ খালি থাকলে বা ইনকামিং ইনটেন্টে FLAG_ACTIVITY_NEW_TASK ফ্ল্যাগ সেট থাকলেই setGraph কল করলে NavController একই ডিপ লিঙ্ক একাধিকবার পরিচালনা করতে পারে এমন একটি সমস্যা সমাধান করেছে। ( I73c7f )

নির্ভরতা আপডেট

  • ফ্র্যাগমেন্টের সাথে নেভিগেশন এখন ফ্র্যাগমেন্ট 1.6.2 এর উপর নির্ভর করে, একটি সমস্যা সমাধান করা যেখানে clearBackStack কল করার সময় নেস্টেড ফ্র্যাগমেন্টের ViewModel ইনস্ট্যান্সগুলি সাফ করা হবে না।

সংস্করণ 2.7.4

সংস্করণ 2.7.4

4 অক্টোবর, 2023

androidx.navigation:navigation-*:2.7.4 প্রকাশিত হয়েছে। সংস্করণ 2.7.4 এই কমিট ধারণ করে.

নতুন বৈশিষ্ট

  • popBackStack এ পাওয়া সমর্থনের সাথে মেলে সেই সঠিক আর্গুমেন্টগুলি ব্যবহার করে এমন একটি নির্দিষ্ট এন্ট্রিতে পপ করার অনুমতি দেওয়ার জন্য আর্গুমেন্ট সহ রুটগুলি ব্যবহার করার জন্য popUpTo এর জন্য সমর্থন যোগ করা হয়েছে। ( I731f4 , b/299255572 )

বাগ ফিক্স

  • popUpTo এর সাথে অন্য একটি নেভিগেটে একটি নেভিগেটে বাধা দিলে FragmentNavigator ক্র্যাশ হয়ে যাবে এমন সমস্যাটি সমাধান করুন। ( I3c848 , b/301887045 )
  • ফিক্সড সমস্যা যেখানে সিস্টেম ব্যাক প্রেসের কারণে currentDestination প্রদর্শিত ফ্র্যাগমেন্টের সাথে মেলে সঠিকভাবে আপডেট করা হয়নি। ( Id0d6c , b/289877514 )
  • DialogFragment লাইফসাইকেল এখন সঠিকভাবে RESUMED অবস্থায় চলে যাবে যখন উপরের ডায়ালগটি খারিজ হয়ে যাবে। ( I88f0d , b/301811387 )

সংস্করণ 2.7.3

সংস্করণ 2.7.3

20 সেপ্টেম্বর, 2023

androidx.navigation:navigation-*:2.7.3 প্রকাশিত হয়েছে। সংস্করণ 2.7.3 এই কমিট ধারণ করে.

বাগ ফিক্স

  • ফ্র্যাগমেন্টের সাথে নেভিগেশনে একটি সমস্যা সমাধান করা হয়েছে যার কারণে visibleEntries তালিকায় ভুল এন্ট্রি রয়েছে। ( I5caa9 , b/288520638 )
  • একটি সমস্যা সমাধান করা হয়েছে যার কারণে ফ্লোটিং উইন্ডো গন্তব্য (যেমন Dialogs , Bottomsheets , ইত্যাদি) RESUMED লাইফসাইকেল কলব্যাক কখনই পায়নি৷ ( I3b866 , b/287505132 )

সংস্করণ 2.7.2

সংস্করণ 2.7.2

6 সেপ্টেম্বর, 2023

androidx.navigation:navigation-*:2.7.2 প্রকাশিত হয়েছে। সংস্করণ 2.7.2 এই কমিট ধারণ করে.

বাগ ফিক্স

  • ন্যাভিগেশন এখন লাইফসাইকেল 2.6.2 এর উপর নির্ভর করে, rememberSaveable এবং নেভিগেশন কম্পোজের NavHost এর মধ্যে একটি মিথস্ক্রিয়া ঠিক করে যা গন্তব্যের rememberSaveable অবস্থা এবং যেকোন ViewModel মালিকানাধীন SavedStateHandle দৃষ্টান্তগুলিকে প্রক্রিয়ার মৃত্যু এবং বিনোদনের পরে সঠিকভাবে পুনরুদ্ধার করতে পারে। ( b/298059596 , b/289436035 )
  • ন্যাভিগেশন কম্পোজে একই সাথে একাধিক ডায়ালগ দেখানোর সময় একটি সমস্যা সমাধান করা হয়েছে যেখানে আংশিকভাবে অস্পষ্ট ডায়ালগ (যেমন, শীর্ষস্থানীয় ডায়ালগ নয়) STARTED অবস্থার পরিবর্তে CREATED লাইফসাইকেল অবস্থায় থাকবে। ( aosp/2728520 , b/289257213 )
  • একই সাথে নেভিগেশন কম্পোজে একাধিক ডায়ালগ দেখানোর সময় একটি সমস্যা সমাধান করা হয়েছে যেখানে শীর্ষস্থানীয় ডায়ালগটি খারিজ করা হলে নতুন শীর্ষ ডায়ালগ সঠিকভাবে RESUMED চালু করার পরিবর্তে STARTED লাইফসাইকেল অবস্থায় আটকে যাবে। ( aosp/2629401 , b/286371387 )
  • নেভিগেশন সেফ আর্গস আর তার টাস্ককে আগ্রহের সাথে তাত্ক্ষণিক করে না যদি এটি বাস্তবে কার্যকর করা না হয়। ( I0e385 , b/260322841 )

নির্ভরতা আপডেট

  • নেভিগেশন রচনা এখন রচনা 1.5.1 এর উপর নির্ভর করে।

সংস্করণ 2.7.1

সংস্করণ 2.7.1

23 আগস্ট, 2023

androidx.navigation:navigation-*:2.7.1 প্রকাশিত হয়েছে। সংস্করণ 2.7.1 এই কমিট ধারণ করে.

বাগ ফিক্স

  • কম্পোজের সাথে নেভিগেশনে একটি সমস্যা সমাধান করা হয়েছে যেখানে একটি Scaffold ব্যবহার করার সময় একটি Lifecycle.State.DESTROYED ViewModel অ্যাক্সেস করার চেষ্টা করার জন্য একটি ত্রুটি পাওয়া সম্ভব ছিল। ( I1dc11 , b/268422136 )

সংস্করণ 2.7.0

সংস্করণ 2.7.0

9 আগস্ট, 2023

androidx.navigation:navigation-*:2.7.0 প্রকাশিত হয়েছে। সংস্করণ 2.7.0 এই কমিট ধারণ করে.

2.6.0 থেকে গুরুত্বপূর্ণ পরিবর্তন

Accompanist থেকে অ্যানিমেশন

এখন যেহেতু AnimatedContent স্থিতিশীল, আমরা অ্যাকমপ্যানিস্ট নেভিগেশন অ্যানিমেশন থেকে কোডটিকে আবার নেভিগেশন কম্পোজে সরাতে সক্ষম হয়েছি।

এর মানে হল AnimatedNavHost এ বিদ্যমান কাস্টম ট্রানজিশন সেট করার জন্য সমস্ত সমর্থন সরাসরি NavHost এ সমর্থিত।

অ্যাকপ্যানিস্ট নেভিগেশন অ্যানিমেশনে কোনও অতিরিক্ত পরিবর্তন করা হবে না এবং আমরা শীঘ্রই এটিকে আনুষ্ঠানিকভাবে বাতিল করে দেব, পাশাপাশি কীভাবে নেভিগেশন কম্পোজে আবার স্থানান্তরিত করা যায় তার নির্দেশিকা সহ, তবে এটি মাইগ্রেশন গাইডের বিপরীত হবে যেখানে অন্য কোনও API পরিবর্তনের প্রয়োজন নেই যদি আপনি ইতিমধ্যেই সর্বশেষ অ্যাকমপ্যানিস্ট আলফা ( 0.31.2-alpha ) ব্যবহার করছেন। ( b/197140101 )

বাগ ফিক্স

  • নেভিগেশন কম্পোজে NavHost এখন সঠিকভাবে সিস্টেম ব্যাক কলগুলিকে বাধা দেয় এমনকি কার্যকলাপ বন্ধ এবং পুনরায় চালু করার পরেও। ( Icb6de , b/279118447 )

নির্ভরতা আপডেট

  • নেভিগেশন এখন 1.1.0 থেকে কম্পোজ 1.5.0 এর উপর নির্ভর করে।

সংস্করণ 2.7.0-rc01

জুলাই 26, 2023

androidx.navigation:navigation-*:2.7.0-rc01 প্রকাশিত হয়েছে। সংস্করণ 2.7.0-rc01-এ এই কমিট রয়েছে।

বাগ ফিক্স

  • একটি সমস্যা সমাধান করা হয়েছে যেখানে NavHost এর অংশ হিসাবে তৈরি করা EnterTransition এবং ExitTransition ল্যাম্বডাস সম্ভাব্যভাবে মেমরিতে থাকতে পারে এমনকি NavHost কম্পোজিশন থেকে সরানোর পরেও। ( I893d0 )

জ্ঞাত সমস্যা

  • নেভিগেশন 2.6.x থেকে একটি সমস্যা আছে যে পপআপের সাথে নেভিগেট করার সময় এটি একটি IllegalArgumentException হতে পারে। এখানে প্রস্তাবিত পরামর্শের মতো আপনার গ্রাফ পুনর্গঠন করে এই ব্যতিক্রমটি এড়ানো সম্ভব। ( b/287133013 )

সংস্করণ 2.7.0-beta02

জুন 28, 2023

androidx.navigation:navigation-*:2.7.0-beta02 প্রকাশিত হয়েছে। সংস্করণ 2.7.0-beta02-এ এই কমিট রয়েছে।

বাগ ফিক্স

  • ন্যাভিগেশন কম্পোজে এখন কাস্টম ট্রানজিশনের জন্য সঠিক z-অর্ডার রয়েছে যা popUpTo বিকল্পের সাথে নেভিগেট ব্যবহার করে। ( /Ib1c3a , b/285153947 )

সংস্করণ 2.7.0-beta01

7 জুন, 2023

androidx.navigation:navigation-*:2.7.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 2.7.0-beta01-এ এই কমিট রয়েছে।

বাগ ফিক্স

  • নেভিগেশন কম্পোজে NavHost এখন সঠিকভাবে সিস্টেম ব্যাক কল ইন্টারসেপ্ট করে এমনকি Activity STOPPED এবং RESUMED করার পরেও। ( Icb6de , b/279118447 )

সংস্করণ 2.7.0-alpha01

24 মে, 2023

androidx.navigation:navigation-*:2.7.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 2.7.0-alpha01-এ এই কমিট রয়েছে।

Accompanist থেকে অ্যানিমেশন

এখন যেহেতু AnimatedContent স্থিতিশীল, আমরা অ্যাকমপ্যানিস্ট নেভিগেশন অ্যানিমেশন থেকে কোডটিকে আবার নেভিগেশন কম্পোজে সরাতে সক্ষম হয়েছি।

এর মানে হল AnimatedNavHost এ বিদ্যমান কাস্টম ট্রানজিশন সেট করার জন্য সমস্ত সমর্থন সরাসরি NavHost এ সমর্থিত।

অ্যাকপ্যানিস্ট নেভিগেশন অ্যানিমেশনে কোনও অতিরিক্ত পরিবর্তন করা হবে না এবং আমরা শীঘ্রই এটিকে আনুষ্ঠানিকভাবে বাতিল করে দেব, পাশাপাশি কীভাবে নেভিগেশন কম্পোজে আবার স্থানান্তরিত করা যায় তার নির্দেশিকা সহ, তবে এটি মাইগ্রেশন গাইডের বিপরীত হবে যেখানে অন্য কোনও API পরিবর্তনের প্রয়োজন নেই যদি আপনি ইতিমধ্যেই সর্বশেষ অ্যাকমপ্যানিস্ট আলফা ( 0.31.2-alpha ) ব্যবহার করছেন। ( b/197140101 )

বাগ ফিক্স

  • ন্যাভিগেশন 2.6.0-rc02 থেকে: ফ্র্যাগমেন্টে ন্যাভিগেশন নিয়ে একটি সমস্যা সমাধান করা হয়েছে যেখানে popUpTo দিয়ে নেভিগেট করা এবং তার ভিউ পুনরায় তৈরি না করে ব্যাক স্ট্যাকের থেকে একটি টুকরো পপ করা সিস্টেমকে কাজ করা বন্ধ করে দেবে। ( Ieb8d4 , b/281726455 )

নির্ভরতা আপডেট

  • নেভিগেশন এখন কম্পোজ 1.5.0-beta01 এর উপর নির্ভর করে।

সংস্করণ 2.6.0

সংস্করণ 2.6.0

7 জুন, 2023

androidx.navigation:navigation-*:2.6.0 প্রকাশিত হয়েছে। সংস্করণ 2.6.0 এই কমিট ধারণ করে.

2.5.0 থেকে নেভিগেশনে গুরুত্বপূর্ণ পরিবর্তন

  • NavBackStackEntry এর arguments এবং একটি OnDestinationChangedListener এর কাছে পাঠানো arguments এখন শুধুমাত্র অপরিবর্তনীয় আর্গুমেন্টগুলির একটি অনুলিপি যা আপনি যখন গন্তব্যে নেভিগেট করেছিলেন তখন তৈরি হয়েছিল৷ এর অর্থ হল এই বান্ডেলগুলিতে করা কোনও পরিবর্তন arguments বা অন্যান্য OnDestinationChangedListener দৃষ্টান্তগুলিতে পরবর্তী অ্যাক্সেসগুলিতে প্রতিফলিত হবে না।
  • NavDeepLink এখন অ্যারেগুলির জন্য ডিফল্ট মান সমর্থন করে, যা বারবার ক্যোয়ারী প্যারামের জন্য সমর্থন করতে দেয় যা আর্গুমেন্টের অ্যারে টাইপের সাথে মানচিত্র করবে। NavType এখন একটি ডিফল্ট পদ্ধতি রয়েছে যা দুটি পার্স করা মানকে একত্রিত করতে ওভাররাইড করা যেতে পারে।
  • NavType এর কাস্টম সাবক্লাসগুলি এখন serializeAsValue ওভাররাইড করে একটি স্ট্রিং-এ একটি মানকে সিরিয়ালাইজ করতে পারে, যার ফলে সিরিয়ালাইজেশন এবং ডিসিরিয়ালাইজেশন ( parseValue মাধ্যমে) উভয়কেই NavType ক্লাসে সম্পূর্ণরূপে এনক্যাপসুলেট করা যায়। প্রদত্ত StringUri.encode কল করার জন্য StringType এখন এই পদ্ধতিটিকে ওভাররাইড করে।

2.5.0 থেকে নেভিগেশন কম্পোজে গুরুত্বপূর্ণ পরিবর্তন

  • NavHost এর সাথে কম্পোজেবলের পূর্বরূপ দেখার সময়, এটি এখন ডিফল্টরূপে NavGraph-এর startDestination দেখাবে।
  • NavController.popBackStack(route) , NavController.getBackStackEntry(route) , NavController.clearBackStack(route) এখন আংশিক বা সম্পূর্ণভাবে পূর্ণ আর্গুমেন্ট সহ সমস্ত সমর্থন রুট৷ মনে রাখবেন যে আর্গুমেন্টগুলি এন্ট্রির আর্গুমেন্টের সাথে একটি সঠিক মিল হতে হবে৷
  • navDeepLink Kotlin DSL ব্যবহার করে একটি খালি NavDeepLink তৈরি করার প্রচেষ্টার ফলে এখন একটি লিন্ট সতর্কতা হবে যা নির্দেশ করে যে একটি গভীর লিঙ্কের বৈধ হওয়ার জন্য একটি uri, অ্যাকশন এবং/অথবা মাইমেটাইপ প্রয়োজন৷

2.5.0 থেকে ফ্র্যাগমেন্ট সহ নেভিগেশনে গুরুত্বপূর্ণ পরিবর্তন

  • NavHostFragment আর সিস্টেম ব্যাক বোতাম নিজেই বাধা দেয় না। এটি অন্তর্নিহিত FragmentManager সিস্টেম ব্যাক পরিচালনা করার অনুমতি দেয়। এটি ফ্র্যাগমেন্ট 1.7.0-alpha01 এবং উচ্চতরকে Android U ডিভাইসে একটি ইন-অ্যাপ প্রেডিকটিভ ব্যাক অ্যানিমেশন প্রদান করতে দেয়।
  • ফ্র্যাগমেন্টের সাথে নেভিগেশন ব্যবহার করার সময়, ম্যানুয়ালি একটি FragmentTransaction করার চেষ্টা করা যা FragmentManager এর ব্যাক স্ট্যাকে একটি খণ্ড যুক্ত করে এখন একটি IllegalArgumentException নিক্ষেপ করবে। আপনার সর্বদা navigate() API এর মাধ্যমে টুকরো যুক্ত করা উচিত।
  • একটি নেভিগেশন XML ফাইলের অ্যাক্টিভিটি এলিমেন্টে app:data এবং app:dataPattern অ্যাট্রিবিউটে প্লেসহোল্ডার হিসেবে সঠিক স্ট্রিং ${applicationId} ব্যবহার করার সময়, স্থানধারক স্বয়ংক্রিয়ভাবে মুদ্রাস্ফীতির প্রেক্ষাপটের packageName দিয়ে পূর্ণ হবে।
  • FragmentNavigator এখন NavBackStackEntries নেভিগেট এবং পপ করার সময় ট্রানজিশন API ব্যবহার করে। এর মানে হল যে NavBackStackEntry Lifecycle এখন তাদের চূড়ান্ত Lifecycle.State সরানোর আগে প্রবেশ এবং প্রস্থানকারী অংশ বিশেষ প্রভাব সম্পূর্ণ হওয়ার জন্য অপেক্ষা করবে।
  • DialogFragmentNavigator এখন NavBackStackEntries নেভিগেট এবং পপ করার সময় ট্রানজিশন API ব্যবহার করে। এর মানে হল যে NavBackStackEntry Lifecycle এখন DESTROYED এ যাওয়ার আগে DialogFragment Lifecycle DESTROYED এ যাওয়ার জন্য অপেক্ষা করবে।
  • NavHostFragment এখন আপনাকে NavHostFragment FragmentManager এর সাথে সংযুক্ত হওয়ার সাথে সাথে NavController পুনরুদ্ধার করতে দেয়, শুধুমাত্র onCreate() এর পরে না।
  • ডাইনামিক ফিচার মডিউলের জন্য নেভিগেশন সমর্থন এখন গ্রানুলার প্লে ফিচার ডেলিভারি লাইব্রেরির উপর নির্ভর করে।
  • নেভিগেশন সেফ আর্গস এখন অ্যান্ড্রয়েড গ্রেডল প্লাগইন সংস্করণ 7.3.0 এর উপর নির্ভর করে। এর মানে এটি এখন শুধুমাত্র 7.3.0+ সংস্করণের সাথে সামঞ্জস্যপূর্ণ।

2.5.0 থেকে NavigationUI-তে গুরুত্বপূর্ণ পরিবর্তন

  • AppBarConfiguration এ একটি নেভিগেশন গ্রাফের ID পাস করার সময় (যেমন একটি Menu মাধ্যমে), NavigationUI এখন শুধুমাত্র সেই নেভিগেশন গ্রাফের শুরুর গন্তব্যটিকে শীর্ষ স্তরের গন্তব্য হিসাবে বিবেচনা করে, গ্রাফের মধ্যে প্রতিটি গন্তব্যকে শীর্ষ স্তরের গন্তব্য হিসাবে ভুলভাবে চিহ্নিত করার পরিবর্তে। একটি পৃথক গন্তব্যের আইডি পাস করার আচরণ অপরিবর্তিত। AppBarConfiguration এ নতুন isTopLevelDestination ফাংশনের মাধ্যমে আপনার নিজের কোডে এই একই কার্যকারিতা উপলব্ধ।
  • শীর্ষ অ্যাপ বারে কাজ করার জন্য NavigationUI তে setupWithNavController ইন্টিগ্রেশনগুলি এখন আপনার android:label লেবেলে পাওয়া ReferenceType আর্গুমেন্টগুলির জন্য R.string মানগুলিকে তাদের স্ট্রিং মানগুলিতে অটো-জেনারেটেড রিসোর্স পূর্ণসংখ্যা আউটপুট করার পরিবর্তে পার্স করবে।
  • NavigationUI এখন লগ প্রদান করে যখন এটি একটি নির্বাচিত MenuItem এর মাধ্যমে নেভিগেট করতে ব্যর্থ হয়।

সংস্করণ 2.6.0-rc02

24 মে, 2023

androidx.navigation:navigation-*:2.6.0-rc02 প্রকাশিত হয়েছে। সংস্করণ 2.6.0-rc02 এই কমিট ধারণ করে।

বাগ ফিক্স

  • ফ্র্যাগমেন্টে ন্যাভিগেশনের একটি সমস্যা সমাধান করা হয়েছে যেখানে popUpTo দিয়ে নেভিগেট করা এবং তার ভিউ রিক্রিয়েট না করে ব্যাক স্ট্যাকের একটি টুকরো পপ করার ফলে সিস্টেম আবার কাজ করা বন্ধ করে দেবে। ( Ieb8d4 , b/281726455 )

সংস্করণ 2.6.0-rc01

10 মে, 2023

androidx.navigation:navigation-*:2.6.0-rc01 প্রকাশিত হয়েছে। সংস্করণ 2.6.0-rc01-এ এই কমিট রয়েছে।

বাগ ফিক্স

  • টুকরোগুলির সাথে নেভিগেশনে একটি সমস্যা সমাধান করা হয়েছে যেখানে তার onResume() লাইফসাইকেল কলব্যাকে popUpTo এর মাধ্যমে নেভিগেট করার মাধ্যমে একটি খণ্ডটি অপসারণ করা একটি IllegalStateException সৃষ্টি করবে। ( I21884 , b/279644470 )

সংস্করণ 2.6.0-beta01

এপ্রিল 19, 2023

androidx.navigation:navigation-*:2.6.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 2.6.0-beta01-এ এই কমিট রয়েছে।

নতুন বৈশিষ্ট

  • NavBackStackEntry এখন একটি কাস্টম toString বাস্তবায়ন প্রদান করে। ( IFF00b )

বাগ ফিক্স

  • ফ্র্যাগমেন্টের সাথে নেভিগেশন ব্যবহার করার সময়, ম্যানুয়ালি একটি FragmentTransaction করার চেষ্টা করা যা FragmentManager এর ব্যাক স্ট্যাকে একটি খণ্ড যুক্ত করে এখন একটি IllegalArgumentException নিক্ষেপ করবে। আপনার সর্বদা navigate() API এর মাধ্যমে টুকরো যুক্ত করা উচিত। ( I6d38e )
  • যখন একটি navigate থাকে যা একটি এন্ট্রি এবং একটি popBackStack যোগ করে যা এটিকে একই ফ্রেমে সরিয়ে দেয়, তখন পিছনের স্ট্যাকের উপরের এন্ট্রিটি এখন ধারাবাহিকভাবে পুনরায় চালু RESUMED Lifecycle.State ফিরে আসবে৷ ( Id8067 , b/276495952 )

সংস্করণ 2.6.0-alpha09

5 এপ্রিল, 2023

androidx.navigation:navigation-*:2.6.0-alpha09 প্রকাশিত হয়েছে। সংস্করণ 2.6.0-alpha09 এই কমিট ধারণ করে।

বাগ ফিক্স

  • অবৈধ রুটের জন্য স্থির চেক যেমন একটি NavDestination যদি নন-nullable NavArgument ধারণ করে, তাহলে এই গন্তব্যের রুটে অবশ্যই অ-নূলযোগ্য NavArgument এর মতো নামযুক্ত args-এর স্থানধারক থাকতে হবে। ( Ic62bf , b/274697949 )
  • Action/MimeType এর উপর ভিত্তি করে ডিপলিংক নেভিগেশনগুলি এখন ব্যর্থ হবে যদি নেভিগেশন অপারেশনটি Action/MimeType এর সাথে মেলে এমন NavDestination এর জন্য প্রয়োজনীয় একটি অ-নূলযোগ্য NavArgument অনুপস্থিত থাকে। ( Ibfa17 , b/271777424 )
  • যখন NavController পূর্ববর্তী গ্রাফের মতো একই রুট এবং গন্তব্যগুলির সাথে একটি গ্রাফ সেট করে, তখন এটি এখন সঠিকভাবে তার বর্তমান গ্রাফ নোডগুলি এবং এর ব্যাক স্ট্যাকের গন্তব্যগুলিকে নতুন উদাহরণ দিয়ে প্রতিস্থাপন করে৷ নেভিগেশন রচনায় স্থিতি সংরক্ষণ না করে onLaunchSingleTop ব্যবহার করার সময় এটি একটি ক্র্যাশ সংশোধন করে৷ এটি একটি ত্রুটিও ঠিক করে যেখানে রুট গ্রাফের সাথে যুক্ত গন্তব্যে নেভিগেট করা হয় এবং ভুল ব্যাক স্ট্যাক তৈরি হয়। ( I5bc58 , b/275258161 , b/275407804 )

সংস্করণ 2.6.0-alpha08

22 মার্চ, 2023

androidx.navigation:navigation-*:2.6.0-alpha08 প্রকাশিত হয়েছে। সংস্করণ 2.6.0-alpha08 এই কমিট ধারণ করে।

নতুন বৈশিষ্ট

  • NavHostFragment এখন আপনাকে NavHostFragment FragmentManager এর সাথে সংযুক্ত হওয়ার সাথে সাথে NavController পুনরুদ্ধার করতে দেয়, শুধুমাত্র onCreate() এর পরে না। ( Ic6382 , b/220186282 )

বাগ ফিক্স

  • একটি NullPointerException স্থির করা হয়েছে যখন একটি নেস্টেড গ্রাফ পপ করা হয়েছে যাতে একটি নন-নালযোগ্য যুক্তি রয়েছে৷ ( 6b3581 , b/249988437 )
  • popUpTo দিয়ে নেভিগেট করার পরে সিস্টেম ব্যাক করার সময়, NavController এর অবস্থা সঠিক এন্ট্রিতে পপ করবে। ( I3a8ec , b/270447657 )
  • FragmentNavigator এখন সঠিকভাবে এন্ট্রি পপ করবে যখন ব্যাক স্ট্যাক সিস্টেম ব্যাক বা popBackStack() এর মাধ্যমে পপ করা হয় এবং লেনদেনটি ফ্র্যাগমেন্টের জন্য প্রভাব ব্যবহার করে কিনা। ( I81bdf )
  • নেভিগেশন ব্যবহার না করে FragmentNavigator এর FragmentManager এ টুকরো যোগ করলে আর ক্র্যাশ হবে না। ( b17204 , b/274167493 )

নির্ভরতা আপডেট

সংস্করণ 2.6.0-alpha07

8 মার্চ, 2023

androidx.navigation:navigation-*:2.6.0-alpha07 প্রকাশিত হয়েছে। সংস্করণ 2.6.0-alpha07 এই কমিট ধারণ করে।

বাগ ফিক্স

  • getBackStackEntry , popBackStack , clearBackStack API ভেরিয়েন্টগুলি যেগুলি রুটগুলি গ্রহণ করে সেগুলি এখন বাতিলযোগ্য আর্গুমেন্ট এবং বাতিলযোগ্য ক্যোয়ারী প্যারামগুলির সাথে রুট প্যাটার্ন গ্রহণ করে ( I22294 , b/269302500 )
  • একটি সমস্যা সমাধান করা হয়েছে যেখানে NavController থেকে clearBackStack() কল করলে ক্লিয়ার করা ব্যাক স্ট্যাকের সাথে যুক্ত ফ্র্যাগমেন্ট ম্যানেজারে সংরক্ষিত অবস্থা সাফ হবে না। ( IC1cce , b/271190202 )
  • 2.6.0-alpha06-এ একটি রিগ্রেশন স্থির করা হয়েছে যার ফলে BottomNavigationView এ ভুল MenuItem হাইলাইট করা হয়েছে যখন ট্যাবের মধ্যে সিস্টেম ব্যাক করা হয়েছে। ( I634f6 , b/270447657 )
  • 2.6.0-alpha06-এ ফিক্সড রিগ্রেশন যার কারণে Animation s ব্যবহার করার সময় NavBackStackEntry কে RESUMED অবস্থায় সরানো হয়নি। ( Ib3589 , b/269646882 )

সংস্করণ 2.6.0-alpha06

22 ফেব্রুয়ারি, 2023

androidx.navigation:navigation-*:2.6.0-alpha06 প্রকাশিত হয়েছে। সংস্করণ 2.6.0-alpha06 এই কমিট ধারণ করে।

নতুন বৈশিষ্ট

  • NavHost এর সাথে কম্পোজেবলের পূর্বরূপ দেখার সময়, এটি এখন ডিফল্টরূপে NavGraph-এর startDestination দেখাবে। ( I2b89f )

এপিআই পরিবর্তন

  • সমস্ত NavController navigate ওভারলোডগুলিকে এখন @MainThread দিয়ে টীকা করা হয়েছে যাতে সেগুলিকে মূল থ্রেডে কল করা হয়েছে। ( I2c0b0 , b/263427111 )

বাগ ফিক্স

  • ডায়নামিক ফ্র্যাগমেন্ট নেভিগেশন ব্যবহার করার সময় নেভিগেট করার চেষ্টা করার সময় একটি ক্র্যাশ সংশোধন করা হয়েছে। ( I3ee29 , b/268360479 )
  • ফিক্সড বাগ যেখানে সিস্টেম ব্যাক বোতামের মাধ্যমে অন্য খণ্ডে নেভিগেট করা সঠিক নির্বাচিত আইটেমে নীচের বার আপডেট করে না ( If559f , b/269044426 )

জ্ঞাত সমস্যা

  • ফ্র্যাগমেন্টের সাথে নেভিগেশন ব্যবহার করার সময়, Animation API ব্যবহার করার সময় NavBackStackEntry এর লাইফসাইকেল RESUMED পৌঁছাতে ব্যর্থ হয়। ( b/269646882 )
  • ফ্র্যাগমেন্টের সাথে নেভিগেশন ব্যবহার করার সময়, এবং BottomNavigation দিয়ে নেভিগেট করার সময়, আপনি যদি একাধিক এন্ট্রি সহ একটি ব্যাক স্ট্যাক পুনরুদ্ধার করার চেষ্টা করেন, BottomMenuItem সঠিকভাবে আপডেট করা হয় না। ( b/270447657 )
  • ফ্র্যাগমেন্টের সাথে নেভিগেশন ব্যবহার করার সময়, অবস্থা পুনরুদ্ধার করার পরে NavBackStackEntry Lifecycle DESTROYED হয়ে যায় না যখন এটির খণ্ডটি DESTROYED হয়ে যায়। ( b/270610768 )

সংস্করণ 2.6.0-alpha05

ফেব্রুয়ারী 8, 2023

androidx.navigation:navigation-*:2.6.0-alpha05 প্রকাশিত হয়েছে। সংস্করণ 2.6.0-alpha05 এই কমিট ধারণ করে।

নতুন বৈশিষ্ট

  • NavController.popBackStack(route) , NavController.getBackStackEntry(route) , NavController.clearBackStack(route) এখন আংশিক বা সম্পূর্ণভাবে পূর্ণ আর্গুমেন্ট সহ সমস্ত সমর্থন রুট৷ মনে রাখবেন যে আর্গুমেন্টগুলি এন্ট্রির আর্গুমেন্টের সাথে একটি সঠিক মিল হতে হবে৷ ( Iebd28 , Ic678c , I3b37b , b/257514373 )
  • FragmentNavigator এখন NavBackStackEntries নেভিগেট এবং পপ করার সময় ট্রানজিশন API ব্যবহার করে। এর মানে হল যে NavBackStackEntry Lifecycle এখন তাদের চূড়ান্ত Lifecycle.State সরানোর আগে প্রবেশ এবং প্রস্থানকারী অংশ বিশেষ প্রভাব সম্পূর্ণ হওয়ার জন্য অপেক্ষা করবে। ( I3cb19 , b/238686802 )
  • DialogFragmentNavigator এখন NavBackStackEntries নেভিগেট এবং পপ করার সময় ট্রানজিশন API ব্যবহার করে। এর মানে হল যে NavBackStackEntry Lifecycle এখন DESTROYED এ যাওয়ার আগে DialogFragment Lifecycle DESTROYED এ যাওয়ার জন্য অপেক্ষা করবে। ( I53ee5 , b/261213893 )

এপিআই পরিবর্তন

  • NavigatorState এখন prepareForTransition API প্রদান করে যাতে Navigator NavBackStackEntries মধ্যবর্তী Lifecycle.State স্থানান্তর করার অনুমতি দেয়। ( I42c21 , b/238686802 )
  • আপনি এখন backstack সম্পত্তির মাধ্যমে NavGraphNavigator বা ComposeNavigator এর সাথে যুক্ত ব্যাক স্ট্যাক অ্যাক্সেস করতে পারেন। ComposeNavigator এখন onTransitionComplete() কলব্যাককে একটি NavBackStackEntry চিহ্নিত করতে প্রকাশ করে যা একটি নেভিগেট বা popBackStack অপারেশন সম্পূর্ণরূপে সম্পন্ন করেছে। ( I02062 , I718db , b/257519195 )

বাগ ফিক্স

  • push/popWithTransition API ব্যবহার করার সময় ন্যাভিগেটর স্টেট এখন নো-অপ করবে এবং এন্ট্রিটি ইতিমধ্যেই পরিচালনা করা হচ্ছে। ( Iadbfa , b/261213893 )
  • একটি নেস্টেড NavGraph এর সাথে launchSingleTop ব্যবহার করার সময় আসল গন্তব্য থেকে শুরু করে startDestination পর্যন্ত সমস্ত গন্তব্যগুলি শুধুমাত্র ব্যাকস্ট্যাকের শীর্ষে সঠিকভাবে যোগ করা হবে। ( Id4bea , b/253256629 )
  • ন্যাভিগেশন এখন সঠিকভাবে DialogFragment দৃষ্টান্ত প্রতিস্থাপন করবে যখন launchSingleTop পতাকা সত্যে সেট করে একই গন্তব্যে নেভিগেট করবে। ( I45b5a , b/149572817 )
  • ঠিক 19 অক্ষর দীর্ঘ আর্গুমেন্ট ব্যবহার করার সময় নেভিগেশন SafeArgs আর একটি সংকলন ত্রুটি সৃষ্টি করবে না। ( Id60bc , b/257110095 )

সংস্করণ 2.6.0-alpha04

9 নভেম্বর, 2022

androidx.navigation:navigation-*:2.6.0-alpha04 প্রকাশিত হয়েছে। সংস্করণ 2.6.0-alpha04 এই কমিট ধারণ করে।

নতুন বৈশিষ্ট

  • NavType এর কাস্টম সাবক্লাসগুলি এখন serializeAsValue ওভাররাইড করে একটি স্ট্রিং-এ একটি মানকে সিরিয়ালাইজ করতে পারে, যার ফলে সিরিয়ালাইজেশন এবং ডিসিরিয়ালাইজেশন ( parseValue মাধ্যমে) উভয়কেই NavType ক্লাসে সম্পূর্ণরূপে এনক্যাপসুলেট করা যায়। প্রদত্ত StringUri.encode কল করার জন্য StringType এখন এই পদ্ধতিটিকে ওভাররাইড করে। ( IE5213 , b/247637434 )
  • NavigationUI এখন লগ প্রদান করে যখন এটি একটি নির্বাচিত MenuItem এর মাধ্যমে নেভিগেট করতে ব্যর্থ হয়। ( I2af5a , b/247730357 )

বাগ ফিক্স

  • নেভিগেশন গভীর লিঙ্কগুলি এখন গ্রাফ ইনিশিয়ালাইজেশনের পরিবর্তে অলসভাবে পার্স করা হয়েছে যা শুরুতে অ্যাপের কার্যকারিতা উন্নত করতে পারে। ( Iab0ab )
  • নাল ডিফল্ট আর্গুমেন্ট সহ একটি গন্তব্যের সাথে গভীর লিঙ্ক করার পরে নেভিগেট করার কারণে স্থির ক্র্যাশ। ( I51c24 , b/243183636 )

নির্ভরতা আপডেট

  • ডাইনামিক ফিচার মডিউলের জন্য নেভিগেশন সমর্থন এখন গ্রানুলার প্লে ফিচার ডেলিভারি লাইব্রেরির উপর নির্ভর করে। ( Ib4ddc )
  • নেভিগেশন সেফ আর্গস এখন অ্যান্ড্রয়েড গ্রেডল প্লাগইন সংস্করণ 7.3.0 এর উপর নির্ভর করে। এর মানে এটি এখন শুধুমাত্র 7.3.0+ সংস্করণের সাথে সামঞ্জস্যপূর্ণ। ( I47e49 )

সংস্করণ 2.6.0-alpha03

24 অক্টোবর, 2022

androidx.navigation:navigation-*:2.6.0-alpha03 প্রকাশিত হয়েছে। সংস্করণ 2.6.0-alpha03 এই কমিট ধারণ করে।

বাগ ফিক্স

  • নেভিগেশন 2.5.3 থেকে : যখন Crossfade রচনা করার জন্য কোন গন্তব্য উপলব্ধ না থাকে তখন NavHost আর NoSuchElementException সৃষ্টি করবে না। এটা এখন শুধু রচনা এড়িয়ে যাবে. ( Ieb46e , b/253299416 )
  • ন্যাভিগেশন 2.5.3 থেকে: একটি সমস্যা সমাধান করা হয়েছে যেখানে সংরক্ষিত কম্পোজ স্টেট (যেমন, rememberSaveable ব্যবহার) ভুলে যাওয়া এবং সরানো হচ্ছে না যখন একটি গন্তব্য ব্যাক স্ট্যাকের থেকে পপ করা হয়েছিল। ( I64949 )

নির্ভরতা আপডেট

সংস্করণ 2.6.0-alpha02

5 অক্টোবর, 2022

androidx.navigation:navigation-*:2.6.0-alpha02 প্রকাশিত হয়েছে। সংস্করণ 2.6.0-alpha02 এই কমিট ধারণ করে।

আচরণ পরিবর্তন

  • AppBarConfiguration এ একটি নেভিগেশন গ্রাফের ID পাস করার সময় (যেমন একটি Menu মাধ্যমে), NavigationUI এখন শুধুমাত্র সেই নেভিগেশন গ্রাফের শুরুর গন্তব্যটিকে শীর্ষ স্তরের গন্তব্য হিসাবে বিবেচনা করে, গ্রাফের মধ্যে প্রতিটি গন্তব্যকে শীর্ষ স্তরের গন্তব্য হিসাবে ভুলভাবে চিহ্নিত করার পরিবর্তে। একটি পৃথক গন্তব্যের আইডি পাস করার আচরণ অপরিবর্তিত। AppBarConfiguration এ নতুন isTopLevelDestination ফাংশনের মাধ্যমে আপনার নিজের কোডে এই একই কার্যকারিতা উপলব্ধ। ( IE936e , b/238496771 )

বাগ ফিক্স

  • navigation:navigation-fragment উপাদানটি এখন ফ্র্যাগমেন্ট সংস্করণ 1.5.2 এর উপর নির্ভর করে। ( I00ba4 )
  • একটি ডায়ালগের মতো FloatingWindow গন্তব্যে নেভিগেট করার সময় নির্বাচিত মেনু আইটেমটি আর আপডেট করা হবে না। ( I4cde8 , b/240308330 )

সংস্করণ 2.6.0-alpha01

7 সেপ্টেম্বর, 2022

androidx.navigation:navigation-*:2.6.0-alpha01 প্রকাশিত হয়েছে। 2.6.0-alpha01 সংস্করণে এই কমিট রয়েছে।

নতুন বৈশিষ্ট

  • শীর্ষ অ্যাপ বারে কাজ করার জন্য NavigationUI তে setupWithNavController ইন্টিগ্রেশনগুলি এখন আপনার android:label লেবেলে পাওয়া ReferenceType আর্গুমেন্টগুলির জন্য R.string মানগুলিকে তাদের স্ট্রিং মানগুলিতে অটো-জেনারেটেড রিসোর্স পূর্ণসংখ্যা আউটপুট করার পরিবর্তে পার্স করবে। ( I5f803 , b/167959935 )
  • NavDeepLink এখন অ্যারেগুলির জন্য ডিফল্ট মান সমর্থন করে, যা বারবার ক্যোয়ারী প্যারামের জন্য সমর্থন করতে দেয় যা আর্গুমেন্টের অ্যারে টাইপের সাথে মানচিত্র করবে। NavType এখন একটি ডিফল্ট পদ্ধতি রয়েছে যা দুটি পার্স করা মানকে একত্রিত করতে ওভাররাইড করা যেতে পারে। ( Id68c3 , b/209977108 )
  • একটি নেভিগেশন XML ফাইলের অ্যাক্টিভিটি এলিমেন্টে app:data এবং app:dataPattern অ্যাট্রিবিউটে প্লেসহোল্ডার হিসেবে সঠিক স্ট্রিং ${applicationId} ব্যবহার করার সময়, স্থানধারক স্বয়ংক্রিয়ভাবে মুদ্রাস্ফীতির প্রেক্ষাপটের packageName দিয়ে পূর্ণ হবে। ( আব্দে , বি/২৩৪২২৩৫৬১ )
  • navDeepLink Kotlin DSL ব্যবহার করে একটি খালি NavDeepLink তৈরি করার প্রচেষ্টার ফলে এখন একটি লিন্ট সতর্কতা হবে যা নির্দেশ করে যে একটি গভীর লিঙ্কের বৈধ হওয়ার জন্য একটি uri, অ্যাকশন এবং/অথবা মাইমেটাইপ প্রয়োজন৷ ( I08d2f , b/154038883 )

এপিআই পরিবর্তন

  • স্ট্রিং-এ android:label="{arg}" আকারে আর্গুমেন্ট সহ ডায়নামিক লেবেল পার্স করতে নতুন NavDestination এক্সটেনশন ফাংশন যোগ করা হয়েছে। R.string মানগুলিকে তাদের স্ট্রিং মানগুলিতে পার্স করে ReferenceType আর্গুমেন্টকে সমর্থন করে। ( I07d89 , b/236269380 )

আচরণ পরিবর্তন

  • NavBackStackEntry-এর arguments এবং একটি OnDestinationChangedListener এর কাছে পাঠানো arguments এখন শুধুমাত্র সেই অপরিবর্তনীয় আর্গুমেন্টগুলির একটি অনুলিপি যা আপনি যখন গন্তব্যে নেভিগেট করেছিলেন তখন তৈরি হয়েছিল৷ এর অর্থ হল এই বান্ডেলগুলিতে করা কোনও পরিবর্তন arguments বা অন্যান্য OnDestinationChangedListener দৃষ্টান্তগুলিতে পরবর্তী অ্যাক্সেসগুলিতে প্রতিফলিত হবে না। ( I676f5 )

বাগ ফিক্স

  • ন্যাভিগেশন 2.5.2 থেকে : ডাইনামিক নেভিগেশন এখন অন্যান্য মডিউল থেকে অ্যাক্টিভিটি গন্তব্যে নেভিগেট করার আগে সঠিকভাবে ইনস্টল করার চেষ্টা করে। ( IA2c16 , b/240292838 )
  • ন্যাভিগেশন 2.5.2 থেকে : একই গন্তব্যে নেভিগেট করার সময় এবং launchSingleTop পতাকা সত্যে সেট করার সময় নেভিগেশন এখন সঠিকভাবে ফ্র্যাগমেন্ট ইনস্ট্যান্সকে প্রতিস্থাপন করবে। ( I5a2f1 , b/237374580 )
  • ন্যাভিগেশন 2.5.2 থেকে : একটি ডবল নেস্টেড গ্রাফে নেভিগেট করার কারণে স্থির IllegalStateException যা একটি নতুন পপ করা শুরুর গন্তব্যের সাথে একজন অভিভাবককে ভাগ করে। ( I9f7cb , b/243778589 )

সংস্করণ 2.5

সংস্করণ 2.5.3

24 অক্টোবর, 2022

androidx.navigation:navigation-*:2.5.3 প্রকাশিত হয়েছে। সংস্করণ 2.5.3 এই কমিট ধারণ করে.

বাগ ফিক্স

  • যখন Crossfade রচনা করার জন্য কোন গন্তব্য উপলব্ধ না থাকে তখন NavHost আর কোন NoSuchElementException সৃষ্টি করবে না। এটা এখন শুধু রচনা এড়িয়ে যাবে. ( Ieb46e , b/253299416 )
  • একটি সমস্যা সমাধান করা হয়েছে যেখানে সংরক্ষিত কম্পোজ স্টেট (উদাহরণস্বরূপ, rememberSaveable ব্যবহার) ভুলে যাওয়া হয়নি এবং যখন একটি গন্তব্য ব্যাক স্ট্যাকের থেকে পপ করা হয়েছিল তখন সরানো হচ্ছে না। ( I64949 )

সংস্করণ 2.5.2

7 সেপ্টেম্বর, 2022

androidx.navigation:navigation-*:2.5.2 প্রকাশিত হয়েছে। সংস্করণ 2.5.2 এই কমিট ধারণ করে.

বাগ ফিক্স

  • ডাইনামিক নেভিগেশন এখন অন্য মডিউল থেকে অ্যাক্টিভিটি গন্তব্যে নেভিগেট করার আগে সঠিকভাবে ইনস্টল করার চেষ্টা করে। ( IA2c16 , b/240292838 )
  • একই গন্তব্যে নেভিগেট করার সময় এবং launchSingleTop পতাকাটিকে সত্য হিসাবে সেট করার সময় নেভিগেশন এখন সঠিকভাবে ফ্র্যাগমেন্ট উদাহরণটিকে প্রতিস্থাপন করবে। ( I5a2f1 , b/237374580 )
  • একটি ডবল নেস্টেড গ্রাফে নেভিগেট করার কারণে স্থির IllegalStateException যা একটি নতুন পপ করা শুরুর গন্তব্যের সাথে অভিভাবককে ভাগ করে। ( I9f7cb , b/243778589 )

নির্ভরতা আপডেট

সংস্করণ 2.5.1

জুলাই 27, 2022

androidx.navigation:navigation-*:2.5.1 প্রকাশিত হয়েছে। সংস্করণ 2.5.1 এই কমিট ধারণ করে.

বাগ ফিক্স

  • একটি Bundle সংরক্ষিত কাস্টম আর্গুমেন্ট প্রকারগুলি ব্যবহার করার সময় Navigation Safe Args জেনারেট করা ক্লাসে আর অবচয় সতর্কতা সৃষ্টি করবে না। ( Id86ed , b/237725966 )

নির্ভরতা আপডেট

সংস্করণ 2.5.0

জুন 29, 2022

androidx.navigation:navigation-*:2.5.0 প্রকাশিত হয়েছে। সংস্করণ 2.5.0 এই কমিট ধারণ করে.

2.4.0 থেকে গুরুত্বপূর্ণ পরিবর্তন

  • CreationExtras ইন্টিগ্রেশন - Navigation এখন লাইফসাইকেল 2.5.0 এর CreationExtras এর মাধ্যমে একটি স্টেটলেস ViewModelProvider.Factory প্রদান করার ক্ষমতা রাখে।

নেভিগেশন SafeArgs

  • Navigation Safe Args 7.0.4 উপর নির্ভর করার জন্য Android Gradle Plugin নির্ভরতা আপগ্রেড করেছে, 7.0 এর আগে এজিপি সংস্করণগুলির জন্য সামঞ্জস্যতা বাদ দিয়েছে।
  • অ্যাপ্লিকেশন আইডির পরিবর্তে ব্যবহার করার জন্য namespace build.gradle অ্যাট্রিবিউটের জন্য সমর্থন যোগ করা হয়েছে।

অন্যান্য পরিবর্তন

  • visibleEntries API আর পরীক্ষামূলক নয় এবং NavController অনুযায়ী বর্তমানে দৃশ্যমান সমস্ত এন্ট্রি পুনরুদ্ধার করার জন্য একটি ফাংশন প্রদান করে।

সংস্করণ 2.5.0-rc02

15 জুন, 2022

androidx.navigation:navigation-*:2.5.0-rc02 প্রকাশিত হয়েছে। সংস্করণ 2.5.0-rc02 এই কমিট ধারণ করে।

বাগ ফিক্স

  • নেভিগেশন রচনা NavHost ব্যবহার করার সময় নীচের গন্তব্যগুলির মধ্যে দ্রুত স্যুইচিংয়ের কারণে সৃষ্ট একটি ক্র্যাশ সংশোধন করা হয়েছে৷ ( I3979a , b/234054916 )
  • Navigation SafeArgs আর ক্র্যাশ হবে না যখন কোনো applicationIdSuffix এবং নামস্থান ব্যবহার করার সময় হয় কোনো applicationId নেই, অথবা যখন applicationId এবং নামস্থান পৃথক হয়। ( I754b1 , b/233119646 )
  • NavArgument এখন একটি কাস্টম toString() ফাংশন আছে আর্গুমেন্টের অভ্যন্তরীণ মান দেখানোর জন্য। ( I900a8 )

সংস্করণ 2.5.0-rc01

11 মে, 2022

androidx.navigation:navigation-*:2.5.0-rc01 প্রকাশিত হয়েছে। সংস্করণ 2.5.0-rc01-এ এই কমিট রয়েছে।

নতুন বৈশিষ্ট

  • আপনার navigation.xml ফাইলের <activity> এলিমেন্টের ভিতরে <deeplink> উপাদানগুলি রাখার বিরুদ্ধে সতর্ক করার জন্য একটি নতুন লিন্ট নিয়ম যোগ করা হয়েছে। ( Ic15a5 , b/178403185 )

বাগ ফিক্স

  • NavHost এবং DialogHost এ কম্পোজযোগ্য স্কোপগুলি এখন প্রত্যাশিত ক্রমে নিষ্পত্তি করা হয়, অর্থাৎ ভিতরের কম্পোজেবলগুলি বাইরের কম্পোজেবলের আগে নিষ্পত্তি করা হয়। ( I157e6 )
  • ন্যাভিগেশন SafeArgs এখন ArgumentsGenerationTaskPathSensitivity.RELATIVE ব্যবহার করে ক্যাশে রিলোক্যাটেবিলিটির অনুমতি দিতে। এর মানে হল ক্যাশে এন্ট্রি এখন একটি CI বিল্ড থেকে স্থানীয় বিল্ডে পুনরায় ব্যবহার করা যেতে পারে। ( I5f67c , b/173420454 )
  • UnrememberedGetBackStackEntryDetector lint নিয়মটি আপডেট করা হয়েছে যাতে getBackStackEntry() এ কলের আশেপাশের remember কলটি একটি কী হিসাবে NavBackStackEntry অবজেক্টে পাস করে।( Ib7081 , b/227382831 )

সংস্করণ 2.5.0-beta01

20 এপ্রিল, 2022

androidx.navigation:navigation-*:2.5.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 2.5.0-beta01-এ এই কমিট রয়েছে।

বাগ ফিক্স

  • DialogNavigator এখন একটি dismiss() কল চালানোর সময় popWithTransition ব্যবহার করে। এটি dialog গন্তব্যের মধ্যে একটি ViewModel ব্যবহার করার সময় একটি রেসের অবস্থার সমাধান করে যা একটি IllegalStateException সৃষ্টি করবে যখন সিস্টেম ব্যাক ব্যবহার করে বা ডায়ালগের বাইরে ট্যাপ করে ডায়ালগ খারিজ করে দেয়। ( Id7376 , b/226552301 )

নির্ভরতা আপডেট

  • ন্যাভিগেশন এখন লাইফসাইকেল 2.5.0-beta01 এর উপর নির্ভর করে, যখন একাধিক ব্যাক স্ট্যাক ব্যবহার করার সময় একটি নন-প্রাথমিক নীচের নেভিগেশন ট্যাবে অন্য NavHost মধ্যে একটি NavHost নেস্ট করার সময় একটি IllegalStateException ঠিক করা।

সংস্করণ 2.5.0-alpha04

6 এপ্রিল, 2022

androidx.navigation:navigation-*:2.5.0-alpha04 প্রকাশিত হয়েছে। সংস্করণ 2.5.0-alpha04 এই কমিট ধারণ করে।

এপিআই পরিবর্তন

  • visibleEntries আর পরীক্ষামূলক নয়। ( I4829f , b/225394514 )

বাগ ফিক্স

  • কোন এন্ট্রিগুলি রচনা করতে হবে তা নির্ধারণ করতে NavHost এখন NavController থেকে visibleEntries উপর নির্ভর করে৷ এর মানে হল নেস্টেড NavHost ব্যবহার করার সময় ভিতরের NavHost এখন সঠিকভাবে অ্যানিমেট করা উচিত। ( I4ba2b , b/225394514 )
  • NavController দ্বারা প্রদত্ত visibleEntries StateFlow এখন বর্তমান লাইফসাইকেল অবস্থার পরিবর্তে এন্ট্রি ম্যাক্স লাইফসাইকেল স্টেটের উপর ভিত্তি করে। এর মানে হল যে এমনকি যদি navController হোস্ট লাইফ সাইকেল STARTED এর নিচে চলে যায়, তবে দৃশ্যমান সম্পূর্ণগুলির তালিকা একই থাকবে। ( I9e2a8 , b/225394514 )
  • SavedStateViewFactory এখন CreationExtras ব্যবহার করে সমর্থন করে এমনকি যখন এটি একটি SavedStateRegistryOwner দিয়ে শুরু করা হয়েছিল। অতিরিক্ত প্রদান করা হলে, প্রাথমিক আর্গুমেন্ট উপেক্ষা করা হয়। ( I6c43b , b/224844583 )
  • NavDeepLink এখন কোন মান ছাড়াই একটি একক ক্যোয়ারী প্যারামিটার দিয়ে Uris পার্স করতে পারে। ( I0efe8 , b/148905489 )
  • খালি স্ট্রিংগুলিকে এখন গভীর লিঙ্কগুলিতে বৈধ আর্গুমেন্ট হিসাবে বিবেচনা করা হয়। ( I70a0d , b/217399862 )
  • Navigation Safe Args নামস্থান ব্যবহার করার সময় আর ক্র্যাশ হবে না এবং কোন AndroidManifest.xml উপস্থিত নেই। ( I17ccf , b/227229815 )

সংস্করণ 2.5.0-alpha03

23 ফেব্রুয়ারি, 2022

androidx.navigation:navigation-*:2.5.0-alpha03 প্রকাশিত হয়েছে। 2.5.0-alpha03 সংস্করণে এই কমিট রয়েছে।

এপিআই পরিবর্তন

  • আপনি এখন একটি ViewModel তৈরি করতে by navGraphViewModels CreationExtras এ পাস করতে পারেন। ( I29217 , b/217618359 )

বাগ ফিক্স

  • NavDeepLinks এখন সঠিকভাবে রুট/ডিপ লিঙ্ক ইউআরআই-তে এমবেড করা এনকোড করা নতুন লাইন অক্ষর সমর্থন করে। ( I513d1 , b/217815060 )
  • ViewModels তৈরি করতে NavBackStackEntries এর সাথে ব্যবহার করা হলে CreationExtras এখন সঠিকভাবে কাজ করবে। ( I69161 , b/217617710 )
  • নেভিগেশন সেফ আর্গস এখন AndroidManifest-এ প্যাকেজের জায়গায় build.gradle এ সংজ্ঞায়িত নামস্থান ব্যবহার করে সমর্থন করে। ( I659ef , b/217414933 )

সংস্করণ 2.5.0-alpha02

ফেব্রুয়ারী 9, 2022

androidx.navigation:navigation-*:2.5.0-alpha02 প্রকাশিত হয়েছে। সংস্করণ 2.5.0-alpha02 এই কমিট ধারণ করে।

বাগ ফিক্স

  • নেভিগেশন 2.4.1 থেকে : নেস্টেড গ্রাফের সাথে ভিউবাইন্ডিং ব্যবহার করার সময় NavHostFragment এখন সঠিকভাবে OnBackPressedDispatcher সেট করবে। ( Ifbb51 , b/214577959 )
  • নেভিগেশন 2.4.1 থেকে : যখন একাধিক নেস্টেড NavGraph s এর মাধ্যমে গভীর লিঙ্ক করা হয় তখন ব্যাক স্ট্যাকটি সঠিকভাবে মধ্যবর্তী শুরু গন্তব্যগুলিকে অন্তর্ভুক্ত করবে। ( I504c0 , b/214383060 )

সংস্করণ 2.5.0-alpha01

জানুয়ারী 26, 2022

androidx.navigation:navigation-*:2.5.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 2.5.0-alpha01-এ এই কমিট রয়েছে।

নতুন বৈশিষ্ট

  • NavBackStackEntry এখন ViewModel CreationExtras-এর সাথে একীভূত হয়েছে, যা Lifecycle 2.5.0-alpha01 এর অংশ হিসেবে প্রবর্তিত হয়েছে। ( Ib9fe2 , b/207012490 )

বাগ ফিক্স

  • একটি সমস্যা সমাধান করা হয়েছে যেখানে একটি ফ্র্যাগমেন্টের onCreate() থেকে by navGraphViewModels() তৈরি একটি ViewModel অ্যাক্সেস করা একটি IllegalStateException এর সাথে ব্যর্থ হবে। ( I8a14d )
  • NavDeepLink s আর অপ্রয়োজনীয়ভাবে আরগস দুবার ডিকোড করবে না, যার মানে সঠিক আর্গগুলি এখন আপনার চূড়ান্ত গন্তব্যে চলে গেছে। ( I31b0a , b/210711399 )

নিরাপদ Args

  • সেফ আর্গস এখন অ্যান্ড্রয়েড গ্রেডল প্লাগইন সংস্করণ 7.0.4 এর উপর নির্ভর করে। এর মানে হল যে নেভিগেশন সেফ আর্গস আর 7.0-এর আগের অ্যান্ড্রয়েড স্টুডিও সংস্করণগুলির সাথে সামঞ্জস্যপূর্ণ হবে না, কিন্তু এখন Android Gradle Plugin 7.1.0 এবং উচ্চতর সংস্করণগুলির সাথে সামঞ্জস্যপূর্ণ। ( I41c88 , b/213086135 , b/207670704 )

সংস্করণ 2.4.2

সংস্করণ 2.4.2

6 এপ্রিল, 2022

androidx.navigation:navigation-*:2.4.2 প্রকাশিত হয়েছে। সংস্করণ 2.4.2-এ এই কমিট রয়েছে।

বাগ ফিক্স

  • নেভিগেশন 2.5.0-alpha03 থেকে ব্যাকপোর্ট করা হয়েছে : NavDeepLinks এখন সঠিকভাবে রুট/ডিপ লিঙ্ক URI-তে এমবেড করা এনকোড করা নতুন লাইন অক্ষর সমর্থন করে। ( I513d1 , b/217815060 )
  • নেভিগেশন 2.5.0-alpha03 থেকে ব্যাকপোর্ট করা : নেভিগেশন SafeArgs এখন AndroidManifest-এ প্যাকেজের জায়গায় build.gradle এ সংজ্ঞায়িত নামস্থান ব্যবহার করে সমর্থন করে। ( I659ef , b/217414933 )
  • নেভিগেশন 2.5.0-alpha04 থেকে ব্যাকপোর্ট করা হয়েছে : Navigation Safe Args নেমস্পেস ব্যবহার করার সময় আর ক্র্যাশ হবে না এবং কোনও AndroidManifest.xml উপস্থিত নেই৷ ( I17ccf , b/227229815 )
  • নেভিগেশন 2.5.0-alpha04 থেকে ব্যাকপোর্ট করা : খালি স্ট্রিং এখন গভীর লিঙ্কে বৈধ আর্গুমেন্ট হিসাবে বিবেচিত হয়। ( I70a0d , b/217399862 )

সংস্করণ 2.4.1

সংস্করণ 2.4.1

ফেব্রুয়ারী 9, 2022

androidx.navigation:navigation-*:2.4.1 প্রকাশিত হয়েছে। সংস্করণ 2.4.1-এ এই কমিট রয়েছে।

বাগ ফিক্স

  • নেস্টেড গ্রাফের সাথে ভিউবাইন্ডিং ব্যবহার করার সময় NavHostFragment এখন সঠিকভাবে OnBackPressedDispatcher সেট করবে। ( Ifbb51 , b/214577959 )
  • একাধিক নেস্টেড NavGraph এর মাধ্যমে গভীর লিঙ্ক করার সময় ব্যাক স্ট্যাক এখন সঠিকভাবে মধ্যবর্তী শুরু গন্তব্যগুলি অন্তর্ভুক্ত করবে। ( I504c0 , b/214383060 )
  • নেভিগেশন 2.5.0-alpha01 থেকে ব্যাকপোর্ট করা : একটি সমস্যা সমাধান করা হয়েছে যেখানে একটি ফ্র্যাগমেন্টের onCreate() by navGraphViewModels() মাধ্যমে তৈরি একটি ভিউমডেল অ্যাক্সেস করা একটি IllegalStateException এর সাথে ব্যর্থ হবে। ( I8a14d )
  • নেভিগেশন 2.5.0-alpha01 থেকে ব্যাকপোর্ট করা হয়েছে : NavDeepLink আর অপ্রয়োজনীয়ভাবে আরগস দুবার ডিকোড করে না, যার মানে সঠিকভাবে ডিকোড করা আর্গগুলি এখন আপনার চূড়ান্ত গন্তব্যে চলে গেছে। ( I31b0a , b/210711399 )
  • নেভিগেশন 2.5.0-alpha01 থেকে ব্যাকপোর্ট করা: সেফ আর্গস এখন অ্যান্ড্রয়েড গ্রেডল প্লাগইন সংস্করণ 7.0.4 এর উপর নির্ভর করে। এর মানে হল যে নেভিগেশন সেফ আর্গস আর 7.0-এর আগের অ্যান্ড্রয়েড স্টুডিও সংস্করণগুলির সাথে সামঞ্জস্যপূর্ণ হবে না, কিন্তু এখন Android Gradle Plugin 7.1.0 এবং উচ্চতর সংস্করণগুলির সাথে সামঞ্জস্যপূর্ণ। ( I41c88 , b/213086135 , b/207670704 )

সংস্করণ 2.4.0

সংস্করণ 2.4.0

জানুয়ারী 26, 2022

androidx.navigation:navigation-*:2.4.0 প্রকাশিত হয়েছে। সংস্করণ 2.4.0 এই কমিট ধারণ করে.

2.3.0 থেকে গুরুত্বপূর্ণ পরিবর্তন

  • সমস্ত নেভিগেশন শিল্পকর্ম কোটলিনে পুনরায় লেখা হয়েছে। এটি জেনেরিক (যেমন NavType সাবক্লাস) ব্যবহার করে ক্লাসের শূন্যতা উন্নত করেছে। সমস্ত Kotlin এক্সটেনশন ফাংশন যা -ktx আর্টিফ্যাক্টের অংশ ছিল তাদের নিজ নিজ প্রধান শিল্পকর্মে স্থানান্তরিত করা হয়েছে। -ktx আর্টিফ্যাক্টগুলি প্রকাশিত হতে থাকবে, কিন্তু সম্পূর্ণ খালি।
  • navigation-fragment আর্টিফ্যাক্টে এখন নতুন AbstractListDetailFragment এর মাধ্যমে একটি দুটি ফলক বিন্যাসের একটি পূর্বনির্মাণ বাস্তবায়ন রয়েছে। এই খণ্ডটি একটি তালিকা ফলক (যা আপনার সাবক্লাস প্রদান করে) এবং একটি বিস্তারিত ফলক পরিচালনা করতে একটি SlidingPaneLayout ব্যবহার করে, যা একটি NavHostFragment এর বাস্তবায়ন হিসাবে ব্যবহার করে, যেমনটি আমাদের উদাহরণ বাস্তবায়নে দেখা যায়।
  • NavControllercurrentBackStackEntryAsFlow() পদ্ধতি একটি Flow প্রদান করে যা বর্তমান NavBackStackEntry পরিবর্তিত হলে নির্গত হয়। এই প্রবাহটি একটি OnDestinationChangedListener ম্যানুয়ালি পরিচালনার বিকল্প হিসাবে ব্যবহার করা যেতে পারে।
  • NavController এখন পরীক্ষামূলক visibleEntries সম্পত্তির মাধ্যমে StateFlow হিসাবে সমস্ত দৃশ্যমান NavBackStackEntry উদাহরণগুলির একটি তালিকা পুনরুদ্ধার করার ক্ষমতা প্রদান করে।
  • কাস্টম NavTypes তৈরি করতে এখন NavType ক্লাস প্রসারিত করা সম্ভব৷ কাস্টম প্রকারগুলি শুধুমাত্র তখনই সমর্থিত হয় যখন আপনার ন্যাভিগেশন গ্রাফ প্রোগ্রাম্যাটিকভাবে তৈরি করা হয়, যেমন ন্যাভিগেশন গ্রাফ Kotlin DSL এর মাধ্যমে।
  • নেভিগেশন এখন findStartDestination() এবং getHierarchy() API প্রদান করে যা কাস্টম নেভিগেশনইউআই বাস্তবায়নে সাহায্য করতে ব্যবহার করা যেতে পারে। findStartDestination() হল NavGraph এ একটি এক্সটেনশন ফাংশন যা প্রকৃত সূচনা গন্তব্য সনাক্ত করবে যা আপনি যখন গ্রাফে নেভিগেট করবেন তখন প্রদর্শিত হবে, এমনকি startDestination নিজেই একটি নেস্টেড NavGraph হলেও। getHierarchy() হল NavDestination এর একটি ফাংশন যা একটি প্রদত্ত গন্তব্য অন্যটির অনুক্রমের মধ্যে আছে কিনা তা যাচাই করতে ব্যবহার করা যেতে পারে।

    val matchingRoute: Boolean = destination.hierarchy.any { it.route == routeToFind }
    
  • NavigationUI মেথড যা BottomNavigationView গ্রহণ করেছে তার পরিবর্তে মেটেরিয়াল 1.4.0 , NavigationBarView এ চালু করা সুপারক্লাস নিতে আপডেট করা হয়েছে। এটি এই পদ্ধতিগুলিকে NavigationRailView এর সাথে ব্যবহার করার অনুমতি দেয়।

  • XML-এর মাধ্যমে একটি <action> উপাদান ফুলিয়ে দেওয়ার সময়, অ্যানিমেশন অ্যাট্রিবিউটগুলি app:enterAnim="?attr/transitionEnter" সিনট্যাক্স ব্যবহার করে আপনার থিম থেকে টানা বৈশিষ্ট্যগুলি ব্যবহার করতে পারে।

  • সেফ আর্গস এখন প্রতিটি NavArgs ক্লাসের জন্য একটি fromSavedStateHandle() পদ্ধতি তৈরি করে। ( #122 , b/136967621 )

    class HomeViewModel(savedStateHandle: SavedStateHandle) : ViewModel() {
      // Create a HomeDestinationArgs class with type safe accessors for each argument
      // defined on your destination
      private val args = HomeDestinationArgs.fromSavedStateHandle(savedStateHandle)
    }
    

নেভিগেশন রুট এবং কোটলিন ডিএসএল

নেভিগেশনের পূর্ববর্তী সংস্করণগুলি একটি ধ্রুবক পূর্ণসংখ্যা আইডি থাকা প্রতিটি গন্তব্যের উপর নির্ভর করে যা এটিকে তার ভাইবোন গন্তব্যগুলি থেকে অনন্যভাবে সনাক্ত করবে এবং আপনাকে সরাসরি বা একটি অ্যাকশনের মাধ্যমে সেই গন্তব্যে navigate() করার অনুমতি দেবে। যদিও এটি বৈধ এবং উপযোগী হতে চলেছে, বিশেষ করে এমন ক্ষেত্রে যেখানে আপনি XML-এ আপনার নেভিগেশন গ্রাফ সংজ্ঞায়িত করছেন এবং স্বয়ংক্রিয়ভাবে তৈরি করা R.id ধ্রুবক বা নিরাপদ আর্গস ব্যবহার করতে পারেন (যা বিল্ড টাইমে কোড তৈরি করতে সেই ধ্রুবকগুলি ব্যবহার করে), এর এই সিস্টেম অনন্য পূর্ণসংখ্যাগুলি ন্যাভিগেশন কোটলিন ডিএসএল-এর মাধ্যমে রানটাইমে প্রোগ্রাম্যাটিকভাবে নির্মিত সম্পূর্ণ গতিশীল গ্রাফগুলিকে সমর্থন করার জন্য প্রয়োজনীয় শব্দার্থিক অর্থ এবং অভিব্যক্তিকে ধরতে পারেনি।

এই রিলিজটি একটি ন্যাভিগেশন গ্রাফে একটি গন্তব্যকে এর রুট দ্বারা স্বতন্ত্রভাবে শনাক্ত করার জন্য একটি নতুন বিকল্প উপস্থাপন করেছে। একটি রুট হল একটি String যা একটি গন্তব্যের অনন্য পথকে সংজ্ঞায়িত করে। সমস্ত Kotlin DSL পদ্ধতি যেগুলি একটি গন্তব্য আইডি নিয়েছিল সেগুলি এখন অবচয়িত হয়েছে এবং একটি সমতুল্য API দিয়ে প্রতিস্থাপিত হয়েছে যা একটি রুট নেয়৷

প্রতিটি রুটকে Uri এর 'পাথ' অংশ হিসাবে বিবেচনা করা উচিত যা সেই গন্তব্যকে সংজ্ঞায়িত করে, যেমন, home , profile/{userId} , profile/{userId}/friends , ইত্যাদি। যখন কোনও গন্তব্যের পরিচয় একটি নির্দিষ্ট সঙ্গে যুক্ত হয় বিষয়বস্তুর অংশ, সেই গতিশীল আর্গুমেন্টগুলি রুটের অংশ হওয়া উচিত, অন্তর্নিহিত গভীর লিঙ্কগুলির মতো একই নিয়ম অনুসরণ করে।

সমস্ত NavController API যেগুলি শুধুমাত্র একটি ID গ্রহণ করত এখন একটি ওভারলোড রয়েছে যা একটি রুট String নেয়। এর মধ্যে navigate() , popBackStack() , popUpTo() এবং getBackStackEntry() অন্তর্ভুক্ত রয়েছে।

এর কিছু API প্রভাব রয়েছে:

  • Kotlin DSL-এ popUpTo Kotlin সম্পত্তি popUpToId এর পক্ষে অবচয় করা হয়েছে।
  • getStartDestination() API-কে getStartDestinationId() এর পক্ষে বাতিল করা হয়েছে।

আইডি দ্বারা নেভিগেট করার সময় ভিন্ন, রুট দ্বারা নেভিগেট করা অন্তর্নিহিত গভীর লিঙ্কগুলির মতো একই নিয়ম অনুসরণ করে যাতে আপনি যে কোনও নেস্টেড গ্রাফে যে কোনও গন্তব্যে সরাসরি নেভিগেট করতে পারেন, এই রুটগুলি স্পষ্টভাবে কোনও বাহ্যিকভাবে দৃশ্যমান গভীর লিঙ্ক যুক্ত না করে বহু-মডিউল প্রকল্পগুলিতে ব্যবহারযোগ্য তা নিশ্চিত করে। প্রতিটি গন্তব্যে।

নেভিগেশন রচনা

navigation-compose আর্টিফ্যাক্ট নেভিগেশন কম্পোনেন্ট এবং জেটপ্যাক কম্পোজের মধ্যে ইন্টিগ্রেশন প্রদান করে। এটি আপনার অ্যাপ্লিকেশনে গন্তব্য হিসাবে @Composable ফাংশন ব্যবহার করে।

এই রিলিজ প্রদান করে:

  • একটি NavHost কম্পোজেবল যা আপনাকে Kotlin DSL এর মাধ্যমে আপনার নেভিগেশন গ্রাফ তৈরি করতে দেয়, composable এবং dialog গন্তব্যগুলি ব্যবহার করে, এছাড়াও ঐচ্ছিক ন্যাভিগেটরগুলির জন্য সমর্থন যেমন Accompanist নেভিগেশন ম্যাটেরিয়াল থেকে।
  • গন্তব্যগুলির মধ্যে ক্রসফেডিংয়ের জন্য বাধ্যতামূলক সমর্থন। পরীক্ষামূলক রচনা API ব্যবহার করে প্রবেশ এবং প্রস্থান ট্রানজিশন নিয়ন্ত্রণ করতে সঙ্গী নেভিগেশন অ্যানিমেশন ব্যবহার করা যেতে পারে।
  • প্রতিটি সংমিশ্রণযোগ্য গন্তব্যে একটি Lifecycle স্কোপিং। প্রতিটি গন্তব্য শুধুমাত্র RESUMED অবস্থায় পৌঁছায় যখন যেকোন প্রবেশের ট্রানজিশন শেষ হয় এবং যেকোন প্রস্থান ট্রানজিশন শুরু হলে অবিলম্বে STARTED এ নেমে যায়, এইভাবে Lifecycle RESUMED হলে শুধুমাত্র একটি navigate কল ট্রিগার করার মাধ্যমে আপনাকে সমস্ত IllegalStateException এবং মাল্টি-টাচ সমস্যা এড়াতে অনুমতি দেয়।
  • গন্তব্য স্তরে হিল্ট নেভিগেশন কম্পোজ 1.0.0 -এর লাইফসাইকেল ভিউমডেল কম্পোজ 2.4.0 বা hiltViewModel() viewModel() API-এর মাধ্যমে ViewModel এর স্কোপিং, একটি সুযোগ প্রদান করে যা কনফিগারেশন পরিবর্তনগুলিকে টিকে থাকে এবং ব্যাক স্ট্যাকের উপর থাকে (যখন আপনার কম্পোজযোগ্য বিষয়বস্তু অন্যথায় নিষ্পত্তি করা হয়) এবং ViewModel-এর onCleared() -এ একটি সংকেত যা সেই NavBackStackEntry এর সাথে যুক্ত রাষ্ট্রের স্থায়ী নিষ্পত্তি এবং পরিষ্কার করার নির্দেশ করে।
  • একটি গন্তব্য স্তরে rememberSaveable অবস্থার স্কোপিং, আপনি যখন একটি গন্তব্যে ফিরে আসবেন তখন সমস্ত সংমিশ্রণযোগ্য স্থিতি স্বয়ংক্রিয়ভাবে সংরক্ষিত এবং পুনরুদ্ধার করা হয়েছে তা নিশ্চিত করে।
  • প্রক্রিয়া মৃত্যু এবং বিনোদনের পরে NavController এবং এর গন্তব্যের অবস্থা সংরক্ষণ এবং পুনরুদ্ধারের জন্য সম্পূর্ণ সমর্থন।
  • সিস্টেম ব্যাক বোতামের সাথে স্বয়ংক্রিয় ইন্টিগ্রেশন।
  • আর্গুমেন্ট পাস করার জন্য সমর্থন, গন্তব্যে গভীর লিঙ্ক সংযুক্ত করা, এবং পূর্ববর্তী গন্তব্যে একটি ফলাফল ফেরত.

  • rememberNavController() এবং currentBackStackEntryAsState() এ নির্দিষ্ট সহায়ক রচনা করুন যাতে উত্তোলন অবস্থার অনুমতি দেওয়া যায় এবং NavHost এর বাইরে কম্পোজেবলের সাথে NavController কে সংযুক্ত করা যায় (যেমন নীচের নেভিগেশন বার)।

val navController = rememberNavController()
Scaffold { innerPadding ->
    NavHost(navController, "home", Modifier.padding(innerPadding)) {
        composable("home") {
            // This content fills the area provided to the NavHost
            HomeScreen()
        }
        dialog("detail_dialog") {
            // This content will be automatically added to a Dialog() composable
            // and appear above the HomeScreen or other composable destinations
            DetailDialogContent()
        }
    }
}

আরও তথ্যের জন্য রচনা ন্যাভিগেশন গাইড দেখুন।

একাধিক ব্যাক স্ট্যাক

NavController গন্তব্যগুলির পিছনের স্ট্যাক পরিচালনার জন্য দায়ী, যখন আপনি তাদের navigate() তখন পিছনের স্ট্যাকে গন্তব্যগুলি যোগ করে এবং আপনি যখন popBackStack() কল করেন বা সিস্টেম ব্যাক বোতামটি ট্রিগার করেন তখন সেগুলি সরানোর জন্য। বিদ্যমান NavOptions ক্লাস এবং নেভিগেশন গ্রাফ XML-এ <action> উপাদানগুলির মধ্যে একীকরণ ব্যাক স্ট্যাক সংরক্ষণ এবং পুনরুদ্ধার সমর্থন করার জন্য প্রসারিত করা হয়েছে।

এই পরিবর্তনের অংশ হিসাবে, onNavDestinationSelected() , BottomNavigationView.setupWithNavController() এবং NavigationView.setupWithNavController() এর NavigationUI পদ্ধতিগুলি এখন স্বয়ংক্রিয়ভাবে পপ করা গন্তব্যগুলির অবস্থা সংরক্ষণ এবং পুনরুদ্ধার করে, কোনো কোড পরিবর্তন ছাড়াই একাধিক ব্যাক স্ট্যাকের জন্য সমর্থন সক্ষম করে৷ ফ্র্যাগমেন্টের সাথে নেভিগেশন ব্যবহার করার সময়, এটি একাধিক ব্যাক স্ট্যাকের সাথে একীভূত করার প্রস্তাবিত উপায়।

রাজ্য সংরক্ষণ এবং পুনরুদ্ধার করার জন্য অন্তর্নিহিত APIগুলি বেশ কয়েকটি পৃষ্ঠের মাধ্যমে উন্মুক্ত করা হয়েছে:

  • নেভিগেশন XML-এ, <action> উপাদানটি এখন app:popUpToSaveState এবং app:restoreState এর বুলিয়ান অ্যাট্রিবিউট ব্যবহার করতে পারে app:popUpTo এর মাধ্যমে পপ করা যেকোন গন্তব্যের অবস্থা সংরক্ষণ করতে এবং app:destination হিসেবে পাস করা গন্তব্যের সাথে সম্পর্কিত অবস্থা পুনরুদ্ধার করতে পারে।

    <action
      android:id=”@+id/swap_stack”
      app:destination=”@id/second_stack”
      app:restoreState=”true”
      app:popUpTo=”@id/first_stack_start_destination”
      app:popUpToSaveState=”true” />
    
  • navOptions Kotlin DSL- এ, আপনি restoreState বুলিয়ান প্রপার্টি এবং saveState বুলিয়ান প্রপার্টি popUpTo বিল্ডারে যোগ করতে পারেন:

    // Use the navigate() method that takes a navOptions DSL Builder
    navController.navigate(selectedBottomNavRoute) {
      launchSingleTop = true
      restoreState = true
      popUpTo(navController.graph.findStartDestination().id) {
        saveState = true
      }
    }
    
  • NavOptions.Builder এর মাধ্যমে ম্যানুয়ালি একটি NavOptions অবজেক্ট তৈরি করতে, আপনি setRestoreState() এবং setPopUpTo() এ নতুন ওভারলোড ব্যবহার করতে পারেন যা একটি অতিরিক্ত saveState প্যারামিটার নেয়।

    NavOptions navOptions = new NavOptions.Builder()
      .setLaunchSingleTop(true)
      .setRestoreState(true)
      .setPopUpTo(NavGraph.findStartDestination(navController.getGraph()).getId(),
        false, // inclusive
        true) // saveState
      .build();
    navController.navigate(selectedBottomNavId, null, navOptions);
    
  • popBackStack() এ প্রোগ্রাম্যাটিক কল এখন একটি অতিরিক্ত saveState প্যারামিটার অন্তর্ভুক্ত করতে পারে।

  • popBackStack() বা popUpToSaveState দিয়ে সংরক্ষিত যেকোন অবস্থা সাফ করতে আপনি clearBackStack() পদ্ধতি ব্যবহার করতে পারেন।

সমস্ত ক্ষেত্রে, NavController প্রতিটি NavBackStackEntry এর অবস্থা সংরক্ষণ করবে এবং পুনরুদ্ধার করবে, যেকোন নেভিগেশন গন্তব্য স্কোপড ViewModel উদাহরণ সহ। প্রতিটি Navigator তাদের নিজস্ব অবস্থা সংরক্ষণ এবং পুনরুদ্ধার করতে সহায়তা করার জন্য Navigator APIগুলি আপডেট করা হয়েছে।

আচরণ পরিবর্তন

  • NavDeepLinkBuilder এখন createPendingIntent() দ্বারা ফিরে আসা PendingIntentPendingIntent.FLAG_IMMUTABLE যোগ করে, নিশ্চিত করে যে এই APIটি Android 12 টার্গেট করার সময় প্রত্যাশিতভাবে কাজ করে।
  • নেভিগেশন এখন লাইফসাইকেল 2.3.1 এর উপর নির্ভর করে এবং এখন setGraph() , popBackStack() , navigateUp() , এবং navigate() চিহ্নিত করে, যে পদ্ধতিগুলি NavBackStackEntry Lifecycle আপডেট করে, @MainThread হিসাবে, লাইফসাইকেলে প্রধান থ্রেডের সাথে নেভিগেশন সারিবদ্ধ করে 2.3.0
  • ডিপ লিঙ্কগুলি এখন যাচাই করে যে সমস্ত প্রয়োজনীয় আর্গুমেন্ট (ডিফল্ট মান ছাড়াই) Uri তে উপস্থিত রয়েছে।
  • NavDeepLink পার্স করা আর্গুমেন্টগুলি এখন পাউন্ড চিহ্নগুলিকে পাউন্ড চিহ্নগুলির মধ্যে বিভাজক হিসাবে বিভাজক হিসাবে বিবেচনা করে, একটি যুক্তিকে পাউন্ড চিহ্ন জুড়ে বিস্তৃত হতে বাধা দেয়৷
  • অ্যাকশন তৈরি করার সময়, Safe Args থেকে জেনারেট করা Kotlin কোড এখন ডিফল্ট মান ছাড়াই আর্গুমেন্টগুলিকে প্যারামিটার হিসেবে ডিফল্ট মানগুলির আগে রাখে।
  • আর্গুমেন্ট তৈরি করার সময়, Safe Args এখন ডিফল্ট মান ছাড়া প্যারামিটারগুলিকে ডিফল্ট মানগুলির আগে রাখে।
  • Safe-Args এখন Android Gradle Plugin 4.2.0 এর উপর নির্ভর করে। এর মানে হল আপনি আর applicationIdTextResource সতর্কতা ব্যবহার করবেন না।

জ্ঞাত সমস্যা

  • নেভিগেশন 2.5.0-alpha01 এ স্থির: একটি ফ্র্যাগমেন্টের onCreate() থেকে by navGraphViewModels() তৈরি একটি ViewModel অ্যাক্সেস করা একটি IllegalStateException এর সাথে ব্যর্থ হবে। ( b/213504272 )
  • ন্যাভিগেশন 2.5.0-alpha01 এ স্থির: সেফ আর্গস 2.4.0 অ্যান্ড্রয়েড গ্রেডল প্লাগইন 7.1.0 এবং উচ্চতরের সাথে বেমানান৷ ( b/213086135 )
  • একাধিক নেস্টেড এনএভি গ্রাফের সাথে গভীর সংযোগ সঠিকভাবে সম্পূর্ণ ব্যাকস্ট্যাক তৈরি করে না। ( b/214383060 )

সংস্করণ 2.4.0-rc01

15 ডিসেম্বর, 2021

androidx.navigation:navigation-*:2.4.0-rc01 প্রকাশিত হয়েছে। সংস্করণ 2.4.0-rc01-এ এই কমিট রয়েছে।

আচরণ পরিবর্তন

  • NavDeepLink পার্স করা আর্গুমেন্টগুলি এখন পাউন্ড চিহ্নগুলিকে একই ভাবে বিবেচনা করে যেমন প্রশ্ন চিহ্নগুলিকে আর্গুমেন্টের মধ্যে বিভাজক হিসাবে বিবেচনা করে৷ ( I21309 , b/180042703 )

বাগ ফিক্স

  • ডিপলিংক আর আর্গুমেন্ট উপেক্ষা করবে না যে মানগুলি স্থানধারকের নামের মতো। ( if8017 , b/207389470 )
  • NavController পুনরুদ্ধার করার পরে ট্রানজিশন ব্যবহার করে নেস্টেড গন্তব্য পপ করার সময় NavController আর ক্র্যাশ হবে না। ( I0f7c9 , b/205021623 )
  • একটি অবৈধ startDestination ব্যবহার করার সময় ত্রুটি বার্তাটি এখন প্রারম্ভিক গন্তব্যের রুটে ডিফল্ট হবে যদি একটি উপলব্ধ থাকে। ( I86b9d , b/208041894 )

নেভিগেশন কম্পোজ বাগ ফিক্স

  • নীচের নেভি মেনু আইটেমগুলি ব্যবহার করে শুরুর গন্তব্য এবং অন্য গন্তব্যের মধ্যে দ্রুত স্যুইচিংয়ের কারণে সম্ভাব্য ক্র্যাশ স্থির করা হয়েছে। ( Ic8976 , b/208887901 )
  • কনফিগার পরিবর্তন বা মৃত্যু প্রক্রিয়া করার পরে ডায়ালগ গন্তব্য এখন সঠিকভাবে স্ক্রিনের উপরে পুনরুদ্ধার করা হয়েছে। ( I4c0dc , b/207386169 )
  • একটি সমস্যা সমাধান করা হয়েছে যেখানে ডায়ালগের NavBackStackEntry থেকে একটি ViewModel পুনরুদ্ধার করার চেষ্টা করা ব্যর্থ হবে যখন ডায়ালগটি খারিজ হয়ে যাবে৷ ( I6b96d , b/206465487 )
  • নেভিগেশন কম্পোজের NavHost এর সাথে activity গন্তব্য ব্যবহার করার সময় একটি সমস্যা সমাধান করা হয়েছে যার ফলে অসীম পুনর্গঠন হবে। ( I8f64c )
  • নেভিগেশন কম্পোজে একটি ফাঁস সংশোধন করা হয়েছে যেখানে এটি কনফিগার পরিবর্তন বা প্রক্রিয়া মৃত্যুর পরে পুরানো কার্যকলাপের একটি রেফারেন্স ধরে রেখেছিল। ( I4efcb , b/204905432 )

নিরাপদ Args বাগ সংশোধন

  • প্রক্রিয়া মৃত্যুর পরে কাস্টম পার্সেলেবল অ্যারে পুনরুদ্ধার করার চেষ্টা করার সময় SafeArgs আর ক্র্যাশ হয় না। ( I618e8 , b/207315994 )
  • নিরাপদ আর্গসে একটি বাগ সংশোধন করা হয়েছে যা বুলিয়ান অ্যারেগুলির একটি null মান থাকতে দেয় না। ( I8c396 , b/174787525 )

সংস্করণ 2.4.0-beta02

3 নভেম্বর, 2021

androidx.navigation:navigation-*:2.4.0-beta02 প্রকাশিত হয়েছে। সংস্করণ 2.4.0-beta02 এই কমিট ধারণ করে।

এপিআই পরিবর্তন

  • সুস্পষ্ট এবং অন্তর্নিহিত গভীর লিঙ্ক উভয়ের হ্যান্ডলিং এখন অন্য গ্রাফে নেভিগেট করার সময় স্বয়ংক্রিয়ভাবে saveState ফ্ল্যাগ যুক্ত করে, নিশ্চিত করে যে কোড যেমন NavigationUI.setupWithNavController এবং একাধিক ব্যাক স্ট্যাক ব্যবহার করে কোড প্রত্যাশিতভাবে কাজ করে। ( IC8807 )

আচরণ পরিবর্তন

  • ডিপ লিঙ্ক প্যাটার্ন এখন মুদ্রাস্ফীতির পরিবর্তে NavDeepLink-এ অলসভাবে সংকলিত হয়। এটি নেভিগেশন গ্রাফের মুদ্রাস্ফীতির সময়কে উন্নত করতে হবে যাতে গভীর লিঙ্কগুলি অন্তর্ভুক্ত থাকে। ( b8d257 , b/184149935 )

বাগ ফিক্স

  • একটি সমস্যার সমাধান করা হয়েছে যেখানে NavBackStackEntry NavHost Lifecycle.State.CREATED Lifecycle.State.STARTED সরানোর পরে নিচের দিকে ঠেলে দেওয়া হচ্ছে setContent() ( Ia5ac1 , b/203536683 )
  • একটি রেস শর্ত স্থির করা হয়েছে যেখানে ডায়ালগ দেখানোর আগে একটি DialogFragment গন্তব্য ব্যাক স্ট্যাকের বাইরে পপ করা আসলে ডায়ালগটি খারিজ করবে না, যার ফলে ব্যবহারকারীর দ্বারা ভুল ডায়ালগটি ম্যানুয়ালি খারিজ করা হলে একটি ক্র্যাশ হবে৷ ( I687e5 )
  • এমন একটি সমস্যা সমাধান করা হয়েছে যেখানে NavigationUI -তে onNavDestinationSelected API true ফিরে আসবে এমনকি যদি আপনি আসলে সেই নেভিগেশন গ্রাফে navigate() না করেন। এটি এখন গন্তব্যের hierarchy ব্যবহার করে বর্তমান গন্তব্যের সাথে যুক্ত MenuItem নির্বাচন করতে setupWithNavController দ্বারা অভ্যন্তরীণভাবে ব্যবহৃত একই যুক্তি ব্যবহার করে। ( I2b053 )

সংস্করণ 2.4.0-beta01

27 অক্টোবর, 2021

androidx.navigation:navigation-*:2.4.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 2.4.0-beta01-এ এই কমিট রয়েছে।

নতুন বৈশিষ্ট

  • আপনি এখন by navGraphViewModel একটি ID ব্যবহার করার বিকল্প হিসাবে রুট সহ ব্যবহার করতে পারেন যাতে ফ্র্যাগমেন্ট সহ ন্যাভিগেশন Kotlin DSL ব্যবহার করে আরও ভাল সমর্থন করা যায়৷ ( I901e3 , b/201446416 )

এপিআই পরিবর্তন

  • visibleEntries এপিআই এখন পরীক্ষামূলক। ( I93f6f )

বাগ ফিক্স

  • একই স্ক্রিনের মধ্যে সামনে পিছনে নেভিগেট করার মাধ্যমে রূপান্তরগুলি বাধাগ্রস্ত হলে ভিউ মডেলগুলি আর ধ্বংস হবে না ( Id52d8 , b/200817333 )
  • নালযোগ্য NavDeepLink আর্গুমেন্টের আর ডিফল্ট মানের প্রয়োজন হয় না যখন NavDestination s-এ গভীর লিঙ্ক যোগ করা হয়। ( I5aad4 , b/201320030 )
  • বিভিন্ন লাইফসাইকেল সহ NavBackStackEntry এখন আর সমান বলে বিবেচিত হয় না। এর মানে হল একক টপ দিয়ে নেভিগেশন করার সময় এবং নীচের মেনু আইটেমগুলি পুনরায় নির্বাচন করার সময় NavHost সঠিকভাবে সমস্ত গন্তব্যগুলিকে পুনরায় কম্পোজ করবে৷ ( I1b351 , b/196997433 )
  • AbstractListDetailFragment এর সাথে একটি সমস্যা সমাধান করা হয়েছে যা onCreateListPaneView() দ্বারা ফেরত তালিকা ফলকের layout_width এবং layout_weight বৈশিষ্ট্যগুলিকে ভুলভাবে পরিচালনা বা উপেক্ষা করা হয়েছে৷ ( f5fbf3 )
  • ডায়ালগ গন্তব্যের ভিজ্যুয়াল অবস্থা এখন সঠিকভাবে DialogFragmentNavigator অবস্থার সাথে সিঙ্কে থাকে। এর অর্থ হ'ল DialogFragment জন্য অ্যাসিঙ্ক্রোনাস dismiss() API-কে ম্যানুয়ালি কল করা এখন খারিজ করা ডায়ালগের উপরে সমস্ত ডায়ালগ গন্তব্যগুলিকে সঠিকভাবে সাফ করে। এটি সেই ক্ষেত্রে প্রভাবিত করে না যেখানে আপনি আপনার ডায়ালগ খারিজ করতে popUpTo বা popBackStack() ব্যবহার করেন। ( I77ba2 )
  • AbstractAppBarOnDestinationChangedListener এখন onDestinationChanged() এর জন্য আরও পরিষ্কার ত্রুটি বার্তা রয়েছে। ( IE742d )

সংস্করণ 2.4.0-alpha10

29 সেপ্টেম্বর, 2021

androidx.navigation:navigation-*:2.4.0-alpha10 প্রকাশিত হয়েছে। সংস্করণ 2.4.0-alpha10 এই কমিট ধারণ করে।

নতুন বৈশিষ্ট

  • NavController এখন visibleEntries StateFlow ( Ia964e ) এর মাধ্যমে সমস্ত দৃশ্যমান NavBackStackEntry দৃষ্টান্তগুলির একটি তালিকা পুনরুদ্ধার করার ক্ষমতা প্রদান করে
  • rememberNavController() এখন Navigator দৃষ্টান্তগুলির একটি ঐচ্ছিক সেট নেয় যা ফেরত দেওয়া NavController এ যোগ করা হবে যাতে ঐচ্ছিক ন্যাভিগেটরগুলি যেমন Accompanist ন্যাভিগেশন ম্যাটেরিয়াল থেকে আরও ভাল সমর্থন করতে পারে। ( I4619e )

বাগ ফিক্স

  • অ্যাক্টিভিটি পুনরায় তৈরি করা হলে ডায়নামিক নেভিগেশন আর ক্র্যাশ হবে না। ( ifa6a3 , b/197942869 )
  • সিস্টেম ব্যাক বোতামের সাথে একটি সমস্যা সমাধান করা হয়েছে যা একটি NavHost ধারণকারী একটি সংমিশ্রণযোগ্য গন্তব্যে ফিরে আসার পরেই ঘটে। ( 3ed148 , b/195668143 )
  • SafeArgs এখন fromBundle() এবং fromSavedStateHandle() সঠিক প্যারামিটার ক্রমে আর্গুমেন্ট তৈরি করে। ( I824a8 , b/200059831 )

সংস্করণ 2.4.0-alpha09

15 সেপ্টেম্বর, 2021

androidx.navigation:navigation-*:2.4.0-alpha09 প্রকাশিত হয়েছে। সংস্করণ 2.4.0-alpha09 এই কমিট ধারণ করে।

নতুন বৈশিষ্ট

  • popBackStack() বা popUpToSaveState দিয়ে সংরক্ষিত যেকোন অবস্থা সাফ করতে আপনি এখন clearBackStack() পদ্ধতি ব্যবহার করতে পারেন। ( I80a0f )
  • আপনি এখন আপনার নেস্টেড নেভিগেশন গ্রাফের বিল্ডারের আর্গুমেন্ট এবং/অথবা গভীর লিঙ্কগুলির একটি তালিকায় পাস করতে পারেন এবং সেগুলি স্বয়ংক্রিয়ভাবে ফলাফল গ্রাফে যুক্ত হবে। ( I8a470 , b/182545357 )

এপিআই পরিবর্তন

  • navArgument Kotlin DSL ফাংশন এখন navigation-compose এর পরিবর্তে navigation-common এর অংশ। এই ফাংশন ব্যবহার করা চালিয়ে যেতে আমদানি আপডেট করার প্রয়োজন হবে৷ ( I1d095 )

আচরণ পরিবর্তন

  • আর্গুমেন্ট তৈরি করার সময়, Safe Args এখন ডিফল্ট মান ছাড়া প্যারামিটারগুলিকে ডিফল্ট মানগুলির আগে রাখে। ( I89709 , b/198493585 )

বাগ ফিক্স

  • নেভিগেশন কম্পোজ ব্যবহার করার সময়, তাদের সমস্ত সন্তান DESTROYED হয়ে গেলেই NavGraphগুলি DESTROYED করা হবে৷ ( I86552 , b/198741720 )
  • বাতিলযোগ্য NavDeepLink আর্গুমেন্টের আর ডিফল্ট মান প্রয়োজন নেই। ( IA14ef , b/198689811 )
  • একটি নতুন গ্রাফের সাথে setGraph() কে কল করা এখন ব্যাক স্ট্যাক পপ করার আগের আচরণের সাথে যেকোনও সংরক্ষিত ব্যাক স্ট্যাকগুলিও পরিষ্কার করবে। ( I97f96 )
  • একটি সমস্যা সমাধান করা হয়েছে যেখানে launchSingleTop ব্যবহার করার সময় OnDestinationChangedListener দৃষ্টান্ত এবং currentBackStackEntryFlow BackStackEntryFlow বিজ্ঞপ্তি দেওয়া হয়নি। ( আইএএইবিসি )

নির্ভরতা আপডেট

সংস্করণ 2.4.0-alpha08

1 সেপ্টেম্বর, 2021

androidx.navigation:navigation-*:2.4.0-alpha08 প্রকাশিত হয়েছে। সংস্করণ 2.4.0-alpha08 এই কমিট ধারণ করে।

নতুন বৈশিষ্ট

  • কাস্টম NavTypes তৈরি করতে এখন NavType ক্লাস প্রসারিত করা সম্ভব৷ কাস্টম প্রকারগুলি শুধুমাত্র তখনই সমর্থিত হয় যখন আপনার ন্যাভিগেশন গ্রাফ প্রোগ্রাম্যাটিকভাবে তৈরি করা হয়, যেমন ন্যাভিগেশন গ্রাফ Kotlin DSL এর মাধ্যমে। ( I78440 , b/196871885 )

আচরণ পরিবর্তন

  • অ্যাকশন তৈরি করার সময়, Safe Args থেকে জেনারেট করা Kotlin কোড এখন ডিফল্ট মান ছাড়াই আর্গুমেন্টগুলিকে প্যারামিটার হিসেবে ডিফল্ট মানগুলির আগে রাখে। ( আইডিবি697 , বি/188855904 )
  • ডিপ লিঙ্কগুলি এখন যাচাই করে যে সমস্ত প্রয়োজনীয় আর্গুমেন্ট (ডিফল্ট মান ছাড়াই) Uri তে উপস্থিত রয়েছে। ( #204 , b/185527157 )

বাগ ফিক্স

  • composable() এর ভিতরে getBackStackEntry এবং previousBackStackEntry ব্যবহার করে, remember() , ব্যাক স্ট্যাকে কোনো গন্তব্য না থাকার জন্য আর কোনো ব্যতিক্রম ঘটবে না। ( I75138 , b/194313238 )
  • ব্যাক স্ট্যাক আর্গুমেন্ট পরিবর্তন করার সময় এবং launchSingleTop=true ব্যবহার করার সময় নেভিগেশন কম্পোজ এখন সঠিকভাবে পুনরায় কম্পোজ করে। ( Iebd69 , b/186392337 )
  • 13 বা 29টি গন্তব্য সহ একটি গ্রাফ সহ setGraph কল করার সময় আর একটি ArrayIndexOutOfBoundsException থাকবে না৷ ( I1a9f1 , b/195171984 )
  • Args ক্লাস তৈরি করার সময় SafeArgs java জেনারেটর আর লিন্ট সতর্কতা সৃষ্টি করবে না। ( I1a666 , b/185843837 )

বাহ্যিক অবদান

  • ধন্যবাদ ospixd নিশ্চিত করার জন্য যে গভীর লিঙ্কগুলি যাচাই করে যে সমস্ত প্রয়োজনীয় আর্গুমেন্ট (ডিফল্ট মান ছাড়াই) Uri তে উপস্থিত রয়েছে। ( #204 , b/185527157 )

সংস্করণ 2.4.0-alpha07

18 আগস্ট, 2021

androidx.navigation:navigation-*:2.4.0-alpha07 প্রকাশিত হয়েছে। সংস্করণ 2.4.0-alpha07 এই কমিট ধারণ করে।

বাগ ফিক্স

  • ন্যাভিগেশন রচনা এখন কনফিগারেশন পরিবর্তনের পরে এবং একাধিক ব্যাক স্ট্যাক বৈশিষ্ট্য ব্যবহার করার সময় গ্রাফ পরিবর্তন করার সময় সঠিকভাবে স্থিতি সংরক্ষণ করে। ( if5a3d , b/195141957 )
  • একাধিক ব্যাক স্ট্যাকের সাথে নেভিগেশন কম্পোজ ব্যবহার করার সময় একই ট্যাব পুনরায় নির্বাচন করলে আর একটি ফাঁকা স্ক্রীন হবে না। ( I860dc , b/194925622 )
  • NavHost এখন Lifecycle.State পরিবর্তনের জন্য পর্যবেক্ষণ করছে। NavBackStackEntry s-এর রাজ্য যার মানে এখন একটি খণ্ডে একটি NavHost ব্যবহার করলে সঠিকভাবে পুনর্গঠন করা হবে কারণ একটি ফাঁকা স্ক্রীনের পরিবর্তে জীবনচক্র পরিবর্তন হয়। ( I4eb85 , b/195864489 )
  • একটি সমস্যা সমাধান করা হয়েছে যেখানে একটি DialogFragment খারিজ করলে আপনার কার্যকলাপ পুনরায় তৈরি করার পরে (যেমন, কনফিগারেশন পরিবর্তনের পরে) সঠিকভাবে NavController অবস্থা আপডেট হবে না। ( আইসিডি৭২বি )
  • একটি সমস্যা সমাধান করা হয়েছে যেখানে একটি ডায়ালগ গন্তব্য পপ করার ফলে NavController-এর সিস্টেম ব্যাক বোতাম হ্যান্ডলিং আপডেট হবে না, সম্ভাব্যভাবে NavController ব্যাক বোতামটিকে আটকাতে পারে যদিও এতে পপ করার জন্য কোনও ব্যাক স্ট্যাক নেই৷ ( if3b34 )
  • Safe-args এখন স্বয়ংক্রিয়ভাবে আর্গুমেন্টের জন্য একটি toSavedStateHandle পদ্ধতি তৈরি করে যা আপনার ViewModel কোড পরীক্ষা করতে ব্যবহার করা যেতে পারে। ( if1e2d , b/193353880 )

সংস্করণ 2.4.0-alpha06

4 আগস্ট, 2021

androidx.navigation:navigation-*:2.4.0-alpha06 প্রকাশিত হয়েছে। সংস্করণ 2.4.0-alpha06 এই কমিট ধারণ করে।

এপিআই পরিবর্তন

  • AbstractListDetailFragmentrequireSlidingPaneLayout() এবং requireDetailPaneNavHostFragment() পদ্ধতির নাম পরিবর্তন করে যথাক্রমে getSlidingPaneLayout() এবং getDetailPaneNavHostFragment() করা হয়েছে। ( I34a08 )

আচরণ পরিবর্তন

  • অ্যানিমেশনের সাথে নেভিগেট করার সময় (যেমন Crossfade ), নতুন গন্তব্যের Lifecycle এখন শুধুমাত্র অ্যানিমেশন সম্পূর্ণ হলেই RESUMED পৌঁছাবে৷ ( if0543 , b/172112072 , b/194301889 )
  • ন্যাভিগেশন কম্পোজের NavHost এখন গ্রাফটিকে প্রথম রচনার অংশ হিসেবে সেট করে। ( Ieb7be )

বাগ ফিক্স

  • একটি নেভিগেশন গ্রাফের শেষ গন্তব্য পপিং আর একটি ClassCastException নিক্ষেপ করে না। ( if0543 , b/172112072 , b/194301889 )
  • একটি NullPointerException স্থির করা হয়েছে যা Uri ছাড়া একটি গভীর লিঙ্ক যোগ করার সময় এবং একটি রুট বা গভীর লিঙ্কের মাধ্যমে নেভিগেট করার সময় ঘটবে৷ ( 938a0c , b/193805425 )
  • নেভিগেশন কম্পোজে একটি সমস্যা সমাধান করা হয়েছে যেখানে একটি গভীর লিঙ্কযুক্ত NavBackStackEntry RESUMED অবস্থায় পৌঁছাবে না। ( I192c5 )
  • একটি সমস্যা সমাধান করা হয়েছে যেখানে একটি ডায়ালগ গন্তব্য পপ করার ফলে NavController-এর সিস্টেম ব্যাক বোতাম হ্যান্ডলিং আপডেট হবে না, সম্ভাব্যভাবে NavController ব্যাক বোতামটিকে আটকাতে পারে যদিও এতে পপ করার জন্য কোনও ব্যাক স্ট্যাক নেই৷ ( aosp/1782668 )

সংস্করণ 2.4.0-alpha05

জুলাই 21, 2021

androidx.navigation:navigation-*:2.4.0-alpha05 প্রকাশিত হয়েছে। সংস্করণ 2.4.0-alpha05 এই কমিট ধারণ করে।

আচরণ পরিবর্তন

  • ন্যাভিগেশন কম্পোজের NavHost এখন গন্তব্যে নেভিগেট করার সময় সর্বদা ক্রসফেড ব্যবহার করে। ( I07049 , b/172112072 )
  • আপনি এখন একটি NavHost এর গ্রাফে পরিবর্তন করতে পারেন। গ্রাফে একই সূচনা গন্তব্য এবং গন্তব্যের গ্রাফগুলিকে সমান হিসাবে বিবেচনা করা হবে এবং NavController ব্যাক স্ট্যাকটি সাফ করবে না। ( I0b8db , b/175392262 )

বাগ ফিক্স

  • NavBackStackEntry এর সাথে সংযুক্ত একটি LifecycleObserver মধ্যে থেকে popBackStack() কল করার সময় একটি NoSuchElementException সংশোধন করা হয়েছে যা NavController-এর রাজ্যে পুনঃপ্রবেশকারী আপডেটগুলির কারণে সৃষ্ট। ( I64621 )
  • AbstractListDetailFragment যখন AbstractListDetailFragment ব্যবহার করা হয় না তখন আপনার APK থেকে SlidingPaneLayout সম্পূর্ণভাবে ছিনিয়ে নেওয়ার অনুমতি দেয়। ( I611ad )
  • NavGraph এবং NavDestination এখন সমান পদ্ধতিকে ওভাররাইড করে তাই একই মান সহ দুটি বস্তু সমান বলে বিবেচিত হবে। ( I166eb , b/175392262 )

সংস্করণ 2.4.0-alpha04

জুলাই 1, 2021

androidx.navigation:navigation-*:2.4.0-alpha04 প্রকাশিত হয়েছে। সংস্করণ 2.4.0-alpha04 এই কমিট ধারণ করে।

নতুন বৈশিষ্ট

  • navigation-fragment আর্টিফ্যাক্টে এখন নতুন AbstractListDetailFragment এর মাধ্যমে একটি দুটি ফলক বিন্যাসের একটি পূর্বনির্মাণ বাস্তবায়ন রয়েছে। এই খণ্ডটি একটি তালিকা ফলক (যা আপনার সাবক্লাস প্রদান করে) এবং একটি বিস্তারিত ফলক পরিচালনা করতে একটি SlidingPaneLayout ব্যবহার করে, যা একটি NavHostFragment এর বাস্তবায়ন হিসাবে ব্যবহার করে, যেমনটি আমাদের উদাহরণ বাস্তবায়নে দেখা যায়। ( Iac4be , b/191276636 )
  • navigation-compose আর্টিফ্যাক্টের NavHost এখন composable গন্তব্য ছাড়াও dialog গন্তব্য সমর্থন করে। এই ডায়ালগ গন্তব্যগুলি বর্তমান composable গন্তব্যের উপরে ভাসমান একটি কম্পোজেবল Dialog মধ্যে দেখানো হবে। ( I011d0 )
val navController = rememberNavController()
    Scaffold { innerPadding ->
        NavHost(navController, "home", Modifier.padding(innerPadding)) {
            composable("home") {
                // This content fills the area provided to the NavHost
                HomeScreen()
            }
            dialog("detail_dialog") {
                // This content will be automatically added to a Dialog() composable
                // and appear above the HomeScreen or other composable destinations
                DetailDialogContent()
            }
        }
    }

এপিআই পরিবর্তন

  • NavigatorStateadd ফাংশনটির নাম push করা হয়েছে। add() জন্য সমস্ত বর্তমান কলগুলিকে পুশ() এ পরিবর্তন করতে হবে। ( IE89fc , b/172112072 )
  • কাস্টম Navigator দৃষ্টান্তগুলি এখন একটি গন্তব্যকে অ্যাসিঙ্ক্রোনাসভাবে পুশ বা পপ করতে NavigatorStatepushWithTransaction এবং popWithTransition API ব্যবহার করতে পারে। মনে রাখবেন যে এই APIগুলি এখনও অন্তর্ভুক্ত ন্যাভিগেটরদের দ্বারা ব্যবহৃত হয় না৷ ( Ic4d7c , b/172112072 )

আচরণ পরিবর্তন

  • NavDeepLinkBuilder এখন createPendingIntent() দ্বারা প্রত্যাবর্তিত PendingIntentPendingIntent.FLAG_IMMUTABLE যোগ করে, নিশ্চিত করে যে এই APIটি Android 12 টার্গেট করার সময় প্রত্যাশিতভাবে কাজ করে। ( if8c52 )

বাগ ফিক্স

  • <include-dynamic> এর সাথে একটি সমস্যা সমাধান করা হয়েছে যেখানে গ্রাফে পাস করা আর্গুমেন্টগুলি গতিশীলভাবে অন্তর্ভুক্ত গ্রাফে সঠিকভাবে পাস করা হবে না। ( I3e115 )
  • @null এর একটি ডিফল্ট মান সহ একটি string[] আর্গুমেন্ট ব্যবহার করে একটি গন্তব্যে নেভিগেট করার সময় একটি NullPointerException স্থির করা হয়েছে। ( I1fbe8 )
  • @Navigator.Name এর জন্য ProGuard নিয়ম যোগ করুন, R8 3.1 ফুল মোড ব্যবহার করার সময় সমস্যার সমাধান করুন। ( I2add9 , b/191654433 )
  • 1.5.0 এর আগে Kotlin সংস্করণের সাথে আপনার অ্যাপ তৈরি করার সময় SafeArgs আর ব্যর্থ হবে না। ( Icd1ff , b/190739257 )

সংস্করণ 2.4.0-alpha03

16 জুন, 2021

androidx.navigation:navigation-*:2.4.0-alpha03 প্রকাশিত হয়েছে। সংস্করণ 2.4.0-alpha03 এই কমিট ধারণ করে।

বাগ ফিক্স

  • একটি সমস্যা সমাধান করা হয়েছে যেখানে একটি অন্তর্ভুক্ত ডায়নামিক গ্রাফে নেভিগেট করার জন্য দুটি navigate() কলের প্রয়োজন ছিল৷ ( I7785c , b/188859835 )
  • নেভিগেশন 2.4.0-alpha01 এ প্রবর্তিত একটি রিগ্রেশন স্থির করা হয়েছে যেখানে setupActionBarWithNavController() সঠিকভাবে Up আইকনটি অপসারণ করবে না যখন আপনি একটি শীর্ষ স্তরের গন্তব্যে থাকবেন। ( I5d443 , b/189868637 )
  • পূর্বে NavController এর রুট গ্রাফ পপ করার পরে popBackStack() কল করার সময় একটি IllegalStateException সংশোধন করা হয়েছে। ( I2a330 , b/190265699 )
  • by navArgs() এর জন্য ProGuard নিয়মগুলি এখন সঠিকভাবে প্রযোজ্য যখন navigation-common বা এটির উপর নির্ভরশীল যেকোন শিল্পকর্ম ব্যবহার করে। ( I68800 , b/190082521 )
  • একটি OnDestinationChangedListener যেটি প্রথমবার কলব্যাক করার সময় navigate() কল করে এখন সঠিকভাবে একটি দ্বিতীয় কলব্যাক পাবে যেখানে এটি নেভিগেট করেছে। ( Ie5f9e , b/190228815 )
  • গতিশীল বৈশিষ্ট্য মডিউল এবং AGP 7.0+ এর সাথে ব্যবহার করার সময় নিরাপদ Args আর ক্র্যাশ হয় না। ( I69518 , b/189966576 )

পরিচিত সমস্যা

  • একটি পুরানো সংস্করণের উপর নির্ভরতার কারণে Gradle 6.7.0 ব্যবহার করার সময় Unable to find method ''java.lang.String kotlin.text.CarsKt.titleCase(char, java.util.Locale)'' সাথে Safe Args ব্যর্থ হবে কোটলিনের। Gradle 7.0 ব্যবহার করার জন্য আপডেট করে এটি প্রায় কাজ করা যেতে পারে। ( b/190739257 )

সংস্করণ 2.4.0-alpha02

2 জুন, 2021

androidx.navigation:navigation-*:2.4.0-alpha02 প্রকাশিত হয়েছে। সংস্করণ 2.4.0-alpha02 এই কমিট ধারণ করে।

নতুন বৈশিষ্ট

  • রুটগুলি এখন অ্যাক্টিভিটি, ফ্র্যাগমেন্ট এবং ডায়ালগ গন্তব্যগুলির পাশাপাশি ডায়নামিক নেভিগেশন কোটলিন ডিএসএল জুড়ে সমর্থিত। ( Ib5544 , Ia617b , I22f96 , b/188914648 , b/188901565 )
  • NavigationUI অস্থায়ীভাবে পরীক্ষামূলক API যোগ করেছে যাতে আপনার রাজ্য সংরক্ষণ করা অপ্ট আউট করা যায়৷ সর্বদা রাষ্ট্র সংরক্ষণ করা সঠিক আচরণ হলেও, এখনও অবচয়িত লাইব্রেরিগুলির ব্যবহার রয়েছে (অর্থাৎ ধরে রাখা টুকরো), যা রাজ্য সংরক্ষণ করার সময় সমর্থন করা যায় না তাই এটি অ্যাপগুলিকে যে কোনও অসমর্থিত API থেকে ধীরে ধীরে রূপান্তর করার সুযোগ দেয়। ( আইডিএফ৯৩সি )
  • নেভিগেশন এখন findDestination() এবং getHierarchy() API প্রদান করে যা কাস্টম নেভিগেশনইউআই বাস্তবায়নে সাহায্য করতে ব্যবহার করা যেতে পারে। findDestination() হল NavGraph এ একটি এক্সটেনশন ফাংশন যা গ্রাফের মধ্যে একটি গন্তব্য সনাক্ত করবে। getHierarchy() হল NavDestination এর একটি ফাংশন যা একটি প্রদত্ত গন্তব্য অন্যটির অনুক্রমের মধ্যে আছে কিনা তা যাচাই করতে ব্যবহার করা যেতে পারে।( I2932f , b/188183365 )

    val matchingRoute: Boolean = destination.hierarchy.any { it.route == routeToFind }
    
  • ন্যাভিগেশনইউআই মেথড যা BottomNavigationView গ্রহণ করেছে তার পরিবর্তে মেটেরিয়াল 1.4.0 , NavigationBarView এ চালু করা সুপারক্লাস নিতে আপডেট করা হয়েছে। এটি এই পদ্ধতিগুলিকে NavigationRailView এর সাথে ব্যবহার করার অনুমতি দেয়। ( Ib0b36 , b/182938895 )

  • XML-এর মাধ্যমে একটি <action> উপাদান ফুলিয়ে দেওয়ার সময়, অ্যানিমেশন অ্যাট্রিবিউটগুলি app:enterAnim="?attr/transitionEnter" সিনট্যাক্স ব্যবহার করে আপনার থিম থেকে টানা বৈশিষ্ট্যগুলি ব্যবহার করতে পারে। ( I07bc1 , b/178291654 )

এপিআই পরিবর্তন

  • কোটলিন ডিএসএল বিল্ডার যারা একটি আইডি ব্যবহার করে তাদের অবমূল্যায়ন করা হয়েছে এবং রুট ব্যবহারকারী বিল্ডারদের সাথে প্রতিস্থাপন করা উচিত ( I85b42 , b/188816479 ) ( I9f58f , b/188816479 )

বাগ ফিক্স

  • DialogFragmentNavigator এখন NavigatorState.pop() API ব্যবহার করে যখন একটি NavController খারিজ হয়ে যায় তখন সিস্টেম ব্যাক বোতামে আঘাত করে বা এর বাইরে ক্লিক করে, নিশ্চিত করে যে NavController অবস্থা সর্বদা ন্যাভিগেটরের অবস্থার সাথে সুসংগত হয়। ( I2ead9 )
  • একটি onDestinationChanged কলব্যাকের মাধ্যমে OnDestinationChangedListeners এর তালিকা ম্যানিপুলেট করার সময় নেভিগেশন আর একটি ConcurrentModificationException দেয় না। ( Ib1707 , b/188860458 )

  • কোটলিনে দিকনির্দেশনা বৈশিষ্ট্য তৈরি করার চেষ্টা করার সময় নিরাপদ আর্গস আর ক্র্যাশ হয় না। ( Id2416 , b/188564435 )

  • NavDestination-এ সেটআইডি পদ্ধতিটি এখন সঠিকভাবে @IdRes এর সাথে টীকা করা হয়েছে, তাই এটি শুধুমাত্র রিসোর্স আইডি গ্রহণ করে। ( I69b80 )

  • findNode এর int প্যারামিটার এখন resid এর পরিবর্তে resId । ( I7711d )

নির্ভরতা আপডেট

  • Safe-Args এখন Android Gradle Plugin 4.2.0 এর উপর নির্ভর করে। এর মানে হল আপনি আর applicationIdTextResource সতর্কতা ব্যবহার করবেন না। ( I6d67b , b/172824579 )

সংস্করণ 2.4.0-alpha01

18 মে, 2021

androidx.navigation:navigation-*:2.4.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 2.4.0-alpha01-এ এই কমিট রয়েছে।

নতুন বৈশিষ্ট

  • NavControllercurrentBackStackEntryAsFlow() পদ্ধতি একটি Flow প্রদান করে যা বর্তমান NavBackStackEntry পরিবর্তিত হলে নির্গত হয়। এই প্রবাহটি একটি OnDestinationChangedListener ম্যানুয়ালি পরিচালনার বিকল্প হিসাবে ব্যবহার করা যেতে পারে। ( I19c4a , #89 , b/163947280 )

একাধিক ব্যাক স্ট্যাক

NavController গন্তব্যগুলির পিছনের স্ট্যাক পরিচালনার জন্য দায়ী, যখন আপনি তাদের navigate() তখন পিছনের স্ট্যাকে গন্তব্যগুলি যোগ করে এবং আপনি যখন popBackStack() কল করেন বা সিস্টেম ব্যাক বোতামটি ট্রিগার করেন তখন সেগুলি সরানোর জন্য। বিদ্যমান NavOptions ক্লাস এবং নেভিগেশন গ্রাফ XML-এ <action> এন্ট্রিগুলির একীকরণ ব্যাক স্ট্যাক সংরক্ষণ এবং পুনরুদ্ধার সমর্থন করার জন্য প্রসারিত করা হয়েছে। ( b/80029773 )

এই পরিবর্তনের অংশ হিসাবে, onNavDestinationSelected() , BottomNavigationView.setupWithNavController() এবং NavigationView.setupWithNavController() এর NavigationUI পদ্ধতিগুলি এখন স্বয়ংক্রিয়ভাবে পপ করা গন্তব্যগুলির অবস্থা সংরক্ষণ এবং পুনরুদ্ধার করে, কোনো কোড পরিবর্তন ছাড়াই একাধিক ব্যাক স্ট্যাকের জন্য সমর্থন সক্ষম করে৷ ফ্র্যাগমেন্টের সাথে নেভিগেশন ব্যবহার করার সময়, এটি একাধিক ব্যাক স্ট্যাকের সাথে একীভূত করার প্রস্তাবিত উপায়। ( Ie07ca )

রাজ্য সংরক্ষণ এবং পুনরুদ্ধার করার জন্য অন্তর্নিহিত APIগুলি বেশ কয়েকটি পৃষ্ঠের মাধ্যমে উন্মুক্ত করা হয়েছে:

  • নেভিগেশন XML-এ, <action> উপাদানটি এখন app:popUpToSaveState এবং app:restoreState এর বুলিয়ান অ্যাট্রিবিউট ব্যবহার করতে পারে app:popUpTo এর মাধ্যমে পপ করা যেকোন গন্তব্যের অবস্থা সংরক্ষণ করতে এবং app:destination হিসেবে পাস করা গন্তব্যের সাথে সম্পর্কিত অবস্থা পুনরুদ্ধার করতে পারে।

    <action
      android:id=”@+id/swap_stack”
      app:destination=”@id/second_stack”
      app:restoreState=”true”
      app:popUpTo=”@id/first_stack_start_destination”
      app:popUpToSaveState=”true” />
    
  • navOptions Kotlin DSL- এ, আপনি restoreState বুলিয়ান প্রপার্টি এবং saveState বুলিয়ান প্রপার্টি popUpTo বিল্ডারে যোগ করতে পারেন:

    // Use the navigate() method that takes a navOptions DSL Builder
    navController.navigate(selectedBottomNavRoute) {
      launchSingleTop = true
      restoreState = true
      popUpTo(navController.graph.startDestinationId) {
        saveState = true
      }
    }
    
  • NavOptions.Builder এর মাধ্যমে ম্যানুয়ালি একটি NavOptions অবজেক্ট তৈরি করতে, আপনি setRestoreState() এবং setPopUpTo() এ নতুন ওভারলোড ব্যবহার করতে পারেন যা একটি অতিরিক্ত saveState প্যারামিটার নেয়।

    NavOptions navOptions = new NavOptions.Builder()
      .setLaunchSingleTop(true)
      .setRestoreState(true)
      .setPopUpTo(navController.getGraph().getStartDestinationId(),
        false, // inclusive
        true) // saveState
      .build();
    navController.navigate(selectedBottomNavId, null, navOptions);
    
  • popBackStack() এ প্রোগ্রাম্যাটিক কল এখন একটি অতিরিক্ত saveState প্যারামিটার অন্তর্ভুক্ত করতে পারে।

সমস্ত ক্ষেত্রে, NavController প্রতিটি NavBackStackEntry এর অবস্থা সংরক্ষণ করবে এবং পুনরুদ্ধার করবে, যেকোন নেভিগেশন গন্তব্য স্কোপড ViewModel উদাহরণ সহ। প্রতিটি Navigator তাদের নিজস্ব অবস্থা সংরক্ষণ এবং পুনরুদ্ধার করতে সহায়তা করার জন্য Navigator APIগুলি আপডেট করা হয়েছে।

ন্যাভিগেশন কম্পোজে composable গন্তব্যগুলির জন্য ব্যবহৃত ComposeNavigator এবং FragmentNavigator এবং DynamicFragmentNavigator উভয়ই নতুন ন্যাভিগেটর API ব্যবহার করতে এবং সংরক্ষণ ও পুনরুদ্ধারের অবস্থা সমর্থন করার জন্য আপডেট <fragment> হয়েছে।

নেভিগেশন রুট

একটি রুট হল একটি String যা অনন্যভাবে একটি গন্তব্য চিহ্নিত করে। যদিও পূর্বে শুধুমাত্র ন্যাভিগেশন কম্পোজে ব্যবহৃত হত, এই ধারণাটি এখন মূল নেভিগেশন API-এর একটি অংশ হয়ে উঠেছে। ন্যাভিগেশন Kotlin DSL এর মাধ্যমে আপনার গ্রাফ তৈরি করার সময় এটি পূর্ণসংখ্যা আইডি ব্যবহার করার একটি বিকল্প প্রদান করে। ( b/172823546 )

সমস্ত API যেগুলি শুধুমাত্র একটি আইডি গ্রহণ করত এখন একটি ওভারলোড রয়েছে যা একটি রুট String নেয়। এর মধ্যে navigate() , popBackStack() , popUpTo() এবং getBackStackEntry() অন্তর্ভুক্ত রয়েছে।

এর কিছু API প্রভাব রয়েছে:

  • Kotlin DSL-এ popUpTo kotlin সম্পত্তি popUpToId এর পক্ষে অবমূল্যায়ন করা হয়েছে। ( I59c73 , b/172823546 )
  • getStartDestination() API-কে getStartDestinationId() এর পক্ষে বাতিল করা হয়েছে। ( I0887f , b/172823546 )

ডেভেলপারদের জন্য নেভিগেশন কম্পোজের পূর্ববর্তী সংস্করণ থেকে নেভিগেশন কম্পোজ 2.4.0-alpha01 তে আপগ্রেড করার জন্য, এর মানে হল যে এক্সটেনশন পদ্ধতিতে নিম্নলিখিত আমদানিগুলি আর প্রয়োজন নেই এবং সরানো উচিত:

import androidx.navigation.compose.navigation
import androidx.navigation.compose.createGraph
import androidx.navigation.compose.getBackStackEntry
import androidx.navigation.compose.navigate
import androidx.navigation.compose.popUpTo

KEY_ROUTE আর্গুমেন্টটি NavDestinationroute প্রপার্টি দিয়ে প্রতিস্থাপিত হয়েছে, যা আপনাকে সরাসরি navBackStackEntry.destination.route এ কল করতে দেয়।

এপিআই পরিবর্তন

  • সমস্ত নেভিগেশন শিল্পকর্ম কোটলিনে পুনরায় লেখা হয়েছে। এটি জেনেরিক (যেমন NavType সাবক্লাস) ব্যবহার করে ক্লাসের শূন্যতা উন্নত করেছে। সমস্ত Kotlin এক্সটেনশন ফাংশন যা -ktx আর্টিফ্যাক্টের অংশ ছিল তাদের নিজ নিজ প্রধান শিল্পকর্মে স্থানান্তরিত করা হয়েছে। -ktx আর্টিফ্যাক্টগুলি প্রকাশিত হতে থাকবে, কিন্তু সম্পূর্ণ খালি। ( b/184292145 )
  • NavDeepLinkBuilder এখন জেনারেট করা ব্যাক স্ট্যাকে একাধিক স্বতন্ত্র গন্তব্য যোগ করা সমর্থন করে। ( I3ee0d , b/147913689 )
  • DynamicNavHostFragment ( Icd515 , b/175222619 ) এর জন্য ফ্যাক্টরি ফাংশন যোগ করুন
  • একটি NavBackStackEntry এর অনন্য ID এখন তার সর্বজনীন API-এর অংশ হিসাবে উন্মুক্ত করা হয়েছে। ( IE033a )
  • NamedNavArgument এর name এবং argument ক্ষেত্র এবং ধ্বংস করার ফাংশন এখন সর্বজনীন। ( #174 , b/181320559 )
  • একটি নতুন NavBackStackEntry#provideToCompositionLocals এক্সটেনশন প্রবর্তন করেছে যা প্রাসঙ্গিক রচনা স্থানীয়দের NavBackStackEntry প্রদান করে। ( #175 , b/187229439 )

নিরাপদ Args

  • সেফ আর্গস এখন প্রতিটি NavArgs ক্লাসের জন্য একটি fromSavedStateHandle() পদ্ধতি তৈরি করে। ( #122 , b/136967621 )

    class HomeViewModel(savedStateHandle: SavedStateHandle) : ViewModel() {
      // Create a HomeDestinationArgs class with type safe accessors for each argument
      // defined on your destination
      private val args = HomeDestinationArgs.fromSavedStateHandle(savedStateHandle)
    }
    
  • KotlinPoet 1.8.0 এর উপর নির্ভর করার জন্য সেফ আর্গস আপডেট করা হয়েছে। ( #172 , b/183990444 )

আচরণ পরিবর্তন

  • নেভিগেশন এখন লাইফসাইকেল 2.3.1 এর উপর নির্ভর করে এবং এখন setGraph() , popBackStack() , navigateUp() , এবং navigate() চিহ্নিত করে, যে পদ্ধতিগুলি NavBackStackEntry Lifecycle আপডেট করে, @MainThread হিসাবে, লাইফসাইকেলে প্রধান থ্রেডের সাথে নেভিগেশন সারিবদ্ধ করে 2.3.0 ( b/171125856 )
  • ডিপ লিঙ্ক থেকে Enum আর্গুমেন্ট পার্স করা এখন কেস ইনসেনসিটিভ, http://www.example.com/red এর মতো ডিপ লিঙ্ককে www.example.com/{color} ডিপ লিঙ্কের সাথে মেলে এমনকী যখন enum-এর মান RED এর মান থাকে . ( #152 , b/135857840 )

রচনা সামঞ্জস্যতা

  • androidx.navigation:navigation-compose:2.4.0-alpha01 শুধুমাত্র কম্পোজ ভার্সন 1.0.0-beta07 এবং তার বেশির সাথে সামঞ্জস্যপূর্ণ।

বাগ ফিক্স

  • একটি সমস্যা সমাধান করা হয়েছে যেখানে ট্রেলিং আর্গুমেন্ট প্লেসহোল্ডাররা ডিপ লিঙ্কগুলির উপর অগ্রাধিকার নেবে যেগুলির সাথে মিলে যাওয়া সঠিক প্রত্যয় রয়েছে৷ ( #153 , b/184072811 )
  • NavHostFragment এখন কাস্টম নেভিগেটর সমর্থন করে যেগুলি একই @Navigator.Name("dialog") ডিফল্ট DialogFragmentNavigator হিসাবে ব্যবহার করে। ( Ib1c2c , b/175979140 )
  • NavigatorProvider#addNavigator এর আচরণ উন্নত করা হয়েছে যাতে একই উদাহরণে বারবার কল করলে সমস্যা না হয়। ( #176 , b/187443146 )

বাহ্যিক অবদান

  • প্রতিটি NavArgs ক্লাসের জন্য একটি fromSavedStateHandle() পদ্ধতি তৈরি করে Safe Args-এর জন্য সমর্থন তৈরি করার জন্য ধন্যবাদ simonschiller । ( #122 , b/136967621 )
  • ধন্যবাদ ব্র্যাডলিকর্ন ডিপ লিংক থেকে Enum আর্গুমেন্ট পার্সিং কেস ইনসেনসিটিভ করার জন্য। ( #152 , b/135857840 )
  • ধন্যবাদ osipxd একটি সমস্যা সমাধান করার জন্য যেখানে ট্রেলিং আর্গুমেন্ট প্লেসহোল্ডাররা গভীর লিঙ্কগুলির উপর প্রাধান্য পাবে যেগুলির সাথে মিলিত সঠিক প্রত্যয় রয়েছে৷ ( #153 , b/184072811 )
  • KotlinPoet 1.8.0 এর উপর নির্ভর করার জন্য Safe Args আপডেট করার জন্য tatocaster কে ধন্যবাদ। ( #172 , b/183990444 )
  • name এবং argument ক্ষেত্র এবং NamedNavArgument এর কার্যাবলী ধ্বংস করার জন্য jossiwolf কে ধন্যবাদ। ( #174 , b/181320559 )
  • ধন্যবাদ jossiwolf একটি নতুন NavBackStackEntry#provideToCompositionLocals এক্সটেনশন প্রবর্তনের জন্য যা প্রাসঙ্গিক রচনা স্থানীয়দের NavBackStackEntry প্রদান করে। ( #175 , b/187229439 )
  • NavigatorProvider#addNavigator এর আচরণ উন্নত করার জন্য jossiwolf কে ধন্যবাদ যাতে একই উদাহরণে বারবার কল করলে সমস্যা না হয়। ( #176 , b/187443146 )

সংস্করণ 1.0.0-আলফা10

7 এপ্রিল, 2021

androidx.navigation:navigation-compose:1.0.0-alpha10 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha10 এই কমিট ধারণ করে।

এপিআই পরিবর্তন

  • NavHost এখন একটি Modifier গ্রহণ করে, যা কম্পোজেবল কন্টেইনারে পাঠানো হয় যা গন্তব্য কম্পোজেবলগুলিকে মোড়ানো হয়। ( I85aca , b/175125483 )

বাগ ফিক্স

  • NavHost এখন কাজ করে এমনকি যখন একজন OnBackPressedDispatcherOwner খুঁজে পাওয়া যায় না, NavHost এর পূর্বরূপ দেখার সময় এমনটি হয়। ( I7d8b4 )
  • নেভিগেশন রচনা এখন নেভিগেশন 2.3.5 এর উপর নির্ভর করে, একটি NavHost গন্তব্যের মধ্যে BackHandler ব্যবহার করার সময় একটি সমস্যা সমাধান করা। ( I7e63b , b/182284739 )

সংস্করণ 1.0.0-alpha09

10 মার্চ, 2021

androidx.navigation:navigation-compose:1.0.0-alpha09 প্রকাশিত হয়েছে। 1.0.0-alpha09 সংস্করণে এই কমিট রয়েছে।

এপিআই পরিবর্তন

  • LocalViewModelStoreOwner.current বর্তমান রচনায় একটি ViewModelStoreOwner উপলব্ধ কিনা তা আরও ভালভাবে নির্ধারণ করতে একটি বাতিলযোগ্য ViewModelStoreOwner প্রদান করে৷ যে APIগুলির জন্য একটি ViewModelStoreOwner প্রয়োজন, যেমন viewModel() এবং NavHost , যদি একটি ViewModelStoreOwner সেট না করা থাকে তাহলেও একটি ব্যতিক্রম ছুঁড়ে দেয়৷ ( আইডিএফ৩৯এ )

বাগ ফিক্স

  • ন্যাভিগেশন রচনা এখন নেভিগেশন 2.3.4 এর উপর নির্ভর করে যার মধ্যে গ্রাফ সেট করার পরে একই ViewModelStore অবজেক্ট সেট করার চেষ্টা করার জন্য ফিক্স অন্তর্ভুক্ত রয়েছে। ( I65c24 , b/177825470 )

সংস্করণ 1.0.0-alpha08

24 ফেব্রুয়ারি, 2021

androidx.navigation:navigation-compose:1.0.0-alpha08 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha08 এই কমিট ধারণ করে।

নতুন বৈশিষ্ট

  • NavHost এখন সেই গন্তব্যের NavBackStackEntry এর সাথে LocalSavedStateRegistryOwner CompositionLocal কে পপুলেট করে, নিশ্চিত করে যে SavedStateRegistry এ সরাসরি সংরক্ষিত যেকোনও স্টেট গন্তব্যের সাথে সংরক্ষিত এবং পুনরুদ্ধার করা হবে। ( I435d7 , b/179469431 )

সংস্করণ 1.0.0-alpha07

ফেব্রুয়ারী 10, 2021

androidx.navigation:navigation-compose:1.0.0-alpha07 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha07 এই কমিট ধারণ করে।

নির্ভরতা আপডেট

সংস্করণ 1.0.0-alpha06

28 জানুয়ারী, 2021

androidx.navigation:navigation-compose:1.0.0-alpha06 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha06 এই কমিট ধারণ করে।

এপিআই পরিবর্তন

  • NavController এ একটি getBackStackEntry(route: String) এক্সটেনশন পদ্ধতি যোগ করা হয়েছে যা সংশ্লিষ্ট NavBackStackEntry ফেরত দেয়। ( if8931 )

সংস্করণ 1.0.0-alpha05

13 জানুয়ারী, 2021

androidx.navigation:navigation-compose:1.0.0-alpha05 প্রকাশিত হয়েছে। 1.0.0-alpha05 সংস্করণে এই কমিট রয়েছে।

কম্পোজ 1.0.0-আলফা10 এর উপর নির্ভর করে আপডেট করা হয়েছে।

সংস্করণ 1.0.0-alpha04

16 ডিসেম্বর, 2020

androidx.navigation:navigation-compose:1.0.0-alpha04 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha04 এই কমিট ধারণ করে।

  • কম্পোজ 1.0.0-alpha09 এর সাথে সামঞ্জস্যের জন্য আপডেট করা হয়েছে।

সংস্করণ 1.0.0-alpha03

2 ডিসেম্বর, 2020

androidx.navigation:navigation-compose:1.0.0-alpha03 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha03 এই কমিট ধারণ করে।

বাগ ফিক্স

  • একটি সমস্যা সমাধান করা হয়েছে যেখানে popBackStack() এবং navigateUp() কনফিগারেশন পরিবর্তনের পরে কাজ করবে না বা মৃত্যু এবং বিনোদন প্রক্রিয়া করবে। ( Icea47 , b/173281473 )
  • আপনার NavHost-এর মধ্যে একটি নেস্টেড গ্রাফে নেভিগেট করা এখন সঠিকভাবে কাজ করে। ( I0948d , b/173647694 )

সংস্করণ 1.0.0-alpha02

11 নভেম্বর, 2020

androidx.navigation:navigation-compose:1.0.0-alpha02 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha02 এই কমিট ধারণ করে।

এপিআই পরিবর্তন

  • ন্যাভিগেশন কম্পোজ এখন PopUpTo ব্যবহার করার জন্য NavOptions সমর্থন করে এবং SingleTop অপারেশন চালু করে ( If96c3 , b/171468994 )
  • একটি নেভিগেশন ফাংশন যোগ করা হয়েছে যা একটি আইডির পরিবর্তে একটি রুট নেয় যা আপনাকে নেভিগেশন কম্পোজ ডিএসএল-এ নেস্টেড গ্রাফ তৈরি করতে দেয়। ( I1661d )
  • startDestination এখন একটি NavHost ( Ie620e ) এর প্যারামিটারের তালিকায় রুটের আগে আসে
  • আপনি এখন একটি NavHost কম্পোজেবলের বাইরে একটি স্টার্ট গন্তব্য হিসাবে রুট ব্যবহার করে একটি গ্রাফ তৈরি করতে পারেন। ( Iceb75 )

সংস্করণ 1.0.0-alpha01

অক্টোবর 28, 2020

android.navigation:navigation-compose:1.0.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha01-এ এই কমিট রয়েছে।

নতুন বৈশিষ্ট

navigation-compose আর্টিফ্যাক্ট নেভিগেশন কম্পোনেন্ট এবং জেটপ্যাক কম্পোজের মধ্যে ইন্টিগ্রেশন প্রদান করে। এটি আপনার অ্যাপ্লিকেশনে গন্তব্য হিসাবে @Composable ফাংশন ব্যবহার করে।

এই প্রাথমিক রিলিজ প্রদান করে:

  • একটি NavHost কম্পোজযোগ্য যা আপনাকে Kotlin DSL এর মাধ্যমে আপনার নেভিগেশন গ্রাফ তৈরি করতে দেয়।
  • জীবনচক্রের স্কোপিং, ViewModel এবং গন্তব্য স্তরে মনে রাখা অবস্থা।
  • সিস্টেম ব্যাক বোতামের সাথে স্বয়ংক্রিয় ইন্টিগ্রেশন।
  • আর্গুমেন্ট পাস করার জন্য সমর্থন, গন্তব্যে গভীর লিঙ্ক সংযুক্ত করা, এবং পূর্ববর্তী গন্তব্যে একটি ফলাফল ফেরত.
  • rememberNavController() এবং currentBackStackEntryAsState() এ নির্দিষ্ট সহায়ক রচনা করুন যাতে উত্তোলন অবস্থার অনুমতি দেওয়া যায় এবং NavHost এর বাইরে কম্পোজেবলের সাথে NavController কে সংযুক্ত করা যায় (যেমন নীচের নেভিগেশন বার)।

আরও তথ্যের জন্য রচনা ন্যাভিগেশন গাইড দেখুন।

সংস্করণ 2.3.5

সংস্করণ 2.3.5

7 এপ্রিল, 2021

androidx.navigation:navigation-*:2.3.5 প্রকাশিত হয়েছে। সংস্করণ 2.3.5 এই কমিট ধারণ করে.

নতুন বৈশিষ্ট

  • একটি NavDeepLinkRequest বা Uri ব্যবহার করে নেভিগেট করার সময়, আপনি এখন KEY_DEEP_LINK_INTENT এর মাধ্যমে আর্গুমেন্ট থেকে অভিপ্রায় পেয়ে ফলাফলের গন্তব্যে Uri , অ্যাকশন এবং মাইম টাইপ অ্যাক্সেস করতে পারেন, বাহ্যিক গভীর লিঙ্কিংয়ের জন্য ইতিমধ্যে উপলব্ধ কার্যকারিতা মিরর করে৷ ( I975c3 , b/181521877 )

বাগ ফিক্স

  • OnBackPressedCallbacks NavBackStackEntry এর সাথে একটি ডিসপ্যাচারে যোগ করা হয়েছে লাইফসাইকেল-ওনার হিসাবে এখন অ্যাক্টিভিটি লাইফসাইকেল STOPPED পরে সঠিকভাবে ইন্টারসেপ্ট করে, তারপর STARTED ( Iff94f , b/182284739 )
  • ডিপ লিঙ্ক ডোমেন পার্সিং এখন কেস সংবেদনশীল, নিশ্চিত করে যে www.example.com www.example.com এবং www.Example.com উভয়ের সাথে মিলে যায়। মনে রাখবেন যে ক্যোয়ারী প্যারামিটারের নাম এখনও কেস সংবেদনশীল। ( #144 , b/153829033 )
  • একটি NullPointerException স্থির করা হয়েছে যেটি ঘটতে পারে যখন একটি গন্তব্যে একাধিক অ-নূলযোগ্য ডিফল্ট আর্গুমেন্ট থাকে এবং আপনি সেই গন্তব্যে নেভিগেট করেন যখন শুধুমাত্র সেই আর্গুমেন্টগুলির একটি উপসেট ওভাররাইড করেন৷ ( aosp/1644827 )

নির্ভরতা আপডেট

  • নেভিগেশন নিরাপদ Args Gradle প্লাগইন এখন Kotlin Gradle প্লাগইন 1.4.31 এর উপর নির্ভর করে। ( aosp/1661058 , b/181156413 )

বাহ্যিক অবদান

  • গভীর লিঙ্ক ডোমেন পার্সিং কেস সংবেদনশীল করে তোলার অনুরোধের জন্য ধন্যবাদ bentrengrove . ( #144 , b/153829033 )

সংস্করণ 2.3.4

সংস্করণ 2.3.4

10 মার্চ, 2021

androidx.navigation:navigation-*:2.3.4 প্রকাশিত হয়েছে। সংস্করণ 2.3.4 এই কমিট ধারণ করে.

নতুন বৈশিষ্ট

  • ReferenceType আর্গুমেন্টগুলি যখন ডিপলিংক ইউআরআই-এর অংশ হিসাবে পাঠানো হয় তখন সঠিকভাবে পার্স করা যায়। এটি কাঁচা পূর্ণসংখ্যার মান এবং 0x দ্বারা উপসর্গযুক্ত হেক্স মান উভয়কেই সমর্থন করে। ( #127 , b/179166693 )
  • app:argType="float" এর সাথে একটি আর্গুমেন্টের জন্য android:defaultValue এখন পূর্ণসংখ্যার ডিফল্ট মানগুলিকে সমর্থন করে, যা আপনাকে 0.0 ব্যবহার করার পরিবর্তে android:defaultValue="0" ব্যবহার করতে দেয়৷ ( #117 , b/173766247 )

বাগ ফিক্স

  • গতিশীল বৈশিষ্ট্যের জন্য নেভিগেশন সমর্থন ব্যবহার করার সময় আটকে থাকা ইনস্টলেশন অগ্রগতি ঠিক করুন। ( Ib27a7 , b/169636207 )
  • setViewModelStore বা setLifecycleOwner ইতিমধ্যে সেট করা একই বস্তুর সাথে কল করা এখন একটি নো-অপ হবে ( Idf491 , b/177825470 )
  • সেফ-আর্গস এখন জাভা ব্যবহার করার সময় সঠিক পদ্ধতিতে সাপ্রেস টীকা যোগ করে। ( I8fbc5 , b/179463137 )

বাহ্যিক অবদান

  • ডিপলিংক ইউআরআই-এর অংশ হিসাবে পাঠানো হলে ReferenceType আর্গুমেন্টগুলি এখন সঠিকভাবে পার্স করা যায় তা নিশ্চিত করার জন্য পুল অনুরোধের জন্য JvmName ধন্যবাদ। ( #127 , b/179166693 )
  • অ্যাপের সাথে একটি আর্গুমেন্টের জন্য defaultValue অনুমতি দেওয়ার জন্য tatocaster ধন্যবাদ app:argType=”float” এখন পূর্ণসংখ্যার ডিফল্ট মান সমর্থন করে। ( #117 , b/173766247 )

সংস্করণ 2.3.3

সংস্করণ 2.3.3

জানুয়ারী 27, 2021

androidx.navigation:navigation-*:2.3.3 প্রকাশিত হয়েছে। সংস্করণ 2.3.3 এই কমিট ধারণ করে.

বাগ ফিক্স

  • একটি NavBackStackEntry এর Lifecycle CREATED এ সরানোর আগে পপ করার সময় আর ক্র্যাশ হয় না। ( IE3ba3 )
  • b/171364502 দ্বারা সৃষ্ট স্থির রিগ্রেশন যেখানে 0 এর একটি অ্যানিমেশন রিসোর্স মান সহ একটি কার্যকলাপে নেভিগেট করার ফলে একটি ResourceNotFoundException হয়েছে। ( I7aedb , b/176819931 )

সংস্করণ 2.3.2

সংস্করণ 2.3.2

2 ডিসেম্বর, 2020

androidx.navigation:navigation-*:2.3.2 প্রকাশিত হয়েছে। সংস্করণ 2.3.2 এই কমিট ধারণ করে.

বাগ ফিক্স

  • NavigationUI -তে একটি রিগ্রেশন স্থির করা হয়েছে যেখানে onNavDestinationSelected সাথে একটি <activity> গন্তব্য ব্যবহার করলে কার্যকলাপে নেভিগেট করতে ব্যর্থ হবে। ( I22e34 , b/171364502 )
  • একটি সমস্যা সমাধান করা হয়েছে যেখানে navigation-dynamic-features-fragment ফলে নতুন ইনস্টল করা গন্তব্যে একাধিকবার নেভিগেট হবে। ( aosp/1486056 , b/169636207 )
  • একটি সমস্যা সমাধান করা হয়েছে যেখানে launchSingleTop ব্যবহার করার সময় ডিফল্ট আর্গুমেন্টগুলি OnDestinationChangedListener ইনস্ট্যান্সে পাঠানো হবে না। ( I2c5cb )
  • একটি সমস্যা সমাধান করা হয়েছে যেখানে নেস্টেড নেভিগেশন গ্রাফে নেভিগেট করা ব্যাক স্ট্যাকের উপর একটি নতুন গ্রাফ উদাহরণ তৈরি করবে না। ( IFc831 )
  • একটি সমস্যা সমাধান করা হয়েছে যেখানে একটি popUpTo এর সাথে navigate() ব্যবহার করে যা একটি নেভিগেশন গ্রাফের শেষ গন্তব্যটি সরিয়ে দেয় তা অবিলম্বে নেভিগেশন গ্রাফটিকে পিছনের স্ট্যাক থেকে ধ্বংস করবে না এবং সরিয়ে দেবে না। ( I910a3 )
  • নেভিগেশন SafeArgs এখন KotlinPoet সংস্করণ 1.7.2 ব্যবহার করে যা Kotlin এর স্পষ্ট API মোডের জন্য সমর্থন যোগ করে। ( I918b5 )
  • NavHostFragment.findNavController(Fragment) এখন ফ্র্যাগমেন্ট হায়ারার্কি এবং ফ্র্যাগমেন্টের ভিউ হায়ারার্কির বিদ্যমান চেকগুলি ছাড়াও একটি ডায়ালগফ্র্যাগমেন্টের রুট ডেকোর ভিউ পরীক্ষা করে। এটি আপনাকে FragmentScenario এবং Navigation.setViewNavController() এর সাথে নেভিগেশন ব্যবহার করে এমন ডায়ালগ টুকরো পরীক্ষা করতে দেয়। ( I69e0d )

সংস্করণ 2.3.1

সংস্করণ 2.3.1

অক্টোবর 14, 2020

androidx.navigation:navigation-*:2.3.1 প্রকাশিত হয়েছে। সংস্করণ 2.3.1 এই কমিট ধারণ করে.

নতুন বৈশিষ্ট

  • ডিফল্ট অ্যানিমেটর সংস্থানগুলি নেভিগেশন UI-তে যোগ করা হয়েছে এবং ডিফল্ট অ্যানিমেশন সংস্থানগুলির জন্য সুপারিশ করা হয়েছে৷ ( b/167430145 )
  • NavOptions এখন হ্যাশকোড ওভাররাইড করে এবং পদ্ধতিগুলিকে সমান করে ( b/161586466 )
  • নেভিগেশন এখন "আইডি সহ কোন গন্তব্য নেই" অবৈধ আর্গুমেন্ট এক্সেপশনে বর্তমান গন্তব্য অন্তর্ভুক্ত করে, যা ডেভেলপার ডিবাগিং অভিজ্ঞতা উন্নত করবে। ( b/168311416 )

বাগ ফিক্স

  • সেফ আর্গস আর রিটার্ন লাইন র‍্যাপ করবে না, এমনকি জেনারেট করা আর্গুমেন্ট ক্লাসের নাম 100 অক্ষরের বেশি হলেও। ( b/168584987 )

নির্ভরতা পরিবর্তন

  • navigation-ui এখন ড্রয়ার লেআউট 1.1.1 এর উপর নির্ভর করে, নিশ্চিত করে যে NavigationUI LOCK_MODE_LOCKED_CLOSED বা LOCK_MODE_LOCKED_OPEN ব্যবহার করার সময়ও ড্রয়ার খুলতে সক্ষম। ( b/162253907 )
  • নিরাপদ আর্গস এখন KotlinPoet 1.6.0 ( aosp/1435911 ) এর উপর নির্ভর করে
  • নিরাপদ Args এখন AGP 4.0.1 ( aosp/1442337 ) এর উপর নির্ভর করে

সংস্করণ 2.3.0

সংস্করণ 2.3.0

জুন 24, 2020

androidx.navigation:navigation-*:2.3.0 প্রকাশিত হয়েছে। সংস্করণ 2.3.0 এই কমিট ধারণ করে.

2.2.0 থেকে প্রধান পরিবর্তন

  • ফিচার মডিউল ইন্টিগ্রেশন : navigation-dynamic-features-runtime এবং navigation-dynamic-features-fragment আর্টিফ্যাক্টগুলি আপনাকে বৈশিষ্ট্য মডিউলগুলিতে সংজ্ঞায়িত গন্তব্যগুলিতে নেভিগেট করার অনুমতি দেয়, স্বয়ংক্রিয়ভাবে প্রয়োজন অনুসারে বৈশিষ্ট্য মডিউলগুলির ইনস্টলেশন পরিচালনা করে। আরও তথ্যের জন্য বৈশিষ্ট্য মডিউল সহ নেভিগেট দেখুন।
  • ন্যাভিগেশন টেস্টিং : navigation-testing আর্টিফ্যাক্ট একটি TestNavHostController প্রদান করে যা আপনাকে বর্তমান গন্তব্য সেট করতে এবং নেভিগেশন অপারেশনের পরে ব্যাক স্ট্যাক যাচাই করতে দেয়। আরও তথ্যের জন্য পরীক্ষা নেভিগেশন দেখুন।
  • একটি ফলাফল ফিরিয়ে দেওয়া : নেভিগেশন ব্যাক স্ট্যাকের প্রতিটি গন্তব্যের সাথে যুক্ত NavBackStackEntry এখন আপনাকে একটি SavedStateHandle অ্যাক্সেস করার অনুমতি দেয় যা একটি নির্দিষ্ট ব্যাক স্ট্যাক এন্ট্রির সাথে যুক্ত হওয়া উচিত অল্প পরিমাণে সংরক্ষিত অবস্থা সংরক্ষণ করার জন্য উপযুক্ত। আরও তথ্যের জন্য পূর্ববর্তী গন্তব্যে একটি ফলাফল প্রত্যাবর্তন দেখুন।
  • Openable জন্য NavigationUI সমর্থন : NavigationUI তে DrawerLayout সমস্ত ব্যবহার কাস্টমভিউ 1.1.0 -তে যুক্ত করা আরও সাধারণ Openable ইন্টারফেসের সাথে প্রতিস্থাপিত হয়েছে এবং ড্রয়ারলেআউট 1.1.0 -এ DrawerLayout দ্বারা প্রয়োগ করা হয়েছে।
  • ডিপ লিঙ্কগুলিতে অ্যাকশন এবং মাইম টাইপ সমর্থন : app:uri ছাড়াও app:action এবং app:mimeType সমর্থন করতে ডিপ লিঙ্কিং প্রসারিত করা হয়েছে। NavController এখন নতুন NavDeepLinkRequest ক্লাসের মাধ্যমে এই ক্ষেত্রগুলির যেকোন সংমিশ্রণে নেভিগেট করা সমর্থন করে। আরও তথ্যের জন্য NavDeepLinkRequest ব্যবহার করে নেভিগেট দেখুন।

জ্ঞাত সমস্যা

  • ম্যানিফেস্ট মার্জারে ডিপ লিঙ্ক অ্যাকশন এবং মাইম প্রকারের জন্য সমর্থন এখনও উপলব্ধ নয়। এই কাজটি সম্পূর্ণ না হওয়া পর্যন্ত, আপনার ম্যানিফেস্টের <nav-graph> উপাদান থেকে যেকোনও জেনারেট করা <intent-filter> উপাদানগুলি তার <data> উপাদান বা আপনার কাস্টম <action> এ আপনার মাইম প্রকার অন্তর্ভুক্ত করবে না। আপনার ম্যানিফেস্টে আপনাকে ম্যানুয়ালি একটি উপযুক্ত <intent-filter> যোগ করতে হবে।

সংস্করণ 2.3.0-rc01

জুন 10, 2020

androidx.navigation:navigation-*:2.3.0-rc01 প্রকাশিত হয়েছে। সংস্করণ 2.3.0-rc01-এ এই কমিট রয়েছে।

বাগ ফিক্স

  • একটি NullPointerException স্থির করা হয়েছে যখন কোনো আর্গুমেন্ট ছাড়া একটি গন্তব্যের একটি উদাহরণকে singleTop এর সাথে আর্গুমেন্টের সাথে অন্য উদাহরণের সাথে প্রতিস্থাপন করা হয়। ( b/158006669 )
  • NavController দ্বারা নিক্ষিপ্ত সমস্ত destination is unknown ব্যতিক্রম এখন NavController এর অবস্থা নির্ধারণে সাহায্য করার জন্য অতিরিক্ত ডিবাগিং তথ্য রয়েছে। ( b/157764916 )

সংস্করণ 2.3.0-beta01

20 মে, 2020

androidx.navigation:navigation-*:2.3.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 2.3.0-beta01-এ এই কমিট রয়েছে।

বাগ ফিক্স

  • একটি সমস্যা সমাধান করা হয়েছে যেখানে প্রক্রিয়া মৃত্যুর পরে NavBackStackEntry এর Lifecycle সঠিকভাবে আপডেট করা হবে না। ( b/155218371 )
  • setGraph() কল করার আগে নিবন্ধিত OnDestinationChangedListener দৃষ্টান্তগুলি এখন একটি প্রক্রিয়ার মৃত্যুর পরে পুনরুদ্ধার করা গন্তব্য সঠিকভাবে পাঠানো হয়েছে। ( b/155218371 )
  • singleTop ব্যবহার করার সময়, NavBackStackEntry এখন সঠিকভাবে আর্গুমেন্ট আপডেট করা হয়েছে এবং আপডেট করা আর্গুমেন্টগুলি সমস্ত OnDestinationChangeListener ইনস্ট্যান্সে পাঠানো হয়েছে। ( b/156545508 )

নির্ভরতা আপডেট

সংস্করণ 2.3.0-alpha06

এপ্রিল 29, 2020

androidx.navigation:navigation-*:2.3.0-alpha06 প্রকাশিত হয়েছে। ( সংস্করণ 2.3.0-alpha06-এ এই কমিট রয়েছে। )

নতুন বৈশিষ্ট

  • app:uri ছাড়াও app:action এবং app:mimeType সমর্থন করার জন্য ডিপ লিঙ্কিং প্রসারিত করা হয়েছে। NavController এখন নতুন NavDeepLinkRequest ক্লাসের মাধ্যমে এই ক্ষেত্রগুলির যেকোন সংমিশ্রণে নেভিগেট করা সমর্থন করে। ( b/136573074 , b/135334841 )

এপিআই পরিবর্তন

  • ডায়নামিক নেভিগেশন গন্তব্যের জন্য Kotlin DSL সমর্থন ব্যাপকভাবে প্রসারিত করেছে। ( b/148969800 )

বাগ ফিক্স

  • একটি সমস্যা সমাধান করা হয়েছে যেখানে একটি নেস্টেড স্টার্ট গন্তব্য ব্যবহার করার সময় গভীর লিঙ্ক ইন্টেন্টগুলি উপেক্ষা করা হবে। ( b/154532067 )

সংস্করণ 2.3.0-alpha05

এপ্রিল 15, 2020

androidx.navigation:navigation-*:2.3.0-alpha05 প্রকাশিত হয়েছে। সংস্করণ 2.3.0-alpha05 এই কমিট ধারণ করে।

নতুন বৈশিষ্ট

  • ডাইনামিক গ্রাফের জন্য <include-dynamic> ব্যবহার করে, আপনাকে আর app:graphPackage নির্দিষ্ট করতে হবে না এবং একটি ডিফল্ট একটি ডট পরে applicationIdmoduleName প্রত্যয় যোগ করে ব্যবহার করা হবে। আপনার graphPackage কাস্টমাইজ করার প্রয়োজন হলে, একটি ${applicationId} স্থানধারক এখন সমর্থিত। ( b/152696768 )
  • ন্যাভিগেশন গ্রাফ কোটলিন ডিএসএল এখন ক্রিয়াগুলির জন্য একটি defaultArguments Map প্রকাশ করে, নেভিগেশন XML ফাইলগুলিতে <action> উপাদানগুলিতে ডিফল্ট মান সেট করার ক্ষমতাকে মিরর করে। ( b/150345605 )

বাগ ফিক্স

  • ন্যাভিগেশন 2.2.2 থেকে : যখন আপনার কার্যকলাপে একাধিক NavHostFragment দৃষ্টান্ত থাকে তখন আপনার গ্রাফের শুরুর গন্তব্যের সাথে গভীর লিঙ্ক করার সময় একটি IllegalStateException সংশোধন করা হয়। ( b/147378752 )

নির্ভরতা আপডেট

সংস্করণ 2.3.0-alpha04

18 মার্চ, 2020

androidx.navigation:navigation-*:2.3.0-alpha04 প্রকাশিত হয়েছে। সংস্করণ 2.3.0-alpha04 এই কমিট ধারণ করে।

নতুন বৈশিষ্ট

  • ন্যাভিগেশন Kotlin DSL-এ বৈশিষ্ট্য মডিউল কার্যকলাপ এবং খণ্ড গন্তব্যের জন্য সমর্থন যোগ করা হয়েছে। ( b/148969800 )

এপিআই পরিবর্তন

  • DynamicExtras ক্লাস আর বিল্ডার প্যাটার্ন ব্যবহার করে না এবং এখন সরাসরি তৈরি করা যেতে পারে। ( aosp/1253671 )
  • DynamicActivityNavigator এখন একটি Activity পরিবর্তে তার কন্সট্রাক্টরে একটি Context নেয়। ( aosp/1250252 )

বাগ ফিক্স

  • NavigationUI আর খালি লেবেলকে উপেক্ষা করে না (অর্থাৎ, android:label=”” ) সহ একটি গন্তব্য এবং এখন সঠিকভাবে একটি খালি স্ট্রিং-এ শিরোনাম সেট করে। ( b/148679860 )

নির্ভরতা আপডেট

  • নেভিগেশন ডাইনামিক ফিচারের আর্টিফ্যাক্ট এখন প্লে কোর 1.6.5 এর উপর নির্ভর করে। ( b/149556401 )

সংস্করণ 2.3.0-alpha03

4 মার্চ, 2020

androidx.navigation:navigation-*:2.3.0-alpha03 প্রকাশিত হয়েছে। 2.3.0-alpha03 সংস্করণে এই কমিট রয়েছে।

এপিআই পরিবর্তন

  • কংক্রিট DrawerLayout ক্লাসের উপর নির্ভর করার পরিবর্তে, AppBarConfiguration এখন CustomView 1.1.0-alpha02 এ চালু করা Openable ইন্টারফেস ব্যবহার করে (যা DrawerLayout 1.1.0-alpha04 হিসাবে প্রয়োগ করে), আপনাকে NavigationUI সাথে Openable এর কাস্টম বাস্তবায়ন ব্যবহার করতে দেয়। ( b/129030452 )

বাগ ফিক্স

  • navigation-common-ktx ProGuard নিয়মগুলি এখন সঠিকভাবে শুধুমাত্র NavArgs ক্লাসগুলি রাখে যা সমস্ত NavArgs উদাহরণের পরিবর্তে ব্যবহৃত হয়। ( b/150213558 )

নির্ভরতা পরিবর্তন

  • ন্যাভিগেশন কোর 1.2.0 এর উপর তার নির্ভরতা ফিরিয়ে দিয়েছে এবং এখন কোর 1.1.0 এর উপর নির্ভর করে যাতে ডেভেলপারদেরকে একটি নতুন নির্ভরতার দিকে যেতে বাধ্য করা না হয় যখন নেভিগেশন কোর 1.2.0 -তে কোনো নতুন API-এর উপর নির্ভর করে না।

সংস্করণ 2.3.0-alpha02

ফেব্রুয়ারী 19, 2020

androidx.navigation:navigation-*:2.3.0-alpha02 প্রকাশিত হয়েছে। সংস্করণ 2.3.0-alpha02 এই কমিট ধারণ করে।

নতুন বৈশিষ্ট

  • NavBackStackEntry এখন আপনাকে একটি নির্দিষ্ট ব্যাক স্ট্যাক এন্ট্রির সাথে যুক্ত হওয়া উচিত অল্প পরিমাণে সংরক্ষিত অবস্থা সংরক্ষণের জন্য উপযুক্ত একটি SavedStateHandle অ্যাক্সেস করার অনুমতি দেয়। একটি উদাহরণ ব্যবহারের ক্ষেত্রে ফলাফল প্রদান দেখুন। ( b/79672220 )

এপিআই পরিবর্তন

  • বর্তমান এবং পূর্ববর্তী গন্তব্যগুলির জন্য একটি NavBackStackEntry পুনরুদ্ধার করা সহজ করার জন্য getCurrentBackStackEntry() এবং getPreviousBackStackEntry() এর সুবিধার পদ্ধতিগুলি যোগ করা হয়েছে৷ ( b/79672220 )

বাগ ফিক্স

  • navigateUp() এখন আপনার নিজস্ব টাস্ক স্ট্যাকে আপনার অ্যাপ চালু করার সময় বর্তমান গন্তব্যের আর্গুমেন্ট এবং KEY_DEEP_LINK_INTENT পূর্ববর্তী গন্তব্যে পাস করে। ( b/147456890 )

নির্ভরতা পরিবর্তন

  • নেভিগেশন এখন কোর 1.2.0 এর উপর নির্ভর করে।

সংস্করণ 2.3.0-alpha01

ফেব্রুয়ারি 5, 2020

androidx.navigation:navigation-*:2.3.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 2.3.0-alpha01-এ এই কমিট রয়েছে

নতুন বৈশিষ্ট

  • নতুন navigation-testing নিদর্শন একটি TestNavHostController ক্লাস প্রদান করে। এই শ্রেণীটি ন্যাভিগেশন পরীক্ষা করার সময় একটি মক NavController ব্যবহার করার একটি বিকল্প প্রদান করে যা আপনাকে বর্তমান গন্তব্য সেট করতে এবং নেভিগেশন অপারেশনের পরে ব্যাক স্ট্যাক যাচাই করতে দেয়। ( b/140884273 )
  • নতুন navigation-dynamic-features-fragment (এবং এর ট্রানজিটিভ নির্ভরতা, নেভিগেশন- <include-dynamic> navigation-dynamic-features-runtime ) আপনাকে বৈশিষ্ট্য মডিউল থেকে গন্তব্য বা সমগ্র নেভিগেশন গ্রাফ অন্তর্ভুক্ত করতে দেয়, যা অন-এর বিরামহীন ইনস্টলেশন প্রদান করে। সেই গন্তব্যগুলিতে নেভিগেট করার সময় বৈশিষ্ট্য মডিউলগুলির চাহিদা। আরও তথ্যের জন্য বৈশিষ্ট্য মডিউল সহ নেভিগেট দেখুন। ( b/132170186 )

বাগ ফিক্স

  • ন্যাভিগেশন 2.2.1 থেকে : ক্যোয়ারী প্যারামিটার ছাড়া ডিপ লিঙ্কগুলি এখন সঠিকভাবে যেকোন কোয়েরি প্যারামিটারকে অগ্রাহ্য করে না বরং তাদের ট্রেলিং {argument} উপাদানে যুক্ত করা বা ডিপ লিঙ্কের সাথে মেলে না। ( b/147447512 )
  • নেভিগেশন 2.2.1 থেকে : android.enableJetifier=true প্রয়োজন নেই তা নিশ্চিত করার জন্য DrawerArrowDrawable এর navigation-ui ProGuard নিয়মগুলি আপডেট করা হয়েছে। ( b/147610424 )
  • ন্যাভিগেশন 2.2.1 থেকে : navigation-common-ktx মডিউলে এখন navigation-runtime-ktx হিসাবে একই ম্যানিফেস্ট প্যাকেজ নাম ভাগ করার পরিবর্তে একটি অনন্য ম্যানিফেস্ট প্যাকেজ নাম রয়েছে। ( aosp/1141947 )

নির্ভরতা আপডেট

সংস্করণ 2.2.2

সংস্করণ 2.2.2

এপ্রিল 15, 2020

androidx.navigation:navigation-*:2.2.2 প্রকাশিত হয়েছে। সংস্করণ 2.2.2-এ এই কমিট রয়েছে।

বাগ ফিক্স

  • আপনার কার্যকলাপে একাধিক NavHostFragment দৃষ্টান্ত থাকলে আপনার গ্রাফের শুরুর গন্তব্যের সাথে গভীর লিঙ্ক করার সময় একটি IllegalStateException সংশোধন করা হয়েছে। ( b/147378752 )
  • NavigationUI আর খালি লেবেলকে উপেক্ষা করে না (অর্থাৎ, android:label=”” ) সহ একটি গন্তব্য এবং এখন সঠিকভাবে একটি খালি স্ট্রিং-এ শিরোনাম সেট করে। এটি পূর্বে নেভিগেশন 2.3.0-alpha04 এ প্রকাশিত হয়েছিল। ( b/148679860 )
  • navigation-common-ktx ProGuard নিয়মগুলি এখন সঠিকভাবে শুধুমাত্র NavArgs ক্লাসগুলি রাখে যা সমস্ত NavArgs উদাহরণের পরিবর্তে ব্যবহৃত হয়। এটি পূর্বে নেভিগেশন 2.3.0-alpha03 এ প্রকাশিত হয়েছিল। ( b/150213558

নির্ভরতা আপডেট

সংস্করণ 2.2.1

সংস্করণ 2.2.1

ফেব্রুয়ারি 5, 2020

androidx.navigation:navigation-*:2.2.1 প্রকাশিত হয়েছে। সংস্করণ 2.2.1-এ এই কমিটগুলি রয়েছে

বাগ ফিক্স

  • ক্যোয়ারী প্যারামিটার ছাড়া ডিপ লিঙ্কগুলি এখন সঠিকভাবে যেকোন কোয়েরি প্যারামিটারকে উপেক্ষা করে না বরং তাদের পিছনের {argument} এলিমেন্টে যুক্ত করা বা ডিপ লিঙ্কের সাথে মেলে না। ( b/147447512 )
  • android.enableJetifier=true প্রয়োজন নেই তা নিশ্চিত করতে DrawerArrowDrawable এর জন্য navigation-ui ProGuard নিয়মগুলি আপডেট করা হয়েছে। ( b/147610424 )
  • navigation-common-ktx মডিউলে এখন navigation-runtime-ktx হিসাবে একই ম্যানিফেস্ট প্যাকেজ নাম ভাগ করার পরিবর্তে একটি অনন্য ম্যানিফেস্ট প্যাকেজ নাম রয়েছে। ( aosp/1141947 )

নির্ভরতা আপডেট

সংস্করণ 2.2.0

সংস্করণ 2.2.0

জানুয়ারী 22, 2020

androidx.navigation:navigation-*:2.2.0 প্রকাশিত হয়েছে। সংস্করণ 2.2.0-এ এই কমিট রয়েছে

2.1.0 থেকে গুরুত্বপূর্ণ পরিবর্তন

  • NavBackStackEntry : আপনি এখন NavController.getBackStackEntry() কল করতে পারেন, একটি গন্তব্যের আইডি বা পিছনের স্ট্যাকের নেভিগেশন গ্রাফে পাস করে। ফেরত দেওয়া NavBackStackEntry একটি নেভিগেশন-চালিত LifecycleOwner , ViewModelStoreOwner ( NavController.getViewModelStoreOwner() ), এবং SavedStateRegistryOwner প্রদান করে, সেই গন্তব্য শুরু করতে ব্যবহৃত আর্গুমেন্টগুলি প্রদান করার পাশাপাশি।
  • Lifecycle ViewModel SavedState ইন্টিগ্রেশন : SavedStateViewModelFactory এখন একটি ডিফল্ট ফ্যাক্টরি যা by navGraphViewModels() বা ViewModelProvider কনস্ট্রাক্টর ব্যবহার করার সময় একটি ViewModelStoreOwner দিয়ে যা NavController.getBackStackEntry() বা NavController.getViewModelStoreOwner() .
  • ডিপ লিঙ্কের জন্য ক্যোয়ারী প্যারামিটার সমর্থন : ক্যোয়ারী প্যারামিটার সহ ডিপ লিঙ্কগুলি এখন পুনরায় সাজানো ক্যোয়ারী প্যারামিটার সমর্থন করে; যে আর্গুমেন্টগুলির একটি ডিফল্ট মান আছে বা বাতিলযোগ্য সেগুলি এখন ডিপ লিঙ্কগুলির সাথে মিলে যাওয়ার সময় ঐচ্ছিক৷
  • উন্নত অ্যানিমেশন সমর্থন : NavHostFragment এখন ফ্র্যাগমেন্ট 1.2.0 থেকে FragmentContainerView ব্যবহার করে, অ্যানিমেশন z-অর্ডারিং সমস্যা এবং উইন্ডো ইনসেটগুলি ফ্র্যাগমেন্টে পাঠানোর সমাধান করে।

সংস্করণ 2.2.0-rc04

18 ডিসেম্বর, 2019

androidx.navigation:navigation-*:2.2.0-rc04 প্রকাশিত হয়েছে। সংস্করণ 2.2.0-rc04-এ এই কমিট রয়েছে

বাগ ফিক্স

  • ফ্র্যাগমেন্ট 1.2.0-rc04 এ অ্যাডজাস্ট করা ফেইড অ্যানিমেশনগুলির সাথে মেলে navigation-ui দ্বারা ব্যবহৃত ডিফল্ট ফেড অ্যানিমেশনগুলি সামঞ্জস্য করা হয়েছে। ( b/145769814 )

সংস্করণ 2.2.0-rc03

4 ডিসেম্বর, 2019

androidx.navigation:navigation-*:2.2.0-rc03 প্রকাশিত হয়েছে। 2.2.0-rc03 সংস্করণে এই কমিটগুলি রয়েছে

বাগ ফিক্স

  • ক্যোয়ারী প্যারামিটার এবং পাথের শেষ অংশ হিসেবে একটি আর্গুমেন্ট ব্যবহার করার সময় গভীর লিঙ্ক পার্সিং এর একটি সমস্যা সমাধান করা হয়েছে যা চূড়ান্ত পাথ আর্গুমেন্টের একাধিক অক্ষরকে পার্স করা থেকে বাধা দেয়। ( b/144554689 )
  • গভীর লিঙ্ক পার্সিংয়ের সাথে একটি সমস্যা সমাধান করা হয়েছে যেখানে ঐচ্ছিক প্যারামিটার null এর পরিবর্তে "@null" পাবে। ( b/141613546 )
  • FragmentContainerView এর সাথে ব্যবহার করার সময় NavHostFragment এখন কনফিগারেশন পরিবর্তনের পরে সঠিকভাবে গ্রাফটিকে পুনরুদ্ধার করে। ( b/143752103 )

নির্ভরতা পরিবর্তন

  • নেভিগেশন এখন নির্ভর করে Lifecycle 2.2.0-rc03 , Lifecycle ViewModel SavedState 1.0.0-rc03 , Activity 1.1.0-rc03 , এবং ফ্র্যাগমেন্ট 1.2.0-rc03 যেখানে উপযুক্ত।

সংস্করণ 2.2.0-rc02

নভেম্বর 7, 2019

androidx.navigation:navigation-*:2.2.0-rc02 প্রকাশিত হয়েছে। সংস্করণ 2.2.0-rc02-এ এই কমিট রয়েছে

নির্ভরতা পরিবর্তন

  • নেভিগেশন এখন androidx.lifecycle 2.2.0-rc02 এর উপর নির্ভর করে।

সংস্করণ 2.2.0-rc01

23 অক্টোবর, 2019

androidx.navigation:navigation-*:2.2.0-rc01 2.2.0-beta01 থেকে কোনো পরিবর্তন ছাড়াই প্রকাশ করা হয়েছে। সংস্করণ 2.2.0-rc01-এ এই কমিট রয়েছে

সংস্করণ 2.2.0-beta01

9 অক্টোবর, 2019

androidx.navigation:navigation-*:2.2.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 2.2.0-beta01-এ এই কমিট রয়েছে

নতুন বৈশিষ্ট

  • ডিবাগ করার সময় আরও সহায়ক তথ্য প্রদান করতে NavDestination এবং এর সাবক্লাসগুলি এখন toString() ওভাররাইড করে। ( b/141264986 )

আচরণ পরিবর্তন

  • অতিরিক্ত ক্যোয়ারী প্যারামিটারগুলি এখন উপেক্ষা করা হয় যখন ম্যাচটি ব্যর্থ হওয়ার পরিবর্তে গভীর লিঙ্কগুলি মেলে। ( b/141482822 )

বাগ ফিক্স

  • একটি সমস্যা সমাধান করা হয়েছে যেখানে একটি গভীর লিঙ্কের পথের আর্গুমেন্টগুলি উপেক্ষা করা হবে যদি ক্যোয়ারী প্যারামিটারগুলিও নির্দিষ্ট করা হয়। ( b/141505755 )
  • Activity -এ navArgs() Kotlin এক্সটেনশনে এখন একটি ভাল ত্রুটি বার্তা রয়েছে যখন কোনও অতিরিক্ত নেই৷ ( b/141408999 )
  • সেফ আর্গস জেনারেট করা Directions জাভা ক্লাসে এখন ডিফল্ট মান রয়েছে। ( b/141099045 )
  • Safe Args তৈরি করা Args Java ক্লাসে এখন ডিফল্ট মান রয়েছে। ( b/140123727 )
  • একটি Toolbar ব্যবহার করার সময়, NavigationUI দুটি শীর্ষ স্তরের গন্তব্যের মধ্যে যাওয়ার সময় পাঠ্য পরিবর্তনকে আর অ্যানিমেট করে না। ( b/140848160 )

সংস্করণ 2.2.0-alpha03

সেপ্টেম্বর 18, 2019

androidx.navigation:navigation-*:2.2.0-alpha03 প্রকাশিত হয়েছে। সংস্করণ 2.2.0-alpha03-এ এই কমিট রয়েছে

আচরণ পরিবর্তন

  • setGraph কল করার পরে setViewModelStore() কে কল করলে এখন একটি IllegalStateException হয়। এটি সর্বদা NavHost দ্বারা প্রাথমিক সেটআপের অংশ হিসাবে সেট করা উচিত যাতে নিশ্চিত করা যায় যে সমস্ত NavBackStackEntry দৃষ্টান্তে ViewModel দৃষ্টান্তগুলির জন্য একটি সামঞ্জস্যপূর্ণ স্টোরেজ রয়েছে৷ ( aosp/1111821 )

বাগ ফিক্স

  • একাধিক ভিন্ন নেভিগেশন গ্রাফ স্কোপড ViewModelStore দৃষ্টান্তগুলির সাথে সংযুক্ত ViewModel দৃষ্টান্তগুলি ব্যবহার করার সময় একটি ConcurrentModificationException স্থির করা হয়েছে৷ ( aosp/1112257 )

সংস্করণ 2.2.0-alpha02

5 সেপ্টেম্বর, 2019

androidx.navigation:navigation-*:2.2.0-alpha02 প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।

নতুন বৈশিষ্ট

  • ক্যোয়ারী প্যারামিটারের সাথে গভীর লিঙ্কগুলি এখন পুনরায় সাজানো ক্যোয়ারী প্যারামিটার সমর্থন করে; যে আর্গুমেন্টগুলির একটি ডিফল্ট মান আছে বা বাতিলযোগ্য সেগুলি এখন ডিপ লিঙ্কগুলির সাথে মিলে যাওয়ার সময় ঐচ্ছিক৷ ( b/133273839 )
  • আপনি এখন NavController.getBackStackEntry() কল করতে পারেন, একটি গন্তব্যের আইডি বা পিছনের স্ট্যাকের নেভিগেশন গ্রাফে পাস করে। ফেরত দেওয়া NavBackStackEntry একটি নেভিগেশন-চালিত LifecycleOwner , ViewModelStoreOwner ( NavController.getViewModelStoreOwner() ), এবং SavedStateRegistryOwner প্রদান করে, সেই গন্তব্য শুরু করতে ব্যবহৃত আর্গুমেন্টগুলি প্রদান করার পাশাপাশি। ( aosp/1101691 , aosp/1101710 )

বাগ ফিক্স

  • একটি সমস্যা সমাধান করা হয়েছে যেখানে ViewPager2 এ একটি NavHostFragment যোগ করা একটি IllegalArgumentException এর সাথে ব্যর্থ হয়েছে। ( b/133640271 )
  • NavInflater এখন getResourceName() অপ্রয়োজনীয়ভাবে কল করা এড়িয়ে যায়, মুদ্রাস্ফীতির সময়কে 40% পর্যন্ত গতি দেয়। ( b/139213740 )

সংস্করণ 2.2.0-alpha01

7 আগস্ট, 2019

androidx.navigation:navigation-*:2.2.0-alpha01 প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।

নতুন বৈশিষ্ট

  • NavController.getViewModelStoreOwner() দ্বারা প্রত্যাবর্তিত ViewModelStoreOwner সহ by navGraphViewModels() বা ViewModelProvider কনস্ট্রাক্টর ব্যবহার করার সময় SavedStateViewModelFactory হল ডিফল্ট ফ্যাক্টরি। ( b/135716331 )

এপিআই পরিবর্তন

বাগ ফিক্স

  • NavHostFragment এখন FragmentContainerView ব্যবহার করে, অ্যানিমেশন z-অর্ডারিং সমস্যার সমাধান করে এবং উইন্ডো ইনসেটগুলি ফ্র্যাগমেন্টে প্রেরণ করে। ( b/137310379 )

সংস্করণ 2.1.0

সংস্করণ 2.1.0

5 সেপ্টেম্বর, 2019

androidx.navigation:navigation-*:2.1.0 প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।

2.0.0 থেকে গুরুত্বপূর্ণ পরিবর্তন

  • একটি নেভিগেশন গ্রাফে ViewModels স্কোপিং : আপনি এখন ViewModels তৈরি করতে পারেন যা নেভিগেশন গ্রাফ স্তরে স্কোপ করা হয়েছে by navGraphViewModels() প্রপার্টি প্রতিনিধি ব্যবহার করে Kotlin ব্যবহারকারীদের জন্য -ktx লাইব্রেরি ব্যবহার করে অথবা NavController এ যোগ করা getViewModelStoreOwner() API ব্যবহার করে। আরও তথ্যের জন্য গন্তব্যগুলির মধ্যে UI- সম্পর্কিত ডেটা ভাগ করুন দেখুন৷
  • ডায়ালগ গন্তব্য : আপনি এখন <dialog> গন্তব্যগুলি তৈরি করতে পারেন যা একটি DialogFragment দেখাবে যখন আপনি সেগুলিতে navigateNavHostFragment ডিফল্টরূপে ডায়ালগ গন্তব্য সমর্থন করে। আরও তথ্যের জন্য ডায়ালগ ফ্র্যাগমেন্ট থেকে একটি গন্তব্য তৈরি করুন দেখুন।
  • Uri দ্বারা নেভিগেট করা : আপনি এখন একটি Uri ব্যবহার করে navigate করতে পারেন, যা সেখানে নেভিগেট করার জন্য আপনার গন্তব্যে যোগ করা <deepLink> ব্যবহার করে। আরও তথ্যের জন্য Uri ব্যবহার করে নেভিগেট দেখুন।
  • NavHostController : একটি কাস্টম NavHost নির্মাণের জন্য বিশেষভাবে ব্যবহৃত APIগুলিকে NavHostController এ স্থানান্তরিত করা হয়েছে, যা বাস্তবায়নকে তাদের NavController হোস্টিং LifecycleOwner , OnBackPressedDispatcher , এবং ViewModelStore এর সাথে সংযুক্ত করার অনুমতি দেয়।

সংস্করণ 2.1.0-rc01

7 আগস্ট, 2019

androidx.navigation:navigation-*:2.1.0-rc01 প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।

এপিআই পরিবর্তন

  • 2.1.0-alpha02 এ প্রবর্তিত NavController এ অবচিত getViewModelStore() API সরানো হয়েছে। ( aosp/1091021 )

সংস্করণ 2.1.0-beta02

জুলাই 19, 2019

androidx.navigation:*:2.1.0-beta02 প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।

বাগ ফিক্স

  • 2.1.0-beta01 এ প্রবর্তিত অনিচ্ছাকৃত জ্যাকোকো নির্ভরতা সরানো হয়েছে। ( b/137782950 )

সংস্করণ 2.1.0-beta01

জুলাই 17, 2019

androidx.navigation:*:2.1.0-beta01 প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।

নতুন বৈশিষ্ট

  • একটি Toolbar বা CollapsingToolbarLayout এর সাথে setupWithNavController() ব্যবহার করার সময় NavigationUI এখন আপ বোতামটি অপসারণকে অ্যানিমেট করে। ( b/131403621 )

বাগ ফিক্স

  • findNavController() এর সাথে একই ধারক সহ একাধিক NavHostFragments ব্যবহার করার সময় একটি সময় সমস্যা সমাধান করা হয়েছে। ( b/136021571 )

সংস্করণ 2.1.0-alpha06

জুলাই 2, 2019

androidx.navigation:*:2.1.0-alpha06 প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।

নতুন বৈশিষ্ট

  • NavHostFragment দ্বারা ব্যবহৃত app:navGraph বৈশিষ্ট্যটি এখন navigation-runtime আর্টিফ্যাক্টে সরানো হয়েছে। কাস্টম নেভিগেটর যেগুলি XML এর মাধ্যমে যোগ করা যেতে পারে তাদের নেভিগেশন এডিটরের হোস্ট প্যানেলের সাথে একীকরণ পেতে এই বৈশিষ্ট্যটি ব্যবহার করা উচিত। ( b/133880955 )

এপিআই পরিবর্তন

  • NavControllergetViewModelStore() API-কে নতুন getViewModelStoreOwner() পদ্ধতির অনুকূলে বাতিল করা হয়েছে যা একটি ViewModelStoreOwner প্রদান করে। ( aosp/987010 )
  • ফ্লোটিং উইন্ডো গন্তব্যের বাস্তবায়ন, যেমন <dialog> গন্তব্য, একটি মার্কার ইন্টারফেসে সাধারণীকরণ করা হয়েছে, FloatingWindow , যেটি এখন সমস্ত <dialog> গন্তব্য বাস্তবায়ন করে। শীর্ষ অ্যাপ বারের সাথে ইন্টারঅ্যাক্ট করার জন্য নেভিগেশনইউআই পদ্ধতিগুলি এখন FloatingWindow গন্তব্যগুলিকে উপেক্ষা করে। ( b/133600763 )

আচরণ পরিবর্তন

  • একটি <dialog> গন্তব্য ব্যবহার করার সময় স্ক্রীনে যা দেখা যায় তার সাথে ন্যাভিগেশন এখন সঠিকভাবে তার অবস্থাকে সিঙ্ক করে রাখে। ফলস্বরূপ, ন্যাভিগেশন এখন স্বয়ংক্রিয়ভাবে <dialog> গন্তব্যগুলি পপ করে যখন আপনি একটি নন-ডায়ালগ এবং নন-অ্যাক্টিভিটি গন্তব্যে নেভিগেট করেন, যেমন একটি <fragment> গন্তব্য। ( b/134089818 )

বাগ ফিক্স

  • নেভিগেশন এখন অ্যানিমেশনকে দমন করে যা একটি গভীর লিঙ্ক পরিচালনা করার সময়, একটি ভিজ্যুয়াল ফ্ল্যাশ ঠিক করার সময় কার্যকলাপটি পুনরায় তৈরি করার সময় ঘটে। ( b/130362979 )
  • একটি বাগ সংশোধন করা হয়েছে যেখানে একটি ফ্র্যাগমেন্ট পপ করার সময় ন্যাভিগেশন ব্যাক স্ট্যাক সিঙ্কের বাইরে থাকবে কারণ প্রাথমিক খণ্ডটি যোগ করা হচ্ছে। ( b/133832218 )

সংস্করণ 2.1.0-alpha05

জুন 5, 2019

androidx.navigation:*:2.1.0-alpha05 প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।

এপিআই পরিবর্তন

  • NavController এ হোস্ট সম্পর্কিত API-গুলির নাম পরিবর্তন করা হয়েছে এবং NavController , NavHostController এর একটি নতুন উপশ্রেণীতে স্থানান্তরিত করা হয়েছে। ( aosp/966091 )
  • NavController setHostOnBackPressedDispatcherOwner() পদ্ধতিটি NavHostController এর setOnBackPressedDispatcher() পদ্ধতিতে প্রতিস্থাপিত হয়েছে এবং এখন এটিকে কল করার আগে setLifecycleOwner() কল করতে হবে। ( aosp/965409 )
  • NavHostController এখন একটি enableOnBackPressed(boolean) পদ্ধতি রয়েছে যা NavHostOnBackPressedManager ক্লাস প্রতিস্থাপন করে যা পূর্বে setHostOnBackPressedDispatcherOwner() দ্বারা ফেরত দেওয়া হয়েছিল। ( aosp/966091 )

বাগ ফিক্স

  • URI দ্বারা নেভিগেট করার পরে ব্যাক স্ট্যাক সঠিক ছিল না এমন একটি সমস্যা সমাধান করা হয়েছে। ( b/132509387 )
  • NavController দ্বারা স্বয়ংক্রিয়ভাবে পরিচালিত গভীর লিঙ্কগুলি এখন শুধুমাত্র একবার ট্রিগার করে। ( b/132754763 )

সংস্করণ 2.1.0-alpha04

16 মে, 2019

androidx.navigation:*:2.1.0-alpha04 প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।

বাগ ফিক্স

  • NavHostFragment সঠিকভাবে app:defaultNavHost সম্মান করে যখন সিস্টেম ব্যাক বোতাম ইভেন্টগুলিকে বাধা দেয়, নেভিগেশন 2.1.0-alpha03 এ রিগ্রেশন ঠিক করে। b/132077777
  • DialogFragmentNavigator এখন সঠিকভাবে popBackStack() এবং navigateUp() অপারেশন পরিচালনা করে। b/132576764
  • একটি IllegalStateException: unknown destination during restore যখন নেস্টেড গ্রাফগুলির মধ্যে বারবার নেভিগেট করা হয়। b/131733658

সংস্করণ 2.1.0-alpha03

7 মে, 2019

androidx.navigation:*:2.1.0-alpha03 প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।

জ্ঞাত সমস্যা

নতুন বৈশিষ্ট

  • আপনি এখন <dialog> গন্তব্যগুলি তৈরি করতে পারেন যা একটি DialogFragment দেখাবে যখন আপনি সেগুলিতে navigateNavHostFragment ডিফল্টরূপে ডায়ালগ গন্তব্য সমর্থন করে। b/80267254
  • একটি রিসোর্স আইডি বা একটি NavDirections উদাহরণ দিয়ে navigate কল করার পাশাপাশি, আপনি এখন একটি Uri এর মাধ্যমে নেভিগেট করতে পারেন, যা সঠিক গন্তব্যে নেভিগেট করার জন্য একটি গন্তব্যে যোগ করা <deepLink> ব্যবহার করে। b/110412864

আচরণ পরিবর্তন

  • ক্রিয়াকলাপ এবং টুকরোগুলির ডিফল্ট অ্যানিমেশন গতির সাথে মেলে নেভিগেশনইউআই দ্বারা প্রদত্ত ডিফল্ট অ্যানিমেশনগুলি 400ms থেকে 220ms পর্যন্ত বৃদ্ধি করা হয়েছে৷ b/130055522

এপিআই পরিবর্তন

  • NavHostFragment এর createFragmentNavigator() পদ্ধতিটি অবমূল্যায়িত করা হয়েছে এবং এর কার্যকারিতা নতুন onCreateNavController() পদ্ধতিতে স্থানান্তরিত হয়েছে যাতে এটি আরও স্পষ্ট হয় যে NavHostFragment সাবক্লাস করার সময় এটি কাস্টম নেভিগেটর যোগ করার সঠিক এন্ট্রি পয়েন্ট। b/122802849
  • একটি hasDeepLink() পদ্ধতি NavDestination এ যোগ করা হয়েছে যাতে আপনি একটি প্রদত্ত Uri সেই গন্তব্যের দ্বারা পরিচালনা করা যায় কিনা বা, একটি NavGraph এর ক্ষেত্রে, নেভিগেশন গ্রাফের যেকোন গন্তব্যটি পরীক্ষা করতে পারবেন। b/117437718

বাগ ফিক্স

  • ডিফল্ট আর্গুমেন্ট এখন সঠিকভাবে OnDestinationChangedListener ইনস্ট্যান্সে পাঠানো হয়েছে। b/130630686
  • NavHostFragment এখন OnBackPressedDispatcher ব্যবহার করে সিস্টেম ব্যাক ইভেন্টগুলিকে বাধা দেয়, ফ্র্যাগমেন্টে ফিরে আসার পরে ফ্র্যাগমেন্ট লাইফসাইকেল পদ্ধতিতে শর্তসাপেক্ষ নেভিগেশন করার সময় একটি সমস্যা সমাধান করে। b/111598096
  • Safe Args-এর জন্য, একটি android:defaultValue=”@null” একটি অনির্দিষ্ট app:argType এখন string আর্গুমেন্ট হিসেবে সঠিকভাবে অনুমান করা হয়েছে। b/129629192

সংস্করণ 2.1.0-alpha02

3 এপ্রিল, 2019

androidx.navigation:*:2.1.0-alpha02 প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।

নতুন বৈশিষ্ট

  • আপনি এখন Kotlin ব্যবহারকারীদের জন্য by navGraphViewModels() প্রপার্টি ডেলিগেটের মাধ্যমে অথবা NavController এ যোগ করা getViewModelStore() API ব্যবহার করে নেভিগেশন গ্রাফ স্তরে স্কোপ করা ViewModels তৈরি করতে পারেন। b/111614463

এপিআই পরিবর্তন

  • আপনি এখন একটি app:targetPackage যোগ করতে পারেন একটি <activity> গন্তব্যে প্যাকেজের নাম সীমিত করতে। প্যাকেজটিকে আপনার নিজের অ্যাপ্লিকেশন আইডিতে সীমাবদ্ধ করার জন্য এটি app:targetPackage="${applicationId}" সমর্থন করে৷ b/110975456

বাগ ফিক্স

  • গতিশীল বৈশিষ্ট্য ব্যবহার করার সময় ClassNotFoundExceptions প্রতিরোধ করে, <activity> গন্তব্যগুলির জন্য android:name আর মুদ্রাস্ফীতির সময়ে একটি ক্লাসে পার্স করা হয় না। b/124538597

সংস্করণ 2.1.0-alpha01

মার্চ 19, 2019

এটি নেভিগেশন 2.1.0 এর প্রথম আলফা রিলিজ।

নির্ভরতা পরিবর্তন

  • নেভিগেশন এখন androidx.core:core:1.0.1 এবং androidx.fragment:fragment:1.1.0-alpha05 এর উপর নির্ভর করে। এই রিলিজটি androidx.legacy:legacy-support-core-utils:1.0.0 এর উপর নির্ভরতাও সরিয়ে দেয়। b/128632612

এপিআই পরিবর্তন

  • একটি নতুন Navigation.createNavigateOnClickListener(NavDirections) পদ্ধতি একটি রিসোর্স আইডি এবং বান্ডেল সহ একটি ক্লিক শ্রোতা তৈরির বিকল্প হিসেবে যোগ করা হয়েছে। b/127631752
  • FragmentNavigator.instantiateFragment এখন অবহেলিত। ডিফল্ট বাস্তবায়ন এখন FragmentFactory ব্যবহার করে ফ্র্যাগমেন্টকে ইনস্ট্যান্টিয়েট করতে। b/119054429

বাগ ফিক্স

  • android:defaultValue="@null" ব্যবহার করার সময় একটি সমস্যা সমাধান করে, গন্তব্যের সাথে যুক্ত আর্গুমেন্ট থাকলে নেভিগেশন আর একটি নাল Bundle পাঠায় না। b/128531879
  • নিরাপদ আর্গস এখন KotlinPoet 1.1.0 এর উপর নির্ভর করে, অত্যন্ত দীর্ঘ প্যাকেজ নামগুলির সাথে একটি সমস্যা সমাধান করে৷ b/123654948

সংস্করণ 2.0.0

সংস্করণ 2.0.0

14 মার্চ, 2019

নেভিগেশন 2.0.0 2.0.0-rc02 থেকে কোনো পরিবর্তন ছাড়াই প্রকাশ করা হয়েছে।

সংস্করণ 2.0.0-rc02

6 মার্চ, 2019

নেভিগেশন 2.0.0-rc02 androidx.navigation গ্রুপ আইডি সহ নতুন শিল্পকর্ম সরবরাহ করে এবং এর নির্ভরতাকে AndroidX সমতুল্যগুলিতে পরিবর্তন করে।

2.0.0-rc02-এর আচরণ নেভিগেশন 1.0.0-rc02-এর আচরণের অনুরূপ এবং নতুন নির্ভরতাগুলির সাথে মেলে আপনার নির্ভরতা আপডেট করার পাশাপাশি 1.0.0-rc02 থেকে আপডেট করার জন্য আপনার কোডে কোনো পরিবর্তনের প্রয়োজন হবে না।

নেভিগেশনের 2.X রিলিজগুলি ব্যবহার করতে আপনার প্রকল্প অবশ্যই AndroidX-এ স্থানান্তরিত হয়েছে ৷ সাপোর্ট লাইব্রেরি নির্ভরতা ব্যবহার করে নেভিগেশন 1.0 স্থিতিশীল শেষ রিলিজ হবে; 1.0 এর বাইরে সমস্ত ভবিষ্যত বিকাশ হবে AndroidX এর উপর ভিত্তি করে এবং 2.0 স্থিতিশীল রিলিজের উপর ভিত্তি করে তৈরি করা হবে।

প্রি-AndroidX নির্ভরতা

ন্যাভিগেশনের প্রাক-AndroidX সংস্করণগুলির জন্য, এই নির্ভরতাগুলি অন্তর্ভুক্ত করুন:

dependencies {
    def nav_version = "1.0.0"

    implementation "android.arch.navigation:navigation-fragment:$nav_version" // For Kotlin use navigation-fragment-ktx
    implementation "android.arch.navigation:navigation-ui:$nav_version" // For Kotlin use navigation-ui-ktx
}

Safe args- এর জন্য, আপনার শীর্ষ স্তরের build.gradle ফাইলে নিম্নলিখিত ক্লাসপাথ যোগ করুন

buildscript {
    repositories {
        google()
    }
    dependencies {
        classpath "android.arch.navigation:navigation-safe-args-gradle-plugin:1.0.0"
    }
}

সংস্করণ 1.0.0

সংস্করণ 1.0.0

14 মার্চ, 2019

নেভিগেশন 1.0.0 1.0.0-rc02 থেকে কোনো পরিবর্তন ছাড়াই প্রকাশ করা হয়েছে।

সংস্করণ 1.0.0-rc02

ফেব্রুয়ারী 26, 2019

এটি নেভিগেশন এর 1.0.0 স্থিতিশীল রিলিজের জন্য দ্বিতীয় রিলিজ প্রার্থী। এই রিলিজে অনেকগুলি বাগ ফিক্স রয়েছে৷

বাগ ফিক্স

  • একটি সমস্যা সমাধান করা হয়েছে যেখানে popBackStack() উপেক্ষা করা হবে যদি রুট গ্রাফে একটি আইডি b/126251695 না থাকে
  • navigateUp() এখন FLAG_ACTIVITY_NEW_TASK b/126082008 ছাড়া একটি গভীর লিঙ্ক পরিচালনা করার পরে কল করার সময় আপনার অ্যাপের টাস্কে নেভিগেট করা সঠিকভাবে পরিচালনা করে
  • ActivityNavigator.applyPopAnimationsToPendingTransition সঠিক পপ এক্সিট অ্যানিমেশন b/126237567 প্রয়োগ না করে একটি সমস্যা সমাধান করা হয়েছে
  • Safe Args দ্বারা জেনারেট করা Kotlin কোড এখন R ক্লাসের সাথে যুক্ত প্যাকেজ নামের মধ্যে in এবং fun মতো কোটলিন কীওয়ার্ডগুলিকে সঠিকভাবে এড়িয়ে যায়। b/126020455

সংস্করণ 1.0.0-rc01

21 ফেব্রুয়ারি, 2019

এটি নেভিগেশন এর 1.0.0 স্থিতিশীল প্রকাশের জন্য একটি রিলিজ প্রার্থী। এই রিলিজে একটি বাগ ফিক্স রয়েছে।

বাগ ফিক্স

  • ফ্র্যাগমেন্টস এবং singleTop নেভিগেশন অপারেশন b/124294805 ব্যবহার করার সময় একটি সমস্যা সমাধান করা হয়েছে

সংস্করণ 1.0.0-beta02

ফেব্রুয়ারি 12, 2019

এই রিলিজে বেশ কিছু ছোটখাটো উন্নতি এবং গুরুত্বপূর্ণ বাগ সংশোধন করা হয়েছে।

নতুন বৈশিষ্ট

  • আপনি এখন reference আর্গুমেন্টের জন্য একটি android:defaultValue হিসাবে 0 ব্যবহার করতে পারেন। b/124248602

আচরণ পরিবর্তন

  • সঠিক ডিপ লিঙ্ক মিলগুলিকে এখন .* b/123969518

বাগ ফিক্স

  • popBackStack() এবং navigateUp এখন সঠিকভাবে false রিটার্ন করে যখন ব্যাক স্ট্যাকে শেষ গন্তব্য পপ করে, 1.0.0-beta01 এ প্রবর্তিত একটি রিগ্রেশন ঠিক করে। b/123933201
  • ন্যাভিগেশন এখন সংরক্ষিত ইনস্ট্যান্স স্টেট পুনরুদ্ধারের সময় সঠিকভাবে ClassLoader সেট করে, Navigator সেভ করা অবস্থায় বা NavDestination এ পাঠানো আর্গুমেন্টে কাস্টম ক্লাস ব্যবহার করার সময় সমস্যাগুলি এড়িয়ে যায়। b/123893858
  • Safe Args জেনারেট করা NavArgs ক্লাসগুলি সংরক্ষিত ইনস্ট্যান্স স্টেট থেকে একটি Parcelable[] আর্গুমেন্ট পুনরুদ্ধার করার সময় আর ক্র্যাশ হয় না। b/123963545
  • সেফ আর্গস এখন সঠিকভাবে অপ্রয়োজনীয় জেনারেট করা কোটলিন ক্লাস পরিষ্কার করে। b/124120883

সংস্করণ 1.0.0-beta01

ফেব্রুয়ারি 4, 2019

এটি নেভিগেশনের প্রথম বিটা রিলিজ; সামনের দিকে অগ্রসর হলে, নেভিগেশন API পরবর্তী সংস্করণ পর্যন্ত স্থিতিশীল থাকবে বলে আশা করা হচ্ছে যদি না কোনো জটিল সমস্যা না হয়। এই রিলিজে কিছু বাগ ফিক্স এবং আচরণ পরিবর্তন রয়েছে।

আচরণ পরিবর্তন

  • ন্যাভিগেশন এখন নিশ্চিত করে যে আর্গুমেন্ট ডিফল্ট মান রানটাইমে এবং সেফ আর্গসের মাধ্যমে একইভাবে আচরণ করা হয়। ফলস্বরূপ, শুধুমাত্র একটি app:argType="reference" এর সাথে আর্গুমেন্টের ডিফল্ট মান পয়েন্ট থাকতে পারে অন্য রিসোর্সে (উদাহরণস্বরূপ, @color/colorPrimary )। একটি ভিন্ন app:argType নেভিগেশন XML পার্স করার সময় একটি ব্যতিক্রম হবে৷ b/123551990
  • নিরাপদ Args এখন Android Gradle Plugin 3.3.0 aosp/888413 এর উপর নির্ভর করে
  • নিরাপদ আর্গস এখন কোটলিন 1.3.20 aosp/888414 এর উপর নির্ভর করে

বাগ ফিক্স

  • সেফ আর্গস এখন অ্যান্ড্রয়েড গ্রেডল প্লাগইনের সমস্ত সংস্করণে লাইব্রেরি এবং বৈশিষ্ট্য মডিউলগুলিতে ব্যবহার করা যেতে পারে। b/121304903
  • একটি রিগ্রেশন স্থির করা হয়েছে যা একটি একক popBackStack() ক্রিয়াকলাপ এক সময়ে শুধুমাত্র একটি গন্তব্যের পরিবর্তে, ব্যাক স্ট্যাকের উপরের গন্তব্যের সমস্ত অনুলিপি পপ করার কারণ হবে৷ b/123552990
  • একটি সমস্যা সমাধান করা হয়েছে যেখানে FragmentNavigator স্টেটটি NavController এর স্টেটের সাথে ডিসিঙ্ক্রোনাইজ করবে, যার ফলে ব্যাক স্ট্যাক পুনরুদ্ধার করার চেষ্টা করার সময় একটি IllegalStateException সৃষ্টি হবে। b/123803044
  • অস্পষ্টতার সাথে ProGuard ব্যবহার করার সময় NavigationUI হ্যান্ডেল করা ব্যাক অ্যারো প্রদর্শিত হবে না এমন একটি সমস্যা সমাধান করা হয়েছে। b/123449431
  • Safe Args দ্বারা জেনারেট করা কোডটি এখন একটি app:argType ফরম্যাটে একটি স্ট্যাটিক ইনার ক্লাসের দিকে নির্দেশ করে .OuterClass$InnerClass ব্যবহার করে সঠিকভাবে পরিচালনা করে। b/123736741
  • সেফ আর্গস দ্বারা জেনারেট করা জাভা কোড এখন বিশ্বব্যাপী ক্রিয়াকলাপ এবং গভীরভাবে নেস্ট করা গন্তব্যগুলিকে সঠিকভাবে পরিচালনা করে। b/123347762

সংস্করণ 1.0.0-alpha11

23 জানুয়ারী, 2019

এটি 1.0.0-alpha10 এর একটি হটফিক্স রিলিজ যা সেফ আর্গস-এর একটি সমস্যা সমাধান করে।

বাগ ফিক্স

  • একটি সমস্যা সমাধান করে যেখানে Safe Args গ্লোবাল অ্যাকশনের সাথে সম্পর্কিত দিকনির্দেশ ক্লাস আমদানি করতে ব্যর্থ হবে। b/123307342

সংস্করণ 1.0.0-আলফা10

23 জানুয়ারী, 2019

জ্ঞাত সমস্যা

  • Safe Args গ্লোবাল অ্যাকশনের সাথে যুক্ত দিকনির্দেশ শ্রেণী আমদানি করতে ব্যর্থ হয়। b/123307342

এই রিলিজে ব্রেকিং API পরিবর্তন রয়েছে; অনুগ্রহ করে নিচের ব্রেকিং চেঞ্জেস বিভাগটি দেখুন।

নতুন বৈশিষ্ট

  • Kotlin ব্যবহারকারীরা এখন by navArgs() সম্পত্তি প্রতিনিধি ব্যবহার করতে পারেন অলসভাবে একটি Activity বা Fragment একটি নিরাপদ Args জেনারেট করা NavArgs ক্লাসের একটি রেফারেন্স পেতে। b/122603367
  • সেফ আর্গস এখন আপনাকে androidx.navigation.safeargs.kotlin প্লাগইন প্রয়োগ করে Kotlin কোড তৈরি করতে দেয়। Kotlin কোড বিশেষভাবে Kotlin শুধুমাত্র মডিউলগুলির জন্য তৈরি করা হয়েছে, বিল্ডার প্যাটার্নের উপর ডিফল্ট আর্গুমেন্ট এবং অপরিবর্তনীয় ক্লাস ব্যবহার করে যা এখনও পূর্ববর্তী androidx.navigation.safeargs প্লাগইনের মাধ্যমে উপলব্ধ। b/110263087

আচরণ পরিবর্তন

  • ম্যাচিং ডিপ লিঙ্কগুলি এখন সেই ডিপ লিঙ্কের দিকে পক্ষপাতিত্ব করে যার মধ্যে সবচেয়ে বেশি ম্যাচিং আর্গুমেন্ট রয়েছে৷ b/118393029
  • একটি NavControllersetGraph() কল করা এখন ব্যাক স্ট্যাক রিসেট করবে। b/111450672
  • অজানা গভীর লিঙ্কগুলি আর একটি IllegalStateException নিক্ষেপ করে না, কিন্তু উপেক্ষা করা হয়, নেস্টেড বা একাধিক NavHostFragment s-এর সাথে সমস্যাগুলি সমাধান করে৷ b/121340440

ব্রেকিং পরিবর্তন

  • একটি কার্যকলাপে পপ অ্যানিমেশন প্রয়োগ করার জন্য NavOptions.applyPopAnimationsToPendingTransition() পদ্ধতি ActivityNavigator এ সরানো হয়েছে। b/122413117
  • Safe Args এখন আর্গুমেন্ট ছাড়া অ্যাকশনের জন্য অভিন্ন ক্লাসের নকল করা এড়িয়ে যায়। জেনারেট করা NavDirections ক্লাসে কোন আর্গুমেন্ট পদ্ধতির জন্য রিটার্ন টাইপ এখন NavDirectionsb/123233147
  • Safe Args জেনারেট করা দিকনির্দেশ ক্লাসে আর কোনো পাবলিক কনস্ট্রাক্টর নেই - আপনার শুধুমাত্র জেনারেট করা স্ট্যাটিক পদ্ধতির সাথে ইন্টারঅ্যাক্ট করা উচিত। b/123031660
  • Safe Args জেনারেট করা NavDirections ক্লাসে আর কোনো পাবলিক কনস্ট্রাক্টর নেই - সেগুলি শুধুমাত্র জেনারেট করা দিকনির্দেশ ক্লাসে স্ট্যাটিক পদ্ধতির মাধ্যমে তৈরি করা উচিত। b/122963206
  • NavDirections ' getArguments() থেকে ফিরে আসা Bundle এখন @Nullable এর পরিবর্তে @NonNull হিসেবে চিহ্নিত করা হয়েছে। b/123243957

বাগ ফিক্স

  • NavDeepLinkBuilder এখন অনন্যতা নির্ধারণ করতে আপনার পাস করা আর্গুমেন্টগুলি ব্যবহার করে একই গন্তব্যে একাধিক যুগপত PendingIntent গুলি সঠিকভাবে পরিচালনা করে। b/120042732
  • নেস্টেড NavHostFragment বা ব্যাক স্ট্যাকের সাথে অন্যান্য চাইল্ড ফ্র্যাগমেন্ট ব্যবহার করার সময় NavController এখন সঠিকভাবে popBackStack() অপারেশন পরিচালনা করে। b/122770335
  • NavigationUI এখন সঠিকভাবে আপ বোতামের বিষয়বস্তুর বিবরণ সেট করে। b/120395362
  • Safe Args জেনারেট করা দিকনির্দেশ ক্লাসগুলি এখন সঠিকভাবে বিশ্বব্যাপী অ্যাকশনগুলি পরিচালনা করে যেগুলির একটি গন্তব্যের একটি অ্যাকশনের মতো একই আইডি রয়েছে৷ b/122962504
  • Safe Args জেনারেট করা NavDirections ক্লাসে এখন সঠিকভাবে সমান hashCode() মান আছে যখন equals() সত্যে ফিরে আসবে। b/123043662
  • আপনি যদি NavHostFragment এর FragmentManager এ কাস্টম FragmentTransactions করার চেষ্টা করেন তাহলে FragmentNavigator এখন একটি ভাল ত্রুটির বার্তা ছুড়ে দেয়। আপনার সবসময় getChildFragmentManager() ব্যবহার করা উচিত। b/112927148

সংস্করণ 1.0.0-alpha09

18 ডিসেম্বর, 2018

এই রিলিজে ব্রেকিং API পরিবর্তন রয়েছে; অনুগ্রহ করে নিচের ব্রেকিং চেঞ্জেস বিভাগটি দেখুন।

আমরা android.arch.navigation:navigation-testing artifact-এর বিকাশ চালিয়ে না যাওয়া বেছে নিয়েছি। যদিও এটি NavController এর অভ্যন্তরীণ পরীক্ষার জন্য সহায়ক বলে প্রমাণিত হয়েছে, আমরা দৃঢ়ভাবে বিকল্প পরীক্ষার কৌশলগুলির সুপারিশ করি, যেমন সঠিক navigate() কলগুলি করা হচ্ছে তা যাচাই করার জন্য NavController দৃষ্টান্তকে উপহাস করা। AndroidDevSummit 2018-এ একক ক্রিয়াকলাপের আলোচনায় এই পদ্ধতিটি বিশদভাবে আলোচনা করা হয়েছে এবং আমরা নেভিগেশনের সাথে পরীক্ষা করার জন্য বিশেষত অতিরিক্ত ডকুমেন্টেশন নিয়ে কাজ করব।

নতুন বৈশিষ্ট

  • menuCategory="secondary" এর সাথে MenuItem s যখন NavigationUI পদ্ধতিতে ব্যবহার করা হয় তখন আর ব্যাক স্ট্যাক পপ করবে না। b/120104424
  • AppBarConfiguration এখন আপনাকে একটি ফলব্যাক OnNavigateUpListener ইনস্ট্যান্স সেট করতে দেয় যা navController.navigateUp() false রিটার্ন করলে কল করা হবে। b/79993862 b/120690961

ব্রেকিং পরিবর্তন

  • একটি argType="reference" এর সাথে একটি <argument> ব্যবহার করার সময়, নেভিগেশন আর রেফারেন্সকে পার্স করে না, পরিবর্তে কাঁচা রিসোর্স আইডি প্রদান করে। b/111736515
  • onNavDestinationSelected() এখন ডিফল্টরূপে আপনার নেভিগেশন গ্রাফের শুরুর গন্তব্যে ফিরে আসে, সেগুলিকে setup পদ্ধতির সাথে সামঞ্জস্যপূর্ণ করে। ব্যাক স্ট্যাকের পপিং এড়াতে আপনার MenuItemmenuCategory="secondary" যোগ করুন। aosp/852869
  • উৎপন্ন Args ক্লাসের fromBundle() পদ্ধতিগুলি এখন একটি বাতিলযোগ্য Bundle aosp/845616 এর পরিবর্তে একটি নন-নাল Bundle গ্রহণ করে

বাগ ফিক্স

  • আর্গুমেন্টগুলি এখন ডিপ লিঙ্কগুলি থেকে সঠিকভাবে পার্স করা হয়েছে সর্বদা স্ট্রিং b/110273284 এর পরিবর্তে সঠিক argType হিসাবে
  • নেভিগেশন এখন সঠিকভাবে তার পাবলিক রিসোর্স b/121059552 রপ্তানি করে
  • Safe Args এখন Android Gradle Plugin 3.4 Canary 4 এবং উচ্চতর b/119662045 এর সাথে সামঞ্জস্যপূর্ণ

সংস্করণ 1.0.0-alpha08

ডিসেম্বর 6, 2018

এই রিলিজে ব্রেকিং API পরিবর্তন রয়েছে; অনুগ্রহ করে নিচের ব্রেকিং চেঞ্জেস বিভাগটি দেখুন।

নতুন বৈশিষ্ট

  • গন্তব্য লেবেল, যখন NavigationUI পদ্ধতিতে ব্যবহার করা হয়, তখন এখন স্বয়ংক্রিয়ভাবে আপনার android:label{argName} দৃষ্টান্তগুলিকে সঠিক যুক্তি b/80267266 দিয়ে প্রতিস্থাপন করবে
  • নেভিগেশন এখন সাপোর্ট লাইব্রেরির উপর নির্ভর করে 28.0.0 b/120293333

ব্রেকিং পরিবর্তন

  • OnNavigatedListener নাম পরিবর্তন করে OnDestinationChangedListener b/118670572 করা হয়েছে
  • OnDestinationChangedListener এখন আর্গুমেন্টের Bundle পাস করে aosp/837142
  • app:clearTask এবং app:launchDocument বৈশিষ্ট্য এবং তাদের সংশ্লিষ্ট পদ্ধতিগুলি সরানো হয়েছে। আপনার ব্যাক স্ট্যাক থেকে সমস্ত গন্তব্য সরাতে আপনার গ্রাফের রুট সহ app:popUpTo ব্যবহার করুন। b/119628354
  • ActivityNavigator.Extras এখন একটি Builder প্যাটার্ন ব্যবহার করে এবং যেকোনো Intent.FLAG_ACTIVITY_ flags aosp/828140 সেট করার ক্ষমতা যোগ করে
  • NavController.onHandleDeepLink নাম পরিবর্তন করে handleDeepLink aosp/836063 করা হয়েছে
  • অনেক ক্লাস এবং পদ্ধতি সাবক্লাসিংয়ের জন্য নয়, যেমন NavOptions , NavInflater , NavDeepLinkBuilder , এবং AppBarConfiguration , final করা হয়েছে aosp/835681
  • অবহেলিত NavHostFragment.setGraph() পদ্ধতি aosp/835684 সরানো হয়েছে
  • অপ্রচলিত NavigationUI.navigateUp(DrawerLayout, NavController) পদ্ধতি সরানো হয়েছে। aosp/835684
  • ফ্র্যাগমেন্ট তৈরিকে FragmentNavigator স্থানান্তরিত করা হয়েছে, এটি একটি FragmentFactory ফ্র্যাগমেন্ট সৃষ্টিকে অর্পণ করা সহজ করে তোলে। b/119054429
  • NavGraphNavigator এর কনস্ট্রাক্টর আর একটি Context aosp/835340 নেয় না
  • NavigatorProvider এখন একটি ইন্টারফেসের পরিবর্তে একটি ক্লাস। getNavigatorProvider() দ্বারা ফিরে আসা NavigatorProvider এর কার্যকারিতা পরিবর্তন করেনি। aosp/830660
  • NavDestination.navigate() সরানো হয়েছে। পরিবর্তে Navigator navigate() কল করুন। aosp/830663
  • Navigator উল্লেখযোগ্য রিফ্যাক্টরিং, OnNavigatorNavigatedListener এর প্রয়োজনীয়তা দূর করে এবং এর পরিবর্তে navigate করে যে NavDestination এ নেভিগেট করা হয়েছিল সেটি ফেরত দেওয়া।
  • Navigator দৃষ্টান্তগুলি আর NavController এ পপ ইভেন্ট পাঠাতে পারে না। ব্যাক বোতাম টিপতে এবং navController.popBackStack() কল করতে একটি OnBackPressedCallback ব্যবহার করার কথা বিবেচনা করুন। aosp/833716

বাগ ফিক্স

  • popUpTo এখন ধারাবাহিকভাবে কাজ করে যখন গন্তব্য একটি <navigation> উপাদান b/116831650
  • নেস্টেড গ্রাফ b/118713731 b/113611083 b/113346925 b/113305559 ব্যবহার করার সময় একটি IllegalArgumentException এর ফলে অনেক বাগ সংশোধন করা
  • <activity> গন্তব্যের dataPattern বৈশিষ্ট্য এখন toString() b/120161365 কল করে নন-স্ট্রিং আর্গুমেন্ট থেকে আর্গুমেন্ট তৈরি করবে

নিরাপদ Args

  • Safe Args Enum মান সহ সিরিয়ালাইজেবল অবজেক্ট সমর্থন করে। Enum প্রকারগুলি ক্লাসের নাম ছাড়াই enum আক্ষরিক ব্যবহার করে একটি ডিফল্ট মান সেট করতে পারে (যেমন app:defaultValue="READ" ) b/111316353
  • সেফ আর্গস সমস্ত সমর্থিত প্রকারের অ্যারে সমর্থন করে b/111487504
  • সেফ আর্গস এখন রিসোর্স ডিরেক্টরির সাবফোল্ডারকে উপেক্ষা করে b/117893516
  • Safe Args যেখানে উপযুক্ত b/117145301 @Override টীকা যোগ করে

সংস্করণ 1.0.0-alpha07

অক্টোবর 29, 2018

নতুন বৈশিষ্ট

  • একটি নতুন AppBarConfiguration ক্লাস আপনাকে কোন গন্তব্যগুলিকে শীর্ষ-স্তরের গন্তব্য হিসাবে বিবেচনা করা হবে তা কাস্টমাইজ করতে দেয়৷ বিস্তারিত জানার জন্য আপডেট করা ডকুমেন্টেশন দেখুন। b/117333663
  • আপনি এখন আপনার গ্রাফ b/110300470 এর প্রারম্ভিক গন্তব্যে আর্গুমেন্ট পাস করতে পারেন
  • ডিপ লিঙ্কগুলি এখন পিরিয়ড, হাইফেন এবং প্লাস চিহ্ন সহ কাস্টম স্কিম সমর্থন করে। b/112806402

ব্রেকিং পরিবর্তন

  • navigation-testing-ktx মডিউলটি navigation-testing artifact ভাঁজ করা হয়েছে এবং আর প্রকাশ করা হবে না।
  • navigation-testing আর্টিফ্যাক্টের এখন কোটলিন স্ট্যান্ডার্ড লাইব্রেরির উপর নির্ভরশীলতা রয়েছে। কোটলিন কনভেনশনের সাথে আরও সামঞ্জস্যপূর্ণ হওয়ার জন্য API পরিবর্তন করা হয়েছে, তবে আপনি জাভাতে লেখা পরীক্ষার জন্য এটি ব্যবহার করা চালিয়ে যেতে পারেন।
  • মেটাডেটা ম্যানিফেস্ট নিবন্ধিত নেভিগেশন গ্রাফ আর সমর্থিত নয়। b/118355937
  • অ্যাকশন আর <activity> গন্তব্যে সংযুক্ত করা যাবে না। aosp/785539

বাগ ফিক্স

  • ডিপ লিঙ্কগুলি এখন সঠিকভাবে কোয়েরি প্যারামিটার পার্স করে। b/110057514
  • কার্যকলাপের গন্তব্য এখন সঠিকভাবে সমস্ত প্রবেশ এবং প্রস্থান অ্যানিমেশন প্রয়োগ করে। b/117145284
  • কাস্টম নেভিগেটর ব্যবহার করার সময় কনফিগারেশন পরিবর্তনের পরে ঘটে যাওয়া স্থির ক্র্যাশ। b/110763345

নিরাপদ Args

  • সেফ আর্গস এখন অ্যান্ড্রয়েড গ্রেডল প্লাগইন 3.2.1 এর উপর একটি নির্দিষ্ট নির্ভরতা রয়েছে। b/113167627
  • অভ্যন্তরীণ ক্লাসের জন্য এখন নির্দেশনা তৈরি করা যেতে পারে। b/117407555
  • একটি <অন্তর্ভুক্ত> গ্রাফের দিকনির্দেশ তৈরি করার সাথে একটি সমস্যা সমাধান করা হয়েছে। b/116542123

সংস্করণ 1.0.0-alpha06

সেপ্টেম্বর 20, 2018

নতুন বৈশিষ্ট

এপিআই পরিবর্তন

  • ব্রেকিং চেঞ্জ: নেভিগেটর navigate() পদ্ধতিতে এখন একটি Navigator.Extras প্যারামিটার লাগে।
  • NavController এর getGraph() পদ্ধতি এখন NonNull b/112243286

বাগ ফিক্স

  • NavigationUI.setupWithNavController() পৃথক গন্তব্য b/111961977 থেকে ভিউ ব্যবহার করলে আর ভিউ ফাঁস হয় না
  • নেভিগেটর onSaveState() এখন শুধুমাত্র একবার b/112627079 বলা হয়

নিরাপদ Args

  • ন্যাভিগেশন গন্তব্য দিকনির্দেশের ক্লাসগুলি এখন তাদের পিতামাতার দিকনির্দেশ ক্লাস প্রসারিত করে যদি এটি বিদ্যমান থাকে b/79871405
  • নির্দেশাবলী এবং Args ক্লাসে এখন একটি দরকারী toString() বাস্তবায়ন b/111843389 আছে

সংস্করণ 1.0.0-alpha05

আগস্ট 10, 2018

বাগ ফিক্স

  • ভুল ব্যাকস্ট্যাক আচরণের কারণ একটি বাগ ঠিক করুন। b/111907708
  • জেনারেটেড Args ক্লাসের equals() এ একটি বাগ ঠিক করুন। b/111450897
  • Safe Args এ একটি বিল্ড ব্যর্থতা ঠিক করুন। b/109409713
  • রিসোর্স আইডেন্টিফায়ার থেকে জাভা নাম b/111602491 এ একটি রূপান্তর ঠিক করুন
  • Safe Args প্লাগইনে শূন্যতা সম্পর্কে ত্রুটি বার্তা ঠিক করুন।
  • অনুপস্থিত শূন্যতা টীকা যোগ করুন।

সংস্করণ 1.0.0-alpha04

জুলাই 19, 2018

নেভিগেশন 1.0.0-alpha04 এবং সংশ্লিষ্ট Safe Args gradle প্লাগইনে অনেকগুলি API পরিবর্তন, আচরণ পরিবর্তন এবং বাগ ফিক্স রয়েছে।

API / আচরণ পরিবর্তন

  • NavHostFragment সর্বদা বর্তমান ফ্র্যাগমেন্টকে প্রাথমিক নেভিগেশন ফ্র্যাগমেন্ট হিসাবে সেট করবে, নিশ্চিত করবে যে বাইরের NavController পপ করার আগে চাইল্ড ফ্র্যাগমেন্ট ম্যানেজার পপ করা হয়েছে b/111345778

নিরাপদ Args

  • ব্রেকিং চেঞ্জ: app:type পরিবর্তন করা হয়েছে app:argType এ অন্য লাইব্রেরির সাথে বিরোধ এড়াতে যেমন ConstraintLayout 2.0.0-alpha1 b/111110548
  • Safe Args থেকে ত্রুটি বার্তা এখন b/111534438 ক্লিকযোগ্য
  • Args ক্লাস এখন নিশ্চিত করে যে NonNull বৈশিষ্ট্যগুলি আসলে নাল b/111451769 নয়
  • NavDirections এবং Args জেনারেট করা ক্লাস b/111455455 b/111455456 এ অতিরিক্ত NonNull টীকা যোগ করা হয়েছে

বাগ ফিক্স

  • একটি ফ্র্যাগমেন্ট গন্তব্য b/111515685 এর সাথে গভীর লিঙ্ক করার পরে সিস্টেম ব্যাক বোতামের সাথে একটি সমস্যা সমাধান করা হয়েছে

সংস্করণ 1.0.0-alpha03

জুলাই 12, 2018

নেভিগেশন 1.0.0-alpha03 এবং সংশ্লিষ্ট Safe Args gradle প্লাগইনে অনেকগুলি API পরিবর্তন, আচরণের পরিবর্তন এবং বাগ ফিক্স রয়েছে।

API / আচরণ পরিবর্তন

  • টুলবারের জন্য একটি NavigationUI.setupWithNavController পদ্ধতি b/109868820 যোগ করা হয়েছে
  • CollapsingToolbarLayout-এর জন্য একটি NavigationUI.setupWithNavController পদ্ধতি b/110887183 যোগ করা হয়েছে
  • popBackStack() এখন মিথ্যা ফেরত দেয় যখন ব্যাক স্ট্যাক খালি থাকে বা যখন প্রদত্ত গন্তব্য আইডি ব্যাক স্ট্যাকের মধ্যে থাকে না b/110893637
  • FragmentNavigator এখন নেভিগেশন অপারেশন উপেক্ষা করে FragmentManager স্টেট সেভ করার পরে, "onSaveInstanceState এর পরে এই ক্রিয়াটি সম্পাদন করতে পারবে না" ব্যতিক্রমগুলি এড়িয়ে যায় b/110987825

নিরাপদ Args

  • ব্রেকিং চেঞ্জ: অ্যাকশন এবং আর্গুমেন্টের নামের অ-আলফানিউমেরিক অক্ষরগুলি সংশ্লিষ্ট NavDirections পদ্ধতির নামগুলিতে উটের আবরণ দ্বারা প্রতিস্থাপিত হবে
    • যেমন DemoController.index সেট হয়ে যাবে setDemoControllerIndex b/79995048
    • যেমন action_show_settings হয়ে যাবে actionShowSettings b/79642240
  • ব্রেকিং পরিবর্তন: আর্গুমেন্ট এখন ডিফল্টরূপে নন-নাল হিসেবে বিবেচিত হয়। স্ট্রিং এবং পার্সেলেবল আর্গুমেন্টে নাল মান অনুমোদন করতে, app:nullable="true" b/79642307 যোগ করুন
  • আপনি এখন "123L" b/79563966 আকারে ডিফল্ট মান সহ app:type="long" ব্যবহার করতে পারেন
  • app:type এর জন্য একটি সম্পূর্ণ যোগ্য শ্রেণীর নাম ব্যবহার করে, পার্সেলযোগ্য আর্গুমেন্টগুলি এখন সমর্থিত। সমর্থিত একমাত্র ডিফল্ট মান হল "@null" b/79563966
  • Args ক্লাস এখন equals() এবং hashCode() b/79642246 প্রয়োগ করে
  • সেফ আর্গস প্লাগইন এখন লাইব্রেরি প্রকল্প b/80036553 এ প্রয়োগ করা যেতে পারে
  • সেফ আর্গস প্লাগইনটি এখন b/110011752 বৈশিষ্ট্য প্রকল্পগুলিতে প্রয়োগ করা যেতে পারে

বাগ ফিক্স

  • ফ্র্যাগমেন্ট লাইফসাইকেল পদ্ধতি b/109916080 চলাকালীন নেভিগেট করার সময় সমস্যার সমাধান করা হয়েছে
  • একাধিকবার নেস্টেড গ্রাফগুলিতে নেভিগেট করার সময় সমস্যাগুলি সমাধান করা হয়েছে b/110178671
  • গ্রাফ b/109909461- এ প্রথম গন্তব্যের সাথে setPopUpTo ব্যবহার করার সময় সমস্যার সমাধান করা হয়েছে
  • স্থির সমস্যা যেখানে সমস্ত app:defaultValue ভ্যালু মান স্ট্রিং b/110710788 হিসাবে পাস করা হচ্ছে
  • aapt2 এন্ড্রয়েড গ্রেডল প্লাগইন 3.2 বিটা 01 এর সাথে বান্ডেল করা এখন প্রতিটি android:name অ্যাট্রিবিউটের নেভিগেশন এক্সএমএল ফাইলে রাখার নিয়ম যুক্ত করেছে b/79874119
  • ডিফল্ট ফ্র্যাগমেন্টনেভিগেটর b/110900142 প্রতিস্থাপন করার সময় স্থির মেমরি লিক

সংস্করণ 1.0.0-alpha02

জুন 7, 2018

আচরণ পরিবর্তন

  • FragmentNavigator এখন setReorderingAllowed(true) ব্যবহার করে। b/109826220

  • নেভিগেশন এখন ইউআরএলডিকোড আর্গুমেন্ট ডিপ লিঙ্ক ইউআরএল থেকে পার্স করে। b/79982454

বাগ ফিক্স

  • ফ্র্যাগমেন্ট লাইফসাইকেল পদ্ধতি থেকে নেভিগেট কল করার সময় একটি IllegalStateException স্থির করা হয়েছে। b/79632233

  • অ্যানিমেশন ব্যবহার করার সময় ফ্লিকারিং ঠিক করার জন্য নেভিগেশন এখন সাপোর্ট লাইব্রেরি 27.1.1 এর উপর নির্ভর করে। b/80160903

  • একটি শিশু খণ্ড হিসাবে defaultNavHost="true" ব্যবহার করার সময় একটি IllegalArgumentException সংশোধন করা হয়েছে। b/79656847

  • NavDeepLinkBuilder ব্যবহার করার সময় একটি StackOverflowError সংশোধন করা হয়েছে। b/109653065

  • একটি নেস্টেড গ্রাফে ফিরে নেভিগেট করার সময় একটি IllegalArgumentException সংশোধন করা হয়েছে। b/80453447

  • launchSingleTop ব্যবহার করার সময় ওভারল্যাপিং ফ্র্যাগমেন্টগুলির সাথে একটি সমস্যা সমাধান করা হয়েছে। b/79407969

  • নেভিগেশন এখন নেস্টেড গ্রাফের জন্য সঠিক সিন্থেটিক ব্যাক স্ট্যাক তৈরি করে। b/79734195

  • একটি MenuItem হিসাবে নেস্টেড গ্রাফ ব্যবহার করার সময় NavigationUI এখন সঠিক আইটেমটি হাইলাইট করবে। b/109675998

এপিআই পরিবর্তন

  • ক্রিয়াকলাপের জন্য clearTask অ্যাট্রিবিউট এবং NavOptions এ সংশ্লিষ্ট API অবচয় করা হয়েছে। b/80338878

  • NavOptions এ অ্যাকশনের জন্য launchDocument অ্যাট্রিবিউট এবং সংশ্লিষ্ট API অবচয় করা হয়েছে। b/109806636

সংস্করণ 1.0.0-alpha01

8 মে, 2018

ন্যাভিগেশন অ্যাপ-মধ্যস্থ নেভিগেশন নির্মাণের জন্য একটি কাঠামো প্রদান করে। এই প্রাথমিক প্রকাশ হল 1.0.0-alpha01