15 জানুয়ারী, 2019
ওয়ার্ক ম্যানেজার
WorkManager 1.0.0-beta02 প্রকাশিত হয়েছে। এই রিলিজে কিছু বাগ ফিক্স রয়েছে।
বাগ ফিক্স
- একটি এজ কেস স্থির করা হয়েছে যেখানে পর্যায়ক্রমিক কাজ Android 6.0 (API স্তর 23) চালিত ডিভাইসগুলিতে অন্তর অন্তর একবারের বেশি চলতে পারে। b/121998363
- অ্যান্ড্রয়েড 5.1 (এপিআই স্তর 22) বা তার কম চলমান ডিভাইসগুলিতে একটি
ConcurrentModificationExceptionস্থির করা হয়েছে৷ b/121345393 - অ্যান্ড্রয়েড 5.1 (এপিআই লেভেল 22) বা তার নিচের ডিভাইসে সীমাবদ্ধতা পূরণ না হলে কাজের ভুল সম্পাদন করা হয়েছে। b/122578012
- কিছু প্রান্তের ক্ষেত্রে দ্রুততর হতে অপ্টিমাইজ করা কাজ সমাপ্তি হ্যান্ডলিং। b/122358129
- WorkManager ব্যবহার করে
LiveDataএর একাধিক দৃষ্টান্তের মধ্যে সম্ভাব্য রেসের অবস্থার সমাধান করতে একটি পরিবর্তন যোগ করা হয়েছে। -
1.1.1-rc01এর পরিবর্তেRoomনির্ভরতা1.1.1ব্যবহার করতে সরানো হয়েছে; এই সংস্করণগুলি অভিন্ন। b/122578011
ডিসেম্বর 19, 2018
ওয়ার্ক ম্যানেজার
WorkManager 1.0.0-beta01 প্রকাশিত হয়েছে। এই রিলিজে কোন API পরিবর্তন নেই; সামনের দিকে অগ্রসর হলে, WorkManager পরবর্তী সংস্করণ পর্যন্ত API স্থিতিশীল থাকবে বলে আশা করা হচ্ছে যদি না কোনো জটিল সমস্যা না হয়। এই রিলিজে কিছু বাগ ফিক্স রয়েছে।
বাগ ফিক্স
- সফলভাবে সম্পন্ন করা পিতামাতার কাজের পূর্বে-বাতিল করা বাচ্চারা আর চলবে না। b/120811767
- সঠিকভাবে শুরু করা লগিং ক্লাস (প্রাথমিকভাবে পরীক্ষার সময় দেখা যায়)।
18 ডিসেম্বর, 2018
নেভিগেশন
নেভিগেশন 1.0.0-alpha09 প্রকাশিত হয়েছে। এই রিলিজে ব্রেকিং API পরিবর্তন রয়েছে; অনুগ্রহ করে নিচের ব্রেকিং চেঞ্জেস বিভাগটি দেখুন।
আমরা android.arch.navigation:navigation-testing artifact-এর বিকাশ চালিয়ে না যাওয়া বেছে নিয়েছি। যদিও এটি NavController এর অভ্যন্তরীণ পরীক্ষার জন্য সহায়ক বলে প্রমাণিত হয়েছে, আমরা দৃঢ়ভাবে বিকল্প পরীক্ষার কৌশলগুলির সুপারিশ করি, যেমন সঠিক navigate() কলগুলি করা হচ্ছে তা যাচাই করার জন্য NavController দৃষ্টান্তকে উপহাস করা। AndroidDevSummit 2018-এ একক ক্রিয়াকলাপের আলোচনায় এই পদ্ধতিটি বিশদভাবে আলোচনা করা হয়েছে এবং আমরা নেভিগেশনের সাথে পরীক্ষা করার জন্য বিশেষত অতিরিক্ত ডকুমেন্টেশন নিয়ে কাজ করব।
নতুন বৈশিষ্ট্য
-
menuCategory="secondary"এর সাথেMenuItems যখনNavigationUIপদ্ধতিতে ব্যবহার করা হয় তখন আর ব্যাক স্ট্যাক পপ করবে না। b/120104424 -
AppBarConfigurationএখন আপনাকে একটি ফলব্যাকOnNavigateUpListenerইনস্ট্যান্স সেট করতে দেয় যাnavController.navigateUp()falseরিটার্ন করলে কল করা হবে। b/79993862 b/120690961
ব্রেকিং পরিবর্তন
- একটি
argType="reference"এর সাথে একটি<argument>ব্যবহার করার সময়, নেভিগেশন আর রেফারেন্সকে পার্স করে না, পরিবর্তে কাঁচা রিসোর্স আইডি প্রদান করে। b/111736515 -
onNavDestinationSelected()এখন ডিফল্টরূপে আপনার নেভিগেশন গ্রাফের শুরুর গন্তব্যে ফিরে আসে, সেগুলিকেsetupপদ্ধতির সাথে সামঞ্জস্যপূর্ণ করে। ব্যাক স্ট্যাকের পপিং এড়াতে আপনারMenuItemএmenuCategory="secondary"যোগ করুন। aosp/852869 - উৎপন্ন
Argsক্লাসেরfromBundle()পদ্ধতিগুলি এখন একটি বাতিলযোগ্যBundleaosp/845616 এর পরিবর্তে একটি নন-নালBundleগ্রহণ করে
বাগ ফিক্স
- আর্গুমেন্টগুলি এখন ডিপ লিঙ্কগুলি থেকে সঠিকভাবে পার্স করা হয়েছে সর্বদা স্ট্রিং b/110273284 এর পরিবর্তে সঠিক
argTypeহিসাবে - নেভিগেশন এখন সঠিকভাবে তার পাবলিক রিসোর্স b/121059552 রপ্তানি করে
- Safe Args এখন Android Gradle Plugin 3.4 Canary 4 এবং উচ্চতর b/119662045 এর সাথে সামঞ্জস্যপূর্ণ
ডিসেম্বর 12, 2018
ওয়ার্ক ম্যানেজার
WorkManager 1.0.0-alpha13 প্রকাশিত হয়েছে। এই রিলিজে একটি ছোটখাট API পরিবর্তন রয়েছে যা কিছু Kotlin ব্যবহারকারীদের জন্য সহায়ক হবে।
এপিআই পরিবর্তন
-
androidx.work.ResultListenableWorkerএর অভ্যন্তরীণ শ্রেণীতে স্থানান্তরিত করা হয়েছে। এটি কোটলিনের শীর্ষ-স্তরেরResultশ্রেণীর সাথে রিফ্যাক্টরিং দ্বন্দ্ব প্রতিরোধ করে। এটি একটি ব্রেকিং API পরিবর্তন। b/120564418
ব্রেকিং API পরিবর্তন
-
androidx.work.ResultListenableWorkerএর অভ্যন্তরীণ শ্রেণীতে স্থানান্তরিত করা হয়েছে।
ডিসেম্বর 6, 2018
পেজিং
পেজিং 2.1.0-rc01 2.1.0-beta01 থেকে কোনো পরিবর্তন ছাড়াই প্রকাশ করা হয়েছে।
নেভিগেশন
নেভিগেশন 1.0.0-alpha08 প্রকাশিত হয়েছে। এই রিলিজে ব্রেকিং API পরিবর্তন রয়েছে; অনুগ্রহ করে নিচের ব্রেকিং চেঞ্জেস বিভাগটি দেখুন।
নতুন বৈশিষ্ট্য
- গন্তব্য লেবেল, যখন
NavigationUIপদ্ধতিতে ব্যবহার করা হয়, তখন এখন স্বয়ংক্রিয়ভাবে আপনারandroid:labelএ{argName}দৃষ্টান্তগুলিকে সঠিক যুক্তি b/80267266 দিয়ে প্রতিস্থাপন করবে - নেভিগেশন এখন সাপোর্ট লাইব্রেরির উপর নির্ভর করে 28.0.0 b/120293333
ব্রেকিং পরিবর্তন
-
OnNavigatedListenerনাম পরিবর্তন করেOnDestinationChangedListenerb/118670572 করা হয়েছে -
OnDestinationChangedListenerএখন আর্গুমেন্টেরBundleপাস করে aosp/837142 -
app:clearTaskএবংapp:launchDocumentবৈশিষ্ট্য এবং তাদের সংশ্লিষ্ট পদ্ধতিগুলি সরানো হয়েছে। আপনার ব্যাক স্ট্যাক থেকে সমস্ত গন্তব্য সরাতে আপনার গ্রাফের রুট সহapp:popUpToব্যবহার করুন। b/119628354 -
ActivityNavigator.Extrasএখন একটিBuilderপ্যাটার্ন ব্যবহার করে এবং যেকোনোIntent.FLAG_ACTIVITY_flags aosp/828140 সেট করার ক্ষমতা যোগ করে -
NavController.onHandleDeepLinkনাম পরিবর্তন করেhandleDeepLinkaosp/836063 করা হয়েছে - অনেক ক্লাস এবং পদ্ধতি সাবক্লাসিংয়ের জন্য নয়, যেমন
NavOptions,NavInflater,NavDeepLinkBuilder, এবংAppBarConfiguration,finalকরা হয়েছে aosp/835681 - অবহেলিত
NavHostFragment.setGraph()পদ্ধতি aosp/835684 সরানো হয়েছে - অপ্রচলিত
NavigationUI.navigateUp(DrawerLayout, NavController)পদ্ধতি সরানো হয়েছে। aosp/835684 - ফ্র্যাগমেন্ট তৈরিকে
FragmentNavigatorস্থানান্তরিত করা হয়েছে, এটি একটিFragmentFactoryফ্র্যাগমেন্ট সৃষ্টিকে অর্পণ করা সহজ করে তোলে। b/119054429 -
NavGraphNavigatorএর কনস্ট্রাক্টর আর একটিContextaosp/835340 নেয় না - NavigatorProvider এখন একটি ইন্টারফেসের পরিবর্তে একটি ক্লাস।
getNavigatorProvider()দ্বারা ফিরে আসাNavigatorProviderএর কার্যকারিতা পরিবর্তন করেনি। aosp/830660 -
NavDestination.navigate()সরানো হয়েছে। পরিবর্তেNavigatornavigate()কল করুন। 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টীকা যোগ করে
5 ডিসেম্বর, 2018
ওয়ার্ক ম্যানেজার
WorkManager 1.0.0-alpha12 প্রকাশিত হয়েছে। এই রিলিজে কিছু ব্রেকিং API পরিবর্তন রয়েছে; অনুগ্রহ করে নীচে ব্রেকিং API পরিবর্তন বিভাগটি দেখুন। এই সংস্করণটি আমাদের প্রথম বিটা হিসাবে প্রকাশিত হওয়ার সম্ভাবনা রয়েছে। alpha12 ব্যাপক ডকুমেন্টেশন আপডেটও রয়েছে।
এপিআই পরিবর্তন
- একটি নতুন আর্টিফ্যাক্ট,
work-rxjava2,RxWorkerসাথে পরিচয় করিয়ে দেয়। এটি একটিListenableWorkerযে একটিSingle<Payload>আশা করে। - Firebase JobDispatcher-এর জন্য সমর্থন অপসারণ করা হয়েছে কারণ এর আসন্ন অবচয়। এর মানে হল যে
work-firebaseআর্টিফ্যাক্টটি আর আপডেট করা হবে না যেহেতু আমরা বিটাতে যাচ্ছি। আমরা ভবিষ্যতে একটি বিকল্প যোগ করার জন্য খুঁজছেন হবে. -
Resultসম্মিলিতPayload।Resultএখন তিনটি সুনির্দিষ্ট বাস্তবায়ন সহ একটি "সিল করা ক্লাস", যা আপনিResult.success()(বাResult.success(Data)),Result.failure()(বাResult.failure(Data)), এবংResult.retry()মাধ্যমে পেতে পারেন।Result.retry()।Payloadপরিবর্তে আপনারListenableFutureএরResultএখন। আউটপুটDataজন্যWorkerগেটার এবং সেটার পদ্ধতি নেই। এটি একটি ব্রেকিং পরিবর্তন. - যোগ করা হয়েছে
Constraints.Builder.setTriggerContentMaxDelay(long, TimeUnit)এবংConstraints.Builder.setTriggerContentUpdateDelay(long, TimeUnit)এবং ভেরিয়েন্টগুলিকে ধীর গতির ট্রিগারিং কন্টেন্ট ইউআরআইগুলিকে আরও ভালভাবে সমর্থন করার জন্য। b/119919774 -
WorkRequest.Builder.setBackoffCriteria(BackoffPolicy, Duration)ভেরিয়েন্ট যোগ করা হয়েছে। এই পদ্ধতির জন্য API 26 প্রয়োজন। -
Operation.await()এবংListenableFuture.await()Kotlin এক্সটেনশন পদ্ধতি যোগ করা হয়েছে। -
Operation.getException()এর নাম পরিবর্তন করেOperation.getThrowable()করা হয়েছে। এটি একটি ব্রেকিং পরিবর্তন. -
ContentUriTriggersক্লাস এবং এটির উল্লেখ করার পদ্ধতিগুলি আর সর্বজনীন ব্যবহারের জন্য উপলব্ধ নেই৷ এটি একটি ব্রেকিং পরিবর্তন. - API-কে স্ট্রীমলাইন করতে
WorkManager,WorkContinuation, এবংOneTimeWorkRequestএ বাকি varargs পদ্ধতিগুলি সরানো হয়েছে৷ যেকোন বিল্ড সমস্যা সমাধান করতে, আপনিArrays.asList(...)দিয়ে আপনার বিদ্যমান varargs মোড়ানো করতে পারেন। আমরা এখনও প্রতিটি পদ্ধতির একক-যুক্তি সংস্করণ অন্তর্ভুক্ত করি। এটি একটি ব্রেকিং পরিবর্তন. -
WorkContinuation.combine(OneTimeWorkRequest, *)ভেরিয়েন্ট সরানো হয়েছে। তারা একটি বিভ্রান্তিকর API উপস্থাপন করছিল; বিদ্যমানcombineপদ্ধতিগুলি আরও বোধগম্য। এটি একটি ব্রেকিং পরিবর্তন.
বাগ ফিক্স
- প্রি-মার্শম্যালো বাস্তবায়ন এখন একটি ইতিমধ্যে-সম্পাদিত টাস্কের প্রক্রিয়া মৃত্যু থেকে পুনরুদ্ধার করার জন্য আরও নির্ভরযোগ্য।
-
LiveDataযাobserveForeverমাধ্যমে পর্যবেক্ষণ করা হয় ওয়ার্কম্যানেজারের মাধ্যমে ট্র্যাক করা হয়। এটি একটি রুম লাইব্রেরি ফিক্সের একটি ব্যাকপোর্ট। b/74477406 -
Data.Builder.build()এখন একটি ব্যতিক্রম ছুঁড়ে দেয় যদি সিরিয়ালাইজড অবজেক্ট তার সর্বোচ্চ আকার অতিক্রম করে। এটি আগে শুধুমাত্র একটি ব্যাকগ্রাউন্ড থ্রেডে ঘটবে যেখানে আপনি এটি সঠিকভাবে পরিচালনা করতে পারবেন না। - আরও বিশিষ্ট স্টপ বনাম বাতিল কাজ;
getWorkInfoById()ListenableWorker.onStopped()চলাকালীনCANCELLEDStateএকটিWorkInfoফেরত দেবে। -
ListenableWorkerএnullResultব্যর্থতা হিসাবে বিবেচনা করুন। b/120362353 - এপিআই 24 চালিত শিল্ড ট্যাবলেটগুলির জন্য অনুমানমূলক ফিক্স যা কখনও কখনও একটি
IllegalArgumentExceptionনিক্ষেপ করে৷ b/119484416
ব্রেকিং API পরিবর্তন
- Firebase JobDispatcher-এর জন্য সমর্থন অপসারণ করা হয়েছে কারণ এর আসন্ন অবচয়। এর মানে হল যে
work-firebaseআর্টিফ্যাক্টটি আর আপডেট করা হবে না যেহেতু আমরা বিটাতে যাচ্ছি। আমরা ভবিষ্যতে একটি বিকল্প যোগ করার জন্য খুঁজছেন হবে. -
Resultসম্মিলিতPayload।Resultএখন তিনটি সুনির্দিষ্ট বাস্তবায়ন সহ একটি "সিল করা ক্লাস", যা আপনিResult.success()(বাResult.success(Data)),Result.failure()(বাResult.failure(Data)), এবংResult.retry()মাধ্যমে পেতে পারেন।Result.retry()।Payloadপরিবর্তে আপনারListenableFutureএরResultএখন। আউটপুটDataজন্যWorkerগেটার এবং সেটার পদ্ধতি নেই। -
Operation.await()এবংListenableFuture.await()Kotlin এক্সটেনশন পদ্ধতি যোগ করা হয়েছে। -
Operation.getException()এর নাম পরিবর্তন করেOperation.getThrowable()করা হয়েছে। -
ContentUriTriggersক্লাস এবং এটির উল্লেখ করার পদ্ধতিগুলি আর সর্বজনীন ব্যবহারের জন্য উপলব্ধ নেই৷ - API-কে স্ট্রীমলাইন করতে
WorkManager,WorkContinuation, এবংOneTimeWorkRequestএ বাকি varargs পদ্ধতিগুলি সরানো হয়েছে৷ যেকোন বিল্ড সমস্যা সমাধান করতে, আপনিArrays.asList(...)দিয়ে আপনার বিদ্যমান varargs মোড়ানো করতে পারেন। আমরা এখনও প্রতিটি পদ্ধতির একক-যুক্তি সংস্করণ অন্তর্ভুক্ত করি। -
WorkContinuation.combine(OneTimeWorkRequest, *)ভেরিয়েন্ট সরানো হয়েছে। তারা একটি বিভ্রান্তিকর API উপস্থাপন করছিল; বিদ্যমানcombineপদ্ধতিগুলি আরও বোধগম্য।
4 ডিসেম্বর, 2018
রুম
রুম 2.1.0-alpha03 coroutines সমর্থন এবং বেশ কয়েকটি বাগ ফিক্স সহ প্রকাশ করা হয়েছে।
এপিআই পরিবর্তন
-
@Fts3/@Fts4এ FTStokenizerএখন Enum-এর পরিবর্তে একটি স্ট্রিং নেয়। এটি রুম দ্বারা কাস্টম টোকেনাইজার ব্যবহার করার অনুমতি দেয়। বিল্ট-ইন টোকেনাইজারগুলিকে এখনওFtsOptionsএ স্ট্রিং কনস্ট্যান্ট হিসাবে সংজ্ঞায়িত করা হয়েছে। b/119234881
নতুন বৈশিষ্ট্য
- Couroutines : DAO পদ্ধতিগুলি এখন স্থগিত ফাংশন হতে পারে। রুমে সাসপেন্ড ফাংশন সমর্থন করার জন্য একটি নতুন আর্টিফ্যাক্ট প্রকাশ করা হয়েছে,
room-coroutines। b/69474692 -
@Insert,@Deleteবা@Updateদিয়ে টীকা করা DAO পদ্ধতি এখনListenableFutureরিটার্ন টাইপ হিসাবে সমর্থন করে। b/119418331
বাগ ফিক্স
- একটি বাগ সংশোধন করা হয়েছে যেখানে রুম ভুলভাবে
@EntityএরignoredColumnsসম্পত্তিতে কলাম সহ একটি কনস্ট্রাক্টর খুঁজে বের করার চেষ্টা করবে। b/119830714 - একটি বাগ সংশোধন করা হয়েছে যেখানে রুম তাদের তৈরি করা বাস্তবায়নে DAO পদ্ধতির পরামিতিগুলিকে চূড়ান্ত হিসাবে চিহ্নিত করবে না। b/118015483
- একটি বাগ সংশোধন করা হয়েছে যেখানে বিশেষ চিহ্ন সহ একটি প্রশ্নে একটি ত্রুটি রিপোর্ট করার সময় রুমের প্রসেসর ক্র্যাশ হবে৷ b/119520136
- একটি বাগ সংশোধন করা হয়েছে যেখানে রুম একটি
INএক্সপ্রেশনের আর্গুমেন্ট হিসাবে অন্যান্য বিভিন্নCollectionবাস্তবায়নকে প্রত্যাখ্যান করবে। b/119884035 - একটি বাগ সংশোধন করা হয়েছে যেখানে রুম থেকে ফিরে আসা LiveData আবর্জনা সংগ্রহ করবে যখন চিরতরে পর্যবেক্ষণ করা হবে যার ফলে এটি আর নতুন ডেটা নির্গত করবে না। b/74477406
- লক বিতর্ক কমাতে
RoomDatabaseক্লোজ লক আপডেট করা হয়েছে। b/117900450
নভেম্বর 8, 2018
ওয়ার্ক ম্যানেজার
WorkManager 1.0.0-alpha11 প্রকাশিত হয়েছে। এই রিলিজটিতে অনেক পরিবর্তন রয়েছে যা beta স্থিতিশীল API হয়ে যাবে। এই রিলিজে ব্রেকিং API পরিবর্তন আছে; অনুগ্রহ করে নীচে ব্রেকিং API পরিবর্তন বিভাগটি দেখুন।
এপিআই পরিবর্তন
-
work-runtime-ktxএকটি নতুনCoroutineWorkerপরিচয় করিয়ে দেয়। -
WorkStatusনাম পরিবর্তন করেWorkInfoকরা হয়েছে। সমস্ত সংশ্লিষ্টgetStatusপদ্ধতির ভেরিয়েন্টের নাম পরিবর্তন করে সংশ্লিষ্টgetWorkInfoভেরিয়েন্টে রাখা হয়েছে। এটি একটি ব্রেকিং পরিবর্তন. -
ListenableWorker.onStopped()আর গ্রহণ করে না এমন একটি বুলিয়ান আর্গুমেন্ট রয়েছে যা উপস্থাপন করে যদিWorkRequestবাতিল করা হয়।WorkManagerআর এই পার্থক্য করে না। এটি একটি ব্রেকিং পরিবর্তন. -
androidx.work.testপ্যাকেজের নাম পরিবর্তন করেandroidx.work.testingপ্যাকেজ রাখা হয়েছে। এটি একটি ব্রেকিং পরিবর্তন. -
Constraintsনির্ধারণকারীরা আর পাবলিক API এর অংশ নয়। এটি একটি ব্রেকিং পরিবর্তন. -
WorkerParameters.getTriggeredContentUris()এবংWorkerParameters.getTriggeredContentAuthorities()পূর্বে অ্যারে ফিরিয়ে দিয়েছে। এখন এই পদ্ধতিগুলি সংগ্রহগুলি ফেরত দেয়। এটি একটি ব্রেকিং পরিবর্তন. -
ListenableWorker.onStartWork()এর নাম পরিবর্তন করেListenableWorker.startWork()করা হয়েছে। এটি একটি ব্রেকিং পরিবর্তন. -
WorkStatusএর কনস্ট্রাক্টর আর পাবলিক API-এর অংশ নয়। এটি একটি ব্রেকিং পরিবর্তন. -
Configuration.getMaxJobSchedulerID()এবংConfiguration.getMinJobSchedulerID()যথাক্রমেConfiguration.getMinJobSchedulerId()এবংConfiguration.getMaxJobSchedulerId()নামকরণ করা হয়েছে। এটি একটি ব্রেকিং পরিবর্তন. - API-এর ergonomics উন্নত করতে পাবলিক API-এ প্রচুর
@NonNullটীকা যোগ করা হয়েছে। - একটি
WorkContinuationতৈরি না করেই অনন্যOneTimeWorkRequestগুলি সারিবদ্ধ করতেWorkManager.enqueueUniqueWork()API যোগ করুন। -
WorkManagerএenqueueএবংcancelপদ্ধতির সমস্ত রূপ এখন একটি নতুনOperationপ্রকার প্রদান করে। এটি একটি ব্রেকিং পরিবর্তন. -
enqueueসমস্ত রূপ আরWorkRequests-এর জন্য varargs গ্রহণ করে না। এটি একটি ব্রেকিং পরিবর্তন. পরিবর্তে সংগ্রহ ব্যবহার করুন. আপনি বিদ্যমান কোড পরিবর্তন করতেArrays.asList()ব্যবহার করতে পারেন। আমরা API পৃষ্ঠ এবং পদ্ধতি গণনা কমাতে এটি করেছি। - প্রতি প্রক্রিয়ায় একাধিকবার
WorkManagerinitializeকরার চেষ্টা করলে এখন একটিIllegalStateExceptionহবে। এটি একটি ব্রেকিং পরিবর্তন.
বাগ ফিক্স
-
WorkRequest.Builderswork-runtime-ktxআর্টিফ্যাক্টে এখনListenableWorkers ব্যবহার করে। b/117666259 সংশোধন করে -
PeriodicWorkপরবর্তী রান টাইম ভবিষ্যতে নিশ্চিত করুন। b/118204399 সংশোধন করে - অ্যাপ স্টার্টআপে WorkManager ব্যবহার করার সময় সম্ভাব্য ডিস্ক I/O সরান। b/117796731 সংশোধন করে
-
WorkConstraintsTrackerএ রেসের অবস্থা ঠিক করুন। android-workmanager/issues/56 ঠিক করে
ব্রেকিং API পরিবর্তন
-
WorkStatusনাম পরিবর্তন করেWorkInfoকরা হয়েছে। সমস্ত সংশ্লিষ্টgetStatusপদ্ধতির ভেরিয়েন্টের নাম পরিবর্তন করে সংশ্লিষ্টgetWorkInfoভেরিয়েন্টে রাখা হয়েছে। -
ListenableWorker.onStopped()আর গ্রহণ করে না এমন একটি বুলিয়ান আর্গুমেন্ট রয়েছে যা উপস্থাপন করে যদিWorkRequestবাতিল করা হয়।WorkManagerআর এই পার্থক্য করে না। -
androidx.work.testপ্যাকেজের নাম পরিবর্তন করেandroidx.work.testingপ্যাকেজ রাখা হয়েছে। -
Constraintsনির্ধারণকারীরা আর পাবলিক API এর অংশ নয়। -
WorkerParameters.getTriggeredContentUris()এবংWorkerParameters.getTriggeredContentAuthorities()পূর্বে অ্যারে ফিরিয়ে দিয়েছে। এখন এই পদ্ধতিগুলি সংগ্রহগুলি ফেরত দেয়। -
ListenableWorker.onStartWork()এর নাম পরিবর্তন করেListenableWorker.startWork()করা হয়েছে। -
WorkStatusএর কনস্ট্রাক্টর আর পাবলিক API-এর অংশ নয়। -
Configuration.getMaxJobSchedulerID()এবংConfiguration.getMinJobSchedulerID()যথাক্রমেConfiguration.getMinJobSchedulerId()এবংConfiguration.getMaxJobSchedulerId()নামকরণ করা হয়েছে। -
WorkManagerএenqueueএবংcancelপদ্ধতির সমস্ত রূপ এখন একটি নতুনOperationপ্রকার প্রদান করে। -
enqueueসমস্ত রূপ আরWorkRequests-এর জন্য varargs গ্রহণ করে না। - প্রতি প্রক্রিয়ায় একাধিকবার
WorkManagerinitializeকরার চেষ্টা করলে এখন একটিIllegalStateExceptionহবে।
নভেম্বর 1, 2018
পেজিং
পেজিং 2.1.0-beta01 2.1.0-alpha01 থেকে কোনো পরিবর্তন ছাড়াই প্রকাশ করা হয়েছে।
অক্টোবর 30, 2018
রুম
রুম 2.1.0-alpha02 বেশ কয়েকটি বাগ ফিক্স এবং একটি নতুন বৈশিষ্ট্য সহ প্রকাশ করা হয়েছে।
নতুন বৈশিষ্ট্য
-
@Relationএ একটি@DatabaseViewউল্লেখ করার জন্য সমর্থন যোগ করা হয়েছে। b/117680932
বাগ ফিক্স
- Rx রিটার্ন টাইপ থেকে সাবস্ক্রাইব এবং নিষ্পত্তি করার সময় রুম মূল থ্রেডে ডিস্ক I/O সঞ্চালন করবে এমন একটি বাগ সংশোধন করা হয়েছে। b/117201279
- একটি বাগ সংশোধন করা হয়েছে যেখানে রুম একটি Kotlin সত্তা ক্লাসে একটি ক্ষেত্রের জন্য একটি উপযুক্ত টাইপ রূপান্তরকারী খুঁজে পেতে ব্যর্থ হবে৷ b/111404868
- একটি বাগ সংশোধন করা হয়েছে যেখানে রুম একটি
DAOইন্টারফেস বাস্তবায়নের জন্য ভুল কোড তৈরি করবে যার মধ্যে একটি Kotlin ডিফল্ট পদ্ধতি রয়েছে যার কোনো যুক্তি নেই। b/117527454 - রুমের SQLite ব্যাকরণ পার্সার আপডেট করা হয়েছে, একটি পারফরম্যান্স সমস্যা সমাধান করা যা দীর্ঘ বিল্ড টাইম সৃষ্টি করবে। b/117401230
অক্টোবর 29, 2018
নেভিগেশন
নেভিগেশন 1.0.0-alpha07 বাগ ফিক্স এবং API পরিবর্তন সহ প্রকাশ করা হয়েছে।
নতুন বৈশিষ্ট্য
- একটি নতুন 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
অক্টোবর 12, 2018
পেজিং
পেজিং 2.1.0-alpha01 দুটি প্রধান সংযোজন - পৃষ্ঠা ড্রপিং, এবং প্রতিটি আর্টিফ্যাক্টের জন্য KTX এক্সটেনশন লাইব্রেরি - সেইসাথে অন্যান্য বেশ কয়েকটি API পরিবর্তন এবং বাগ ফিক্সের সাথে প্রকাশ করা হয়েছে।
এপিআই পরিবর্তন
- মেমরিতে লোড করা আইটেমের সংখ্যা সীমিত করার জন্য
PagedList.Config.Builder.setMaxSize()যোগ করা হয়েছে। -
PagedList.Config.Builderএর জন্য Kotlin বিকল্প হিসেবেandroidx.paging.Config()যোগ করা হয়েছে -
PagedList.Builderএর জন্য Kotlin বিকল্প হিসেবেandroidx.paging.PagedList()যোগ করা হয়েছে -
LivePagedListBuilderএর জন্য Kotlin বিকল্প হিসাবেDataSourceFactory.toLiveData()যোগ করা হয়েছে -
RxPagedListBuilderএর জন্য Kotlin বিকল্প হিসেবেDataSourceFactory.toObservable()এবংtoFlowable()যোগ করা হয়েছে - PagedList অদলবদল করা হলে শোনার জন্য
AsyncPagedListDiffer.addPagedListListener()যোগ করা হয়েছে। b/111698609 -
PagedListAdapter.onCurrentListChanged()ভেরিয়েন্ট যোগ করা হয়েছে যা পুরানো এবং নতুন তালিকাকে পাস করে, পূর্ববর্তী ভেরিয়েন্টকে বাতিল করা হয়েছে। -
PagedListAdapter/AsyncPagedListDiffer.submitList()ভেরিয়েন্ট যোগ করা হয়েছে যা একটি অতিরিক্ত কলব্যাক নেয় যা ট্রিগার করে যদি/যখন পেজডলিস্ট ডিফ করার পরে প্রদর্শিত হয়। এটি আপনাকে অন্যান্য UI আপডেটের সাথে একটি PagedList সোয়াপ সিঙ্ক্রোনাইজ করতে দেয়। b/73781068 -
PagedList.getLoadedCount()যোগ করা হয়েছে আপনাকে জানাতে যে কতগুলি আইটেম মেমরিতে আছে। মনে রাখবেন যে স্থানধারক নিষ্ক্রিয় থাকলে রিটার্ন মান সবসময়.size()এর সমান হয়।
বাগ ফিক্স
- তালিকা পুনঃব্যবহার করা হলে পার্থক্য করার সময় রেসের শর্ত স্থির করা হয়েছে b/111591017
-
PagedList.loadAround()এখনIndexOutOfBoundsExceptionনিক্ষেপ করে যখন ইনডেক্স অবৈধ হয়। পূর্বে এটি একটি অস্পষ্ট অন্য ব্যতিক্রম সঙ্গে ক্র্যাশ হতে পারে. - একটি কেস সংশোধন করা হয়েছে যেখানে অপরিবর্তিত ডেটা সহ একটি অত্যন্ত ছোট প্রারম্ভিক লোড আকারের ফলে b/113122599 আর লোড হবে না
11 অক্টোবর, 2018
ওয়ার্ক ম্যানেজার
WorkManager 1.0.0-alpha10 ডেভেলপার-নিয়ন্ত্রিত অ্যাসিঙ্ক্রোনাস কাজের জন্য সমর্থন সহ প্রকাশ করা হয়েছে। এই রিলিজে ব্রেকিং API পরিবর্তন আছে; অনুগ্রহ করে নীচে ব্রেকিং API পরিবর্তন বিভাগটি দেখুন।
আমরা আশা করি যে WorkManager তার আলফা সময়ের চূড়ান্ত পর্যায়ে প্রবেশ করছে। আমরা বিটাতে এপিআই স্থিতিশীল হওয়ার আশা করি, তাই আমাদের সমস্যা ট্র্যাকারে আপনার প্রতিক্রিয়া জানাতে কিছু সময় নিন।
এপিআই পরিবর্তন
- পূর্বে
deprecatedসমস্ত পদ্ধতি এবং ক্লাস মুছে ফেলা হয়েছে, বিশেষ করে ডিফল্টWorkerকনস্ট্রাক্টর। এটি একটি ব্রেকিং API পরিবর্তন। -
NonBlockingWorkerListenableWorkerএ নামকরণ করা হয়েছে, যা এখন একটি অগোপন পাবলিক ক্লাস এবং ব্যবহারের জন্য প্রস্তুত৷-
ListenableWorkerএকটি বিমূর্ত পদ্ধতিতে অ্যাক্সেস প্রদান করে,ListenableFuture<Payload> onStartWork()যা প্রধান থ্রেডে বলা হয়। অ্যাসিঙ্ক্রোনাসভাবে কাজ শুরু করা এবং প্রক্রিয়া করা আপনার উপর নির্ভর করে। শেষ হয়ে গেলে, আপনার উপযুক্তভাবেListenableFutureআপডেট করা উচিত।ListenableFutures-এর রেফারেন্স ইমপ্লিমেন্টেশনগুলিalpha02এরFuturesপ্যাকেজে দেওয়া হয়েছে (WorkManagerবিভাগের নীচে দেখুন)। -
WorkerListenableWorkerপ্রসারিত করে এবং এখনও আগের মতই কাজ করে, একটি বিমূর্তResult doWork()পদ্ধতির সাথে। -
WorkerথেকেListenableWorkerপর্যন্ত কিছু পদ্ধতি এবং সদস্যদের পরিবর্তন করা হয়েছে। - আমরা শীঘ্রই
ListenableWorkerএর জন্য রেফারেন্স বাস্তবায়ন প্রদান করব যেগুলি Kotlin coroutines ব্যবহার করে (একবার স্থিতিশীল সংস্করণ প্রকাশিত হলে) এবং RxJava2।
-
- ইন্টারফেস
WorkerFactoryএবং কংক্রিট বাস্তবায়নDefaultWorkerFactoryকেWorkerFactoryনামে একটি বিমূর্ত শ্রেণীতে একীভূত করা হয়েছে। বাস্তবায়ন নিশ্চিত করে যে ডিফল্ট প্রতিফলন-ভিত্তিক আচরণকে ব্যবহারকারী-সৃষ্টWorkerFactoryদৃষ্টান্তগুলির জন্য একটি শেষ-খাত প্রচেষ্টা হিসাবে বলা হয়। এটি একটি ব্রেকিং পরিবর্তন. -
WorkManager.synchronous()এবংWorkContinuation.synchronous()এবং সমস্ত সম্পর্কিত পদ্ধতিগুলি সরানো হয়েছে৷ API-এ অনেক পদ্ধতির রিটার্ন টাইপ হিসাবেListenableFuture<Void>যোগ করা হয়েছে। এটি একটি ব্রেকিং API পরিবর্তন।- আপনি এখন
ListenableFutureব্যবহার করে সিঙ্ক্রোনাসভাবে পেতে এবং পর্যবেক্ষণ করতে পারেন। উদাহরণস্বরূপ,WorkManager.enqueue()voidফেরত দিতে ব্যবহৃত হয়; এটি এখন একটিListenableFuture<Void>প্রদান করে। অপারেশন সম্পূর্ণ হলে কোড চালানোর জন্য আপনিListenableFuture.addListener(Runnable, Executor)অথবাListenableFuture.get()কল করতে পারেন। - মনে রাখবেন যে এই
ListenableFutureগুলি আপনাকে বলে না যে অপারেশন সফল হয়েছে নাকি ব্যর্থ হয়েছে; শুধুমাত্র যে তারা শেষ. এই তথ্য খুঁজে বের করার জন্য আপনাকে এখনও WorkManager পদ্ধতি চেইন করতে হবে। - আমরা এই অবজেক্টগুলিতে
cancel()কলগুলিকে উপেক্ষা করি, কারণ সেগুলি বিভ্রান্তিকর এবং যুক্তি দেওয়া কঠিন (আপনি কি অপারেশন বাতিল করছেন বা ফলস্বরূপ কাজ?) এটিFutureচুক্তির মধ্যে রয়েছে। - সিঙ্ক্রোনাস
getStatus*পদ্ধতির সাথে সমতা বজায় রাখার জন্য, আমরাListenableFutureভেরিয়েন্ট প্রদান করেছি, এবং নামের অংশ হিসাবে স্পষ্টভাবে "LiveData" রাখতেLiveDataফিরিয়ে দেওয়া বিদ্যমানগুলির নাম পরিবর্তন করেছি (উদাহরণস্বরূপ,getStatusesByIdLiveData(UUID))। এটি একটি ব্রেকিং API পরিবর্তন।
- আপনি এখন
বাগ ফিক্স
- ডুপ্লিকেট
androidx-annotations.proফাইল সংক্রান্ত alpha09 থেকে পরিচিত সমস্যা সমাধান করা হয়েছে। আপনি আপনার gradle ফাইল থেকেexclude 'META-INF/proguard/androidx-annotations.pro'পূর্ববর্তী রিলিজ নোটগুলি থেকে সমাধানটি সরিয়ে ফেলতে পারেন। - নতুন
Workerকনস্ট্রাক্টর রাখার জন্য প্রোগার্ড কনফিগারেশন যোগ করা হয়েছে। b/116296569 - একটি রেস অবস্থায় সম্ভাব্য
NullPointerExceptionঠিক করুন যেখানে কাজREPLACEd ছিল। b/116253486 এবং b/116677275 -
WorkContinuation.combine()এখন দুই বা ততোধিক কাজের পরিবর্তে এক বা একাধিকWorkContinuationগ্রহণ করে। b/117266752
ব্রেকিং API পরিবর্তন
- পূর্বে
deprecatedসমস্ত পদ্ধতি এবং ক্লাস মুছে ফেলা হয়েছে, বিশেষ করে ডিফল্টWorkerকনস্ট্রাক্টর। - ইন্টারফেস
WorkerFactoryএবং কংক্রিট বাস্তবায়নDefaultWorkerFactoryকেWorkerFactoryনামে একটি বিমূর্ত শ্রেণীতে একীভূত করা হয়েছে। -
WorkManager.synchronous()এবংWorkContinuation.synchronous()সরানো হয়েছে। -
WorkManager.getStatus*()পদ্ধতি এখনListenableFutures ফেরত দেয়।WorkManager.getStatus*LiveData()LiveDatas ফেরত দেয়।
ফিউচার
ফিউচার 1.0.0-alpha02 প্রকাশিত হয়েছে।
এপিআই পরিবর্তন
- ডেভেলপাররা এখন
ListenableFutureএর লাইটওয়েট কংক্রিট বাস্তবায়ন হিসাবেResolvableFutureএবংAbstractResolvableFutureব্যবহার করতে পারেন।
অক্টোবর 8, 2018
রুম
রুম 2.1.0-alpha01 প্রকাশিত হয়েছে।
নতুন বৈশিষ্ট্য
- FTS : রুম এখন একটি ম্যাপিং FTS3 বা FTS4 টেবিল সহ সত্তা সমর্থন করে। একটি ম্যাপিং পূর্ণ-পাঠ্য অনুসন্ধান টেবিলের সাথে একটি ক্লাস ঘোষণা করতে
@Entityএর সাথে টীকা করা ক্লাসগুলি এখন@Fts3বা@Fts4এর সাথে অতিরিক্ত টীকা করা যেতে পারে। আরও কাস্টমাইজেশনের জন্য FTS বিকল্পগুলি টীকা পদ্ধতির মাধ্যমে উপলব্ধ। b/62356416 - ভিউ : রুম এখন একটি ক্লাসকে সঞ্চিত ক্যোয়ারী হিসেবে ঘোষণা করা সমর্থন করে, যা @DatabaseView টীকা ব্যবহার করে একটি ভিউ নামেও পরিচিত। b/67033276
- স্বয়ংক্রিয় মান : রুম এখন অটোভ্যালু টীকাযুক্ত ক্লাসগুলিকে সত্তা এবং POJO হিসাবে ঘোষণা করা সমর্থন করে৷ রুম টীকা
@PrimaryKey,@ColumnInfo,@Embeddedএবং@Relationএখন একটি স্বয়ংক্রিয় মান টীকা করা ক্লাসের বিমূর্ত পদ্ধতিতে ঘোষণা করা যেতে পারে। মনে রাখবেন যে এই টীকাগুলিকে সঠিকভাবে বোঝার জন্য রুমের জন্য@CopyAnnotationsএর সাথেও থাকতে হবে। b/62408420 - অতিরিক্ত Rx রিটার্ন টাইপ সমর্থন :
@Insert,@Deleteবা@Updateদিয়ে টীকা করা DAO পদ্ধতিগুলি এখন Rx রিটার্নের প্রকারগুলিকে সমর্থন করেCompletable,Single<T>এবংMaybe<T>। b/63317956 -
@Relationএর সাথে অপরিবর্তনীয় প্রকার : রুম পূর্বে প্রয়োজন@Relationটীকা ক্ষেত্রগুলি সেট করা যায় কিন্তু এখন সেগুলি কনস্ট্রাক্টর প্যারামিটার হতে পারে। -
enableMultiInstanceInvalidation:RoomDatabase.Builderএ একটি নতুন API। একই ডাটাবেস ফাইল ব্যবহার করে রুমডেটাবেসের একাধিক ইন্সট্যান্স জুড়ে অবৈধকরণ সক্ষম করার জন্য বিল্ডার। এই মাল্টি-ইনস্ট্যান্স ইনভেলিডেশন মেকানিজম একাধিক প্রসেস জুড়েও কাজ করে। b/62334005 -
fallbackToDestructiveMigrationOnDowngrade:RoomDatabase.Builderএ একটি নতুন API যা ডাউনগ্রেড হলে স্বয়ংক্রিয়ভাবে ডাটাবেস পুনরায় তৈরি করে। b/110416954 -
ignoredColumns:@Entityটীকাতে একটি নতুন API যা নাম অনুসারে উপেক্ষা করা ক্ষেত্রগুলিকে তালিকাভুক্ত করতে ব্যবহার করা যেতে পারে। একটি সত্তার উত্তরাধিকারসূত্রে প্রাপ্ত ক্ষেত্রগুলি উপেক্ষা করার জন্য দরকারী৷ b/63522075
API / আচরণ পরিবর্তন
-
RoomDatabasemCallbackএবংmDatabaseএখন@Deprecatedএবং Room এর পরবর্তী বড় সংস্করণে সরিয়ে দেওয়া হবে। b/76109329
বাগ ফিক্স
- দুটি সমস্যা সমাধান করা হয়েছে যেখানে রুম সঠিকভাবে একটি দূষিত ডাটাবেস থেকে পুনরুদ্ধার করবে না বা শুরু করার সময় একটি খারাপ মাইগ্রেশন। b/111504749 এবং b/111519144
- রুম এখন সঠিকভাবে ডেটা ক্লাসে কোটলিনের প্রাথমিক কনস্ট্রাক্টর ব্যবহার করবে এবং ক্ষেত্রগুলিকে
varsহিসাবে ঘোষণা করার প্রয়োজন এড়িয়ে যাবে। b/105769985
অক্টোবর 1, 2018
রুম 2.0.0 2.0.0-rc01 থেকে কোন পরিবর্তন ছাড়াই প্রকাশ করা হয়েছে। পেজিং 2.0.0 একটি একক বাগফিক্সের সাথে প্রকাশ করা হয়েছে।
পেজিং
বাগ ফিক্স
-
PositionalDataSourceএবং স্থানধারক b/114635383 ব্যবহার করে খুব দ্রুত স্ক্রল করার সাথে ঘটতে পারে এমন একটি ক্র্যাশ সংশোধন করা হয়েছে।
সেপ্টেম্বর 21, 2018
লাইফসাইকেল 2.0.0 ViewModel-এ 2.0.0-rc01 থেকে একটি বাগফিক্স সহ প্রকাশ করা হয়েছে।
জীবনচক্র
বাগ ফিক্স
- একটি ভিউমডেল প্রগার্ড নিয়ম সংশোধন করা হয়েছে যা ভুলভাবে কনস্ট্রাক্টরগুলিকে সরিয়ে দেয় b/112230489
সেপ্টেম্বর 20, 2018
নেভিগেশন
নেভিগেশন 1.0.0-alpha06 বাগ ফিক্স এবং API পরিবর্তন সহ প্রকাশ করা হয়েছে।
নতুন বৈশিষ্ট্য
- ফ্র্যাগমেন্ট এবং অ্যাক্টিভিটি গন্তব্যের জন্য শেয়ার্ড এলিমেন্ট ট্রানজিশন এখন b/79665225 সমর্থিত। আরও তথ্যের জন্য, নেভিগেশন আর্কিটেকচার কম্পোনেন্টের সাথে নেভিগেশন বাস্তবায়ন দেখুন
-
NavigationViewএকটি আইটেম নির্বাচন করা এখন যেকোনও নিচের শীট b/112158843 ধারণ করে বন্ধ করে দেবে
এপিআই পরিবর্তন
- ব্রেকিং চেঞ্জ: নেভিগেটর
navigate()পদ্ধতিতে এখন একটিNavigator.Extrasপ্যারামিটার লাগে। - NavController এর
getGraph()পদ্ধতি এখনNonNullb/112243286
বাগ ফিক্স
-
NavigationUI.setupWithNavController()পৃথক গন্তব্য b/111961977 থেকে ভিউ ব্যবহার করলে আর ভিউ ফাঁস হয় না - নেভিগেটর
onSaveState()এখন শুধুমাত্র একবার b/112627079 বলা হয়
নিরাপদ Args
- ন্যাভিগেশন গন্তব্য দিকনির্দেশের ক্লাসগুলি এখন তাদের পিতামাতার দিকনির্দেশ ক্লাস প্রসারিত করে যদি এটি বিদ্যমান থাকে b/79871405
- নির্দেশাবলী এবং Args ক্লাসে এখন একটি দরকারী
toString()বাস্তবায়ন b/111843389 আছে
সেপ্টেম্বর 19, 2018
ওয়ার্ক ম্যানেজার
WorkManager 1.0.0-alpha09 বাগ ফিক্স, পরিকাঠামো আপডেট, এবং API পরিবর্তন সহ প্রকাশ করা হয়েছে।
পরিচিত সমস্যা
আপনি যদি নিম্নলিখিত সমস্যার সম্মুখীন হন: "ওএস স্বাধীন পাথ 'META-INF/proguard/androidx-annotations.pro'-এর সাথে একাধিক ফাইল পাওয়া গেছে", অনুগ্রহ করে আপনার গ্রেডল ফাইলে একটি অস্থায়ী সমাধান হিসাবে রাখুন আলফা 10 এ সমস্যা:
গ্রোভি
android { packagingOptions { exclude 'META-INF/proguard/androidx-annotations.pro' } }
কোটলিন
android { packagingOptions { exclude("META-INF/proguard/androidx-annotations.pro") } }
বাগ ফিক্স
- "100 কাজ" ত্রুটির জন্য প্রয়োজনীয় আরেকটি সংশোধন যোগ করা হয়েছে। b/115560696
- রেসের অবস্থার কারণে বিদেশী কী সীমাবদ্ধতার ত্রুটির জন্য কিছু সংশোধন করা হয়েছে। b/114705286
- অর্পিত
ConstraintTrackingWorker.onStopped(boolean)অন্তর্নিহিতWorkerকল করে। b/114125093 - Firebase JobDispatcher-এর জন্য সঠিক ন্যূনতম ব্যাকঅফ বিলম্ব কার্যকর করুন। b/113304626
- উন্নত থ্রেডিং লাইব্রেরির অভ্যন্তরীণ গ্যারান্টি দেয়।
- অভ্যন্তরীণভাবে
LiveDataডিডুপ করার সাথে সম্ভাব্য সমস্যা সঠিক করুন।
এপিআই পরিবর্তন
- আপনি এখন
WorkManager.Configurationএর অংশ হিসাবে একটিWorkerFactoryউল্লেখ করে রানটাইমে আপনার নিজস্বWorkerদৃষ্টান্ত তৈরি করতে পারেন। ফলব্যাক ফ্যাক্টরি হলDefaultWorkerFactory, যা WorkManager-এর পূর্ববর্তী সংস্করণের আচরণের সাথে মেলে।-
WorkerএবংNonBlockingWorkerএর জন্য ডিফল্ট কনস্ট্রাক্টরগুলি এখন অবচিত হিসাবে চিহ্নিত করা হয়েছে। অনুগ্রহ করে নতুন কনস্ট্রাক্টর ব্যবহার করুন (Worker(Context, WorkerParameters)) এবং কল করুনsuper(Context, WorkerParameters); WorkManager-এর ভবিষ্যত সংস্করণগুলি ডিফল্ট কনস্ট্রাক্টরকে সরিয়ে দেবে।
-
- আমরা অভ্যন্তরীণভাবে নতুন
ListenableFutureআর্টিফ্যাক্ট ব্যবহার শুরু করেছি (পেয়ারা নির্ভরতা থেকে মুক্ত)। আমরা আসন্ন রিলিজে এপিআই-তে Listenable Futures-এর সাথে পরিচয় করিয়ে দেব। এই পরিবর্তনটিNonBlockingWorkerএর চূড়ান্ত লুকানো সমর্থন করবে। -
TestDriver.setInitialDelayMet(UUID)এবংTestDriver.setPeriodDelayMet(UUID)এর মাধ্যমেTestDriverএ সময়মত কাজ ট্রিগার করার ক্ষমতা যোগ করুন। b/113360060
ব্রেকিং পরিবর্তন
- ডিফল্ট
WorkerএবংNonBlockingWorkerকনস্ট্রাক্টরগুলিকে অবমূল্যায়ন করা হয়েছে। শীঘ্রই নতুন কনস্ট্রাক্টরে মাইগ্রেট করুন। ভবিষ্যতের সংস্করণগুলি ডিফল্ট কনস্ট্রাক্টরকে সরিয়ে দেবে।
27 আগস্ট, 2018
ওয়ার্ক ম্যানেজার
WorkManager 1.0.0-alpha08 বাগ ফিক্স সহ প্রকাশ করা হয়েছে।
বাগ ফিক্স
- ওয়ার্ক ম্যানেজার উপাদানগুলিকে সরাসরি বুট হিসাবে স্পষ্টভাবে লেবেল করা হয়েছে যাতে তারা সরাসরি বুট করার সময় ফায়ার না করে। ভবিষ্যতে, আমরা WorkManager-এর একটি সংস্করণ প্রদান করব যা সরাসরি বুট-সচেতন। b/112665532
- একটি সমস্যা সমাধান করা হয়েছে যেখানে পুনরায় চেষ্টা করা কাজ চলছে না। b/112604021
- স্থির পর্যায়ক্রমিক কাজ বারবার কার্যকর হচ্ছে না (উপরের সমস্যা সম্পর্কিত)। b/112859683
- অ্যাপ্লিকেশান প্রক্রিয়া ইতিমধ্যে চলমান যখন সম্মানিত ব্যাকঅফ নীতি.
- সীমা 10KB নির্দেশ করতে
Dataব্যতিক্রম বার্তাগুলি সংশোধন করা হয়েছে৷ -
JobSchedulerপ্রক্রিয়াকরণ সমাপ্তির কিছু বিলম্বের জন্যConfiguration.setMaxSchedulerLimit(int)এর সর্বোচ্চ মান 50-এ নামিয়ে আনা হয়েছে। b/112817355
16 আগস্ট, 2018
ওয়ার্ক ম্যানেজার
WorkManager 1.0.0-alpha07 বাগ ফিক্স এবং ছোটখাটো API পরিবর্তনের সাথে প্রকাশ করা হয়েছে।
বাগ ফিক্স
- নেতিবাচক সীমা সহ একটি সম্ভাব্য SQL ক্যোয়ারী স্থির করা হয়েছে যা সীমাহীন সংখ্যক ফলাফল দিতে পারে।
- যে কাজটি সম্পাদন করা শেষ হয়েছে এখন সঠিকভাবে অন্যান্য সময়সূচীতে সেই কাজের সমস্ত মুলতুবি থাকা কপি বাতিল করে। এর ফলে
JobSchedulerচাকরির সীমা ছাড়িয়ে গেছে। b/111569265 -
ConstraintTrackerএ একটিConcurrentModificationExceptionস্থির করা হয়েছে। b/112272753 -
Data.getBooleanArray(String)এবংData.getIntArray(String)এর রিটার্ন টাইপ টীকাকে@NonNullএর পরিবর্তে@Nullableএ পরিবর্তন করা হয়েছে। b/112275229
এপিআই পরিবর্তন
-
Workerএখন একটি নতুন ক্লাস প্রসারিত করে,NonBlockingWorker। এটি কোনো বর্তমান ব্যবহারকে প্রভাবিত করে না। ভবিষ্যতে,NonBlockingWorkerকাস্টম থ্রেডিং সমাধানের জন্য একটি সম্পূর্ণ সমর্থিত সত্তা হয়ে উঠবে। -
Data.getBooleanArray(String)এবংData.getIntArray(String)এর রিটার্ন টাইপ টীকাকে@NonNullএর পরিবর্তে@Nullableএ পরিবর্তন করা হয়েছে। b/112275229 - Kotlin এক্সটেনশন:
Map.toWorkData()বাতিল করা হয়েছে এবং বিদ্যমান API-এর সাথে আরও সামঞ্জস্যপূর্ণ হতে একটি শীর্ষ-স্তরেরworkDataOf(vararg Pair<String, Any?>)যোগ করা হয়েছে।
আগস্ট 10, 2018
নেভিগেশন
নেভিগেশন 1.0.0-alpha05 বাগ ফিক্স সহ প্রকাশ করা হয়েছে।
বাগ ফিক্স
- ভুল ব্যাকস্ট্যাক আচরণের কারণ একটি বাগ ঠিক করুন। b/111907708
- জেনারেটেড Args ক্লাসের
equals()এ একটি বাগ ঠিক করুন। b/111450897 - Safe Args এ একটি বিল্ড ব্যর্থতা ঠিক করুন। b/109409713
- রিসোর্স আইডেন্টিফায়ার থেকে জাভা নাম b/111602491 এ একটি রূপান্তর ঠিক করুন
- Safe Args প্লাগইনে শূন্যতা সম্পর্কে ত্রুটি বার্তা ঠিক করুন।
- অনুপস্থিত শূন্যতা টীকা যোগ করুন।
আগস্ট 6, 2018
লাইফসাইকেল, রুম, এবং পেজিং রিলিজ সংস্করণ 2.0.0-rc01 এর AndroidX সংস্করণ। সমস্ত শিল্পকর্ম 2.0.0-beta01 থেকে অপরিবর্তিত।
আগস্ট 1, 2018
ওয়ার্ক ম্যানেজার
WorkManager 1.0.0-alpha06 বাগ ফিক্স সহ প্রকাশ করা হয়েছে।
বাগ ফিক্স
- কাজের সময় নির্ধারণ করার সময় একটি ডাটাবেস লক প্রতিরোধ করুন। b/111801342
- ডোজ মোডে থাকাকালীন সময়সূচী অনুযায়ী
PeriodicWorkনা চলার কারণ একটি বাগ ঠিক করুন। b/111469837 - সীমাবদ্ধতাগুলি ট্র্যাক করার সময় একটি রেসের অবস্থা ঠিক করুন যার ফলে
WorkManagerক্র্যাশ হয়৷ googlecodelabs/android-workmanager/issues/56 -
WorkRequest.Builder#build()ব্যবহার করার সময় অনন্যWorkRequestতৈরি করুন। b/111408337 -
RescheduleReceiverব্যবহার শুধুমাত্র তখনই সক্ষম করুন যখনWorkRequestএর প্রয়োজন আছে। b/111765853
জুলাই 24, 2018
ওয়ার্ক ম্যানেজার
ওয়ার্কম্যানেজার 1.0.0-alpha05 গুরুত্বপূর্ণ বাগ ফিক্স এবং লগিং পরিবর্তনগুলির সাথে প্রকাশিত হয়।
এপিআই পরিবর্তন
-
WorkManager.getInstance()এখন@Nullableএর পরিবর্তে@NonNullদিয়ে টীকাযুক্ত। পরিবর্তে, যদি ম্যানুয়াল ইনিশিয়ালাইজেশনের ক্ষেত্রে সিঙ্গলটন সঠিকভাবে আরম্ভ না করা হয় তবে পদ্ধতিটি একটিIllegalStateExceptionনিক্ষেপ করবে। এটি একটি ব্রেকিং এপিআই পরিবর্তন। - একটি নতুন এপিআই,
Configuration.Builder.setMinimumLoggingLevel(int)যুক্ত করা হয়েছে, যা ওয়ার্কম্যানেজার ভার্বোসিটি নিয়ন্ত্রণ করতে পারে। ডিফল্টরূপে, ওয়ার্কম্যানেজার লগLog.INFOএবং তারপরে। -
Data.getString()এর স্বাক্ষর পরিবর্তিত হয়েছে যাতে এটি আর কোনও ডিফল্ট মান নেয় না (এটি স্পষ্টতইnull)। এটি একটি ব্রেকিং এপিআই পরিবর্তন। - কেবল
@hideহিসাবে অভ্যন্তরীণ ব্যবহারের জন্য প্রয়োজনীয় কিছু পদ্ধতি চিহ্নিত করা হয়েছে। এর মধ্যে রয়েছেConstraintsকনস্ট্রাক্টর,Data.toByteArray(), এবংData.fromByteArray(byte[])। এটি একটি ব্রেকিং এপিআই পরিবর্তন।
বাগ ফিক্স
- ওয়ার্কম্যানেজার অটো-ব্যাকআপের পরিচিত ক্ষেত্রে আর কাজ কার্যকর করে না। এর ফলে ক্র্যাশ হতে পারে। বি/110564377
-
JobSchedulerব্যবহার করার সময়PeriodicWorkRequestএস এর স্থির ডাবল-শেডুলিং। বি/110798652 -
PeriodicWorkRequestএস ডিভাইস ডোজের পরে সঠিকভাবে কার্যকর না করে একটি সমস্যা স্থির করে। বি/111469837 - ফায়ারবেস জবডিস্প্যাচার ব্যবহার করার সময় প্রাথমিক বিলম্বের সাথে একটি সমস্যা স্থির করে। বি/111141023
- কিছু সম্ভাব্য জাতি শর্ত এবং সময় সংক্রান্ত সমস্যা স্থির করে।
-
BroadcastReceiverসঠিকভাবে মুক্তি দিয়েছিল যা আর প্রয়োজন ছিল না। - ফোর্স বন্ধ হওয়ার পরে অ্যাপ্লিকেশনগুলি পুনরায় আরম্ভ করার সময় অপ্টিমাইজড পুনঃনির্ধারণ কর্মক্ষমতা।
- অনুমোদিত
TestScheduler.setAllConstraintsMet(UUID)প্রদত্তWorkRequestএনকুই করার আগে বা পরে কল করার জন্য। বি/111238024
ব্রেকিং পরিবর্তন
-
WorkManager.getInstance()এখন@Nullableএর পরিবর্তে@NonNullদিয়ে টীকাযুক্ত। -
Data.getString()এর স্বাক্ষর পরিবর্তিত হয়েছে যাতে এটি আর কোনও ডিফল্ট মান নেয় না (এটি স্পষ্টতইnull)। - কেবল
@hideহিসাবে অভ্যন্তরীণ ব্যবহারের জন্য প্রয়োজনীয় কিছু পদ্ধতি চিহ্নিত করা হয়েছে। এর মধ্যে রয়েছেConstraintsকনস্ট্রাক্টর,Data.toByteArray(), এবংData.fromByteArray(byte[])।
জুলাই 19, 2018
নেভিগেশন
নেভিগেশন 1.0.0-alpha04 এবং সম্পর্কিত নিরাপদ আরগস গ্রেডল প্লাগইনটিতে বেশ কয়েকটি এপিআই পরিবর্তন, আচরণ পরিবর্তন এবং বাগ ফিক্স রয়েছে।
এপিআই / আচরণ পরিবর্তন
- নাভোস্টফ্র্যাগমেন্ট সর্বদা বর্তমানের খণ্ডটিকে প্রাথমিক নেভিগেশন খণ্ড হিসাবে সেট করবে, এটি নিশ্চিত করে যে বাইরের নাভকন্ট্রোলার বি/111345778 পপ করার আগে শিশু খণ্ড পরিচালকদের পপ করা হয়েছে তা নিশ্চিত করে
নিরাপদ Args
- ব্রেকিং পরিবর্তন:
app:typeapp:argTypeঅন্যান্য লাইব্রেরির সাথে বিরোধগুলি এড়াতে যেমন কনস্ট্রেন্টলআউট 2.0.0-আলফা 1 বি/111110548 - নিরাপদ আরগস থেকে ত্রুটি বার্তাগুলি এখন ক্লিকযোগ্য বি/111534438
- এআরজিএস ক্লাসগুলি এখন নিশ্চিত করে যে
NonNullবৈশিষ্ট্যগুলি আসলে নাল বি/111451769 নয় - অতিরিক্ত
NonNullটী
বাগ ফিক্স
- একটি খণ্ড গন্তব্য বি/111515685 এর সাথে গভীর সংযোগের পরে সিস্টেম ব্যাক বোতামের সাথে একটি সমস্যা স্থির করে
জুলাই 12, 2018
নেভিগেশন
নেভিগেশন 1.0.0-alpha03 এবং সম্পর্কিত নিরাপদ আরগস গ্রেডল প্লাগইনটিতে বেশ কয়েকটি এপিআই পরিবর্তন, আচরণের পরিবর্তন এবং বাগ ফিক্স রয়েছে।
এপিআই / আচরণ পরিবর্তন
- সরঞ্জামদণ্ডের জন্য একটি নেভিগেশনউই.সেটআপউইথনভকন্ট্রোলার পদ্ধতি বি/109868820 যুক্ত করা হয়েছে
- একটি নেভিগেশনউই.সেটআপউইথনভকন্ট্রোলার পদ্ধতিটি ভেঙে পড়ার জন্য বি/110887183 যুক্ত করা হয়েছে
- পপব্যাকস্ট্যাক () এখন পিছনের স্ট্যাকটি খালি থাকলে বা যখন প্রদত্ত গন্তব্য আইডি ব্যাক স্ট্যাক বি/110893637 এ না থাকে তখন মিথ্যা ফেরত দেয়
- ফ্রেগমেন্টনাভিগেটর এখন ফ্রেগমেন্টম্যানেজার রাজ্যকে বাঁচানোর পরে নেভিগেশন অপারেশনগুলিকে উপেক্ষা করে, "অনস্যাভেইনস্ট্যানস্টেটেট পরে এই ক্রিয়াটি সম্পাদন করতে পারে না" ব্যতিক্রম বি/110987825 এড়িয়ে চলা
নিরাপদ Args
- ব্রেকিং পরিবর্তন: অ্যাকশন এবং আর্গুমেন্টের নামগুলিতে অ-আলফানিউমারিক চরিত্রগুলি সম্পর্কিত নাবডাইরেকশন পদ্ধতির নামগুলিতে উট কেসিং দ্বারা প্রতিস্থাপন করা হবে
- যেমন
DemoController.indexsetDemoControllerIndexবি/79995048 হয়ে যাবে - যেমন
action_show_settingsactionShowSettingsবি/79642240 হয়ে উঠবে
- যেমন
- ব্রেকিং পরিবর্তন: যুক্তিগুলি এখন ডিফল্টরূপে নন-নাল হিসাবে বিবেচিত হয়। স্ট্রিং এবং পার্সেলেবল আর্গুমেন্টগুলিতে নাল মানগুলি অনুমতি দেওয়ার জন্য,
app:nullable="true"বি/79642307 - আপনি এখন
app:type="long"ডিফল্টভ্যালু সহ "123L" বি/79563966 আকারে - পার্সেলেবল আর্গুমেন্টগুলি এখন সমর্থিত,
app:type। সমর্থিত একমাত্র ডিফল্ট মান হ'ল"@null"বি/79563966 - এআরজিএস ক্লাসগুলি এখন
equals()এবংhashCode()বি/79642246 প্রয়োগ করে - নিরাপদ আরগস প্লাগইনটি এখন লাইব্রেরি প্রকল্পগুলিতে বি/80036553 প্রয়োগ করা যেতে পারে
- নিরাপদ আরগস প্লাগইনটি এখন বি/110011752 বৈশিষ্ট্য প্রকল্পগুলিতে প্রয়োগ করা যেতে পারে
বাগ ফিক্স
- খণ্ডের লাইফসাইকেল পদ্ধতিগুলি খ/109916080 চলাকালীন নেভিগেট করার সময় স্থির সমস্যাগুলি
- নেস্টেড গ্রাফের মাধ্যমে নেভিগেট করার সময় স্থির সমস্যাগুলি একাধিকবার বি/110178671
- গ্রাফ বি/109909461 গ্রাফের প্রথম গন্তব্য সহ
setPopUpToব্যবহার করার সময় স্থির সমস্যাগুলি - স্থির সমস্যা যেখানে সমস্ত
app:defaultValueমানগুলি স্ট্রিং বি/110710788 হিসাবে পাস করা হচ্ছে - অ্যান্ড্রয়েড গ্রেডল প্লাগইন 3.2 বিটা 01 সহ এএপ্ট 2 বান্ডিলযুক্ত এখন প্রতিটি
android:nameবৈশিষ্ট্য বি/79874119 - ডিফল্ট ফ্রেগমেন্টনাভিগেটর বি/110900142 প্রতিস্থাপনের সময় স্থির মেমরি ফাঁস
জুলাই 2, 2018
লাইফসাইকেল, রুম এবং পেজিং রিলিজ সংস্করণ 2.0.0-beta01 এর অ্যান্ড্রয়েডএক্স সংস্করণ।
জীবনচক্র
বাগ ফিক্স
- কেবলমাত্র বাস্তবায়ন রাখার জন্য স্থির লাইফসাইক্লোবসার্ভার প্রোগুয়ার্ড বিধি বি/71389427 নয়
- অবিচ্ছিন্নতা এবং সঙ্কুচিত হওয়ার অনুমতি দেওয়ার জন্য স্থির ভিউমোডেল প্রোগুয়ার্ড বিধি
রুম
এপিআই / আচরণ পরিবর্তন
- ক্যোয়ারীগুলি কোথায় চালানো হয় তার কাস্টমাইজেশনের অনুমতি দেওয়ার জন্য
RoomDatabase.Builder.setQueryExecutor()যুক্ত করা হয়েছে - Rxjava2
Observableসমর্থন যুক্ত করা হয়েছে - উত্পন্ন ডিএও এবং ডাটাবেস বাস্তবায়ন এখন চূড়ান্ত
বাগ ফিক্স
- "ক্ষেত্রের জন্য গেটার খুঁজে পাচ্ছেন না" ত্রুটি বি/73334503 এ শ্রেণি/ক্ষেত্রের নাম উল্লেখ করুন
- কক্ষ বি/110197391 এর পুরানো সংস্করণগুলির সাথে স্থির রুমোপেনহেল্পার পিছনে সামঞ্জস্যতা
পেজিং
বাগ ফিক্স
- কিছু প্রিপেন্ড কেস (স্থানধারক অক্ষম, পজিশনালড্যাটাসোর্স) বি/80149146 এ স্থির সামগ্রী অদৃশ্য
- (ইতিমধ্যে
1.0.1এ প্রকাশিত হয়েছে) স্থির ক্র্যাশগুলি যেখানেPagedListAdapterএবংAsyncPagedListDifferসরানোর ইভেন্টগুলিকে সংকেত দিতে ব্যর্থ হবে। বি/110711937
জুন 26, 2018
পেজিং
পেজিং 1.0.1 runtime একটি একক বাগফিক্স দিয়ে প্রকাশিত হয়। স্থিতিশীলতার জন্য আমরা 1.0.1 ব্যবহার করার পরামর্শ দিই। পেজিং আরএক্সজাভা 2 1.0.1 এছাড়াও প্রকাশিত হয় এবং এটি 1.0.0-rc1 এর সমান।
বাগ ফিক্স
- ফিক্সড ক্র্যাশগুলি যেখানে
PagedListAdapterএবংAsyncPagedListDifferসরানো ইভেন্টগুলি সংকেত দিতে ব্যর্থ হবে। বি/110711937
ওয়ার্ক ম্যানেজার
ওয়ার্কম্যানেজার 1.0.0-alpha04 প্রকাশিত হয়েছে।
বাগ ফিক্স
AlarmManagerভিত্তিক বাস্তবায়ন ব্যবহার করার সময়PeriodicWorkRequestএস এখন সঠিকভাবে পুনরায় নির্ধারণ করা হয়।কোনও ফোর্স স্টপ বা রিবুটের পরে সমস্ত শ্রমিককে পুনরায় নির্ধারণ করার সময় একটি সম্ভাব্য এএনআর স্থির করে। বি/110507716
বিভিন্ন ওয়ার্কম্যানেজার এপিআইগুলিতে নালিবিলিটি টীকা যুক্ত করা হয়েছে। বি/110344065
শ্রমিক সম্পাদনের সময় ঘটে যাওয়া লগ অনাবৃত ব্যতিক্রম। বি/109900862
আপনি যদি ওয়ার্কম্যানেজারের কোনও পুরানো সংস্করণে ফিরে যাওয়ার সিদ্ধান্ত নেন তবে ধ্বংসাত্মক ডাটাবেস মাইগ্রেশনগুলির অনুমতি দেওয়া হয়েছে। বি/74633270
সদৃশ অন্তর্নিহিত ট্যাগ তৈরি করা হলে একটি মাইগ্রেশন ক্র্যাশ স্থির করে। এটি একটি খুব বিরল সমস্যা যা কেবলমাত্র আপনি যদি একই অন্তর্নিহিত ট্যাগ ফর্ম্যাটটি ব্যবহার করেন তবেই ঘটেছিল।
জুন 19, 2018
রুম
ঘর 1.1.1 প্রকাশিত হয়। এই রিলিজটি 1.1.1-rc1 রুমের মতো।
ওয়ার্ক ম্যানেজার
ওয়ার্কম্যানেজার 1.0.0-alpha03 প্রকাশিত হয়েছে।
বাগ ফিক্স
AlarmManagerভিত্তিক বাস্তবায়নে একটি জাতি শর্ত স্থির করে। বি/80346526 ।কোনও ডিভাইস পুনরায় বুট করার পরে
JobSchedulerব্যবহার করার সময় স্থির সদৃশ কাজগুলি।সামগ্রী ইউআরআই ট্রিগার সহ কাজগুলি এখন রিবুটগুলি জুড়ে রয়েছে। বি/80234744
ডকুমেন্টেশন আপডেট। বি/109827628 , বি/109758949 , বি/80230748
কোনও
WorkRequestপুনরায় প্রবেশ করার সময় একটি ক্র্যাশ স্থির করে। বি/109572353 ।work-runtime-ktxনির্ভরতা ব্যবহার করার সময় স্থির কোটলিন সংকলক সতর্কতা।ওয়ার্কম্যানেজার এখন
Roomসংস্করণ1.1.1-rc1ব্যবহার করে।
এপিআই পরিবর্তন
getStatusesSync()যুক্ত করা হয়েছে,WorkContinuation.getStatuses()এর সিঙ্ক্রোনাস সংস্করণ।Workerব্যবহারকারী-উদ্যোগী বাতিলকরণ এবং অস্থায়ী ওএস-অনুরোধ স্টপিংয়ের মধ্যে পার্থক্য করার ক্ষমতা রয়েছে।Worker.isStopped()যদি কোনও ধরণের স্টপের জন্য অনুরোধ করা হয় তবেtrueপ্রত্যাবর্তন করে।Worker.isCancelled()কাজটি স্পষ্টভাবে বাতিল হয়ে গেলেtrueপ্রত্যাবর্তন করে। বি/79632247এপিআই 28 এ জবপ্যারামিটার#গেটনেটওয়ার্ক ()
Worker.getNetwork()জন্য সমর্থন যুক্ত করুন ThisAlarmManagerConfiguration.Builder.setMaxSchedulerLimit(int maxSchedulerLimit)JobSchedulerএটিWorkManagerআপনার সমস্ত উপলভ্যJobSchedulerস্লট নিতে বাধা দিতে সহায়তা করে।JobSchedulerConfiguration.setJobSchedulerJobIdRange(int minJobSchedulerId, int maxJobSchedulerId)WorkManagerবি/79996760Worker.getRunAttemptCount()প্রদত্তWorkerজন্য বর্তমান রান গণনা প্রদান করে। বি/79716516WorkManager.enqueueUniquePeriodicWork(String uniqueWorkName, ExistingPeriodicWorkPolicy existingPeriodicWorkPolicy, PeriodicWorkRequest periodicWork)আপনাকে একটি অনন্যPeriodicWorkRequestএনকিউতে অনুমতি দেয়। বি/79600647WorkManager.cancelAllWork()সমস্তWorkerবাতিল করে দেয়।WorkManagerউপর নির্ভরশীল গ্রন্থাগারগুলি যখন এই পদ্ধতিটিWorkManager.getLastCancelAllTimeMillis()ব্যবহার করে অভ্যন্তরীণ অবস্থার অতিরিক্ত ক্লিনআপের জন্য শেষ বলা হয়েছিল তখন জিজ্ঞাসা করতে পারে।অভ্যন্তরীণ ডাটাবেস থেকে সম্পূর্ণ কাজগুলি অপসারণ করতে
WorkManager.pruneWork()যুক্ত করা হয়েছে। বি/79950952 , বি/109710758
আচরণ পরিবর্তন
- সমস্ত
WorkRequestএস এর জন্য একটি অন্তর্নিহিত ট্যাগ যুক্ত করা হয়েছে, যাWorkerজন্য সম্পূর্ণ যোগ্য শ্রেণীর নাম। এটিtagএস ছাড়াই বাidউপলব্ধ না থাকলেWorkRequestএস অপসারণ করার ক্ষমতা দেয়। বি/109572351
ব্রেকিং পরিবর্তন
Worker.WorkerResultনামকরণ করা হয়েছে। ওয়ার্কারসাল্টWorker.Result।Worker.onStoppedএখন একটি অতিরিক্তisCancelledপ্যারামিটার রয়েছে যাWorkerস্পষ্টভাবে বাতিল হয়ে গেলেtrueসেট করা থাকে।
জুন 7, 2018
নেভিগেশন 1.0.0-alpha02 প্রকাশিত হয়েছে।
নেভিগেশন
আচরণ পরিবর্তন
FragmentNavigatorএখনsetReorderingAllowed(true)ব্যবহার করে। বি/109826220নেভিগেশন এখন urldecodes যুক্তিগুলি গভীর লিঙ্কগুলি ইউআরএল থেকে পার্স করা হয়েছে। বি/79982454
বাগ ফিক্স
খণ্ডিত জীবনচক্র পদ্ধতি থেকে নেভিগেট কল করার সময় একটি
IllegalStateExceptionস্থির করে। বি/79632233অ্যানিমেশনগুলি ব্যবহার করার সময় ফ্লিকারিং ঠিক করতে নেভিগেশন এখন সমর্থন লাইব্রেরি 27.1.1 এর উপর নির্ভর করে। বি/80160903
একটি শিশু খণ্ড হিসাবে ডিফল্টনাভস্ট = "সত্য" ব্যবহার করার সময় একটি
IllegalArgumentExceptionস্থির করে। বি/79656847Navdeepeplinkbuilder ব্যবহার করার সময় একটি
StackOverflowErrorস্থির করুন। বি/109653065কোনও নেস্টেড গ্রাফে ফিরে নেভিগেট করার সময় একটি
IllegalArgumentExceptionস্থির করে। বি/80453447launchSingleTopব্যবহার করার সময় ওভারল্যাপিং টুকরাগুলির সাথে একটি সমস্যা স্থির করে। বি/79407969নেভিগেশন এখন নেস্টেড গ্রাফগুলির জন্য সঠিক সিন্থেটিক ব্যাক স্ট্যাক তৈরি করে। বি/79734195
MenuItemহিসাবে নেস্টেড গ্রাফ ব্যবহার করার সময় নেভিগেশনউই এখন সঠিক আইটেমটি হাইলাইট করবে। বি/109675998
এপিআই পরিবর্তন
কর্মের জন্য
clearTaskবৈশিষ্ট্য এবংNavOptionsসম্পর্কিত এপিআই হ্রাস করা হয়েছে। বি/80338878কর্মের জন্য
launchDocumentবৈশিষ্ট্য এবংNavOptionsসম্পর্কিত এপিআই হ্রাস করা হয়েছে। বি/109806636
24 মে, 2018
ওয়ার্কম্যানেজার 1.0.0-alpha02 প্রকাশিত হয়েছে।
ওয়ার্ক ম্যানেজার
বাগ ফিক্স
রাষ্ট্রের উপর একটি
NullPointerExceptionস্থির করুনState.isFinished()। বি/79550068এমন একটি সমস্যা স্থির করে যা
WorkerApplication.onCreate()এ পুনরায় নির্ধারণ করা হয়েছিল। বি/79660657এমন একটি সমস্যা স্থির করেছেন যেখানে আপনি ওএস দ্বারা অনুমোদিত চেয়ে বেশি কাজের সময় নির্ধারণ করতে পারেন। বি/79497378
ব্যাকগ্রাউন্ড থ্রেডে
Workerসাথে যুক্ত জাগ্রত লকগুলির ক্লিনআপ সরানো হয়েছে।AlarmManagerবাস্তবায়ন এখন সমস্ত বিচারাধীন কাজ শেষ হলে সঠিকভাবে পরিষ্কার হয়।স্থির ক্লিনআপ এসকিউএল কোয়েরি যা অ-ইংরেজি লোকালকে প্রভাবিত করে। বি/80065360
Datafloatএস এর জন্য সমর্থন যুক্ত করা হয়েছে। বি/79443878Data.Builder.putAll()এখনBuilderউদাহরণ দেয়। বি/79699162ডকুমেন্টেশনে আরও জাভাদোক এবং ফিক্সগুলি। বি/79691663
এপিআই পরিবর্তন
Workerবন্ধ হয়ে যাওয়ার প্রতিক্রিয়া জানাতে পারে।Worker.isStopped()কোনওWorkerবন্ধ হয়ে গেছে কিনা তা যাচাই করতে ব্যবহার করা যেতে পারে।Worker.onStopped()লাইটওয়েট ক্লিনআপ অপারেশনগুলি সম্পাদন করতে ব্যবহার করা যেতে পারে।Worker.getTags()এপিআইWorkerসাথে যুক্ত ট্যাগগুলির একটিSetপ্রদান করে।এপিআইগুলির জন্য
javax.time.Durationওভারলোড যুক্ত হয়েছে যা সময়কাল এবংTimeUnitএস এর সংমিশ্রণ নেয়। এটি@RequiresApi(26)দ্বারা রক্ষিত।WorkManagerএক্সটেনশনগুলিandroidx.work.ktxপ্যাকেজ থেকেandroidx.workপ্যাকেজে চলে গেছে। পুরানো এক্সটেনশনগুলি হ্রাস করা হয় এবং ভবিষ্যতের সংস্করণে সরানো হবে।Configuration.withExecutor()অবমূল্যায়ন করা হয়। পরিবর্তেConfiguration.setExecutor()ব্যবহার করুন।
16 মে, 2018
পেজিং আরএক্সজাভা 2 1.0.0-rc1 এবং রুম 1.1.1-rc1 প্রকাশিত হয়েছে। আপনি যদি মাইগ্রেশন ব্যবহার করেন তবে আমরা 1.1.0 এর পরিবর্তে 1.1.1-rc1 রুম ব্যবহার করার পরামর্শ দিচ্ছি।
রুম
এমন একটি বাগ ঠিক করা হয়েছে যেখানে ঘর পোস্ট মাইগ্রেশন আরম্ভটি সঠিকভাবে পরিচালনা করবে না খ/79362399
পেজিং
পেজিং rxjava2 প্রাথমিক আলফা থেকে কোনও পরিবর্তন ছাড়াই প্রার্থীকে মুক্তি দিতে চলেছে।
8 মে, 2018
পেজিং 1.0, নেভিগেশন এবং ওয়ার্কম্যানেজার আলফাস, রুম 1.1, অ্যান্ড্রয়েডএক্স
পেজিং 1.0.0 এবং ঘর 1.1.0 দুটি নতুন আর্কিটেকচার উপাদান - নেভিগেশন এবং ওয়ার্কম্যানেজার জন্য আলফাস সহ প্রকাশিত হয়।
সর্বশেষ প্রকাশের প্রার্থীদের পর থেকে পেজিং এবং রুমের কোনও পরিবর্তন নেই।
নতুন গ্রন্থাগার: নেভিগেশন
নেভিগেশন অ্যাপ্লিকেশন নেভিগেশন তৈরির জন্য একটি কাঠামো সরবরাহ করে। এই প্রাথমিক প্রকাশটি 1.0.0-alpha01 ।
নতুন গ্রন্থাগার: ওয়ার্কম্যানেজার
ওয়ার্কম্যানেজার গ্যারান্টিযুক্ত, সীমাবদ্ধ-সচেতন পটভূমি কাজের সময়সূচী এবং সম্পাদনকে সহজতর করে। এই প্রাথমিক প্রকাশটি 1.0.0-alpha01 ।
অ্যান্ড্রয়েডএক্স
আর্কিটেকচারের উপাদানগুলি অন্যান্য অ্যান্ড্রয়েডএক্স লাইব্রেরিতে আপডেট হওয়া প্যাকেজের নাম, আর্টিক্ট নাম এবং নির্ভরতা সহ অ্যান্ড্রয়েডএক্সের অংশে পরিণত হতে চলেছে। এগুলি অন্যান্য অ্যান্ড্রয়েডএক্স লাইব্রেরির সাথে একত্রে ব্যবহারের জন্য সংস্করণ 2.0.0-alpha1 এর অধীনে প্রকাশিত হয়েছে।
কোটলিন এক্সটেনশনস
ভিউমোডেল, রিঅ্যাকটিভস্ট্রিমস এবং এসকিউএলাইট (পূর্বে 'ঘরের ডাটাবেস' উপাদান) সকলেরই অ্যান্ড্রয়েডএক্স আলফা রিলিজের অংশ হিসাবে কোটলিন এক্সটেনশন লাইব্রেরি যুক্ত হয়েছে। এছাড়াও, নেভিগেশন এবং ওয়ার্কম্যানেজার -কেটিএক্স মডিউল অন্তর্ভুক্ত। এই এক্সটেনশন মডিউলগুলির প্রতিটি উপাদান যুক্ত করার ক্ষেত্রে পাওয়া যায়।
2 মে, 2018
- ঘর 1.1.0 মুক্তি প্রার্থী
- রুম
1.1.0-rc1প্রকাশিত হয়েছে।
বাগ ফিক্স
- ঘরটি এখন কোটলিনের সাথে সামঞ্জস্যপূর্ণ
1.2.40। বি/78328708
এপ্রিল 19, 2018
পেজিং রিলিজ প্রার্থী
পেজিং 1.0.0-rc1 এবং রুম 1.1.0-beta3 প্রকাশিত হয়েছে।
পেজিং
পেজিং 1.0.0 রিলিজের জন্য আমাদের আর কোনও পরিচিত সমস্যা বা নতুন বৈশিষ্ট্য নির্ধারিত নেই । দয়া করে আপনার প্রকল্পগুলি 1.0.0-rc1 ব্যবহার করতে আপগ্রেড করুন এবং এটি পরীক্ষা করতে আমাদের সহায়তা করতে সহায়তা করুন যাতে আমরা একটি রক সলিড 1.0.0 প্রেরণ করতে পারি।
এই প্রকাশে কোনও পরিবর্তন নেই, এটি 1.0.0-beta1 এর সমান।
রুম
বাগ ফিক্স
- সংকলন ত্রুটিটি ঠিক করুন যখন কোনও কোটলিন পোজো জাভা বি/78199923 এ সংজ্ঞায়িত একটি সম্পর্ক সত্তাকে উল্লেখ করে
5 এপ্রিল, 2018
রুম 1.1.0-beta2 , পেজিং 1.0.0-beta1 , এবং পেজিং আরএক্সজাভা 1.0.0-alpha1 প্রকাশিত হয়েছে।
প্রার্থীকে মুক্তি দেওয়ার অগ্রগতির আগে পেজিং অল্প সময়ের জন্য বিটাতে থাকবে। আমরা Paging 1.0 এর জন্য আরও এপিআই পরিবর্তনের পরিকল্পনা করছি না এবং যে কোনও এপিআই পরিবর্তনের জন্য বারটি খুব বেশি।
পেজিং এর জন্য আলফা আরএক্সজাভা 2 সমর্থন একটি পৃথক al চ্ছিক মডিউল ( android.arch.paging:rxjava2:1.0.0-alpha1 ) হিসাবে প্রকাশিত হয় এবং এটি স্থিতিশীল না হওয়া পর্যন্ত অস্থায়ীভাবে সংস্করণ করা হবে।
এই নতুন লাইব্রেরিটি LivePagedListBuilder জন্য একটি আরএক্সজেভিএ 2 বিকল্প সরবরাহ করে, যা Executor পরিবর্তে Scheduler এস গ্রহণ করে Observable এস এবং Flowable এস তৈরি করতে সক্ষম:
কোটলিন
val pagedItems = RxPagedListBuilder(myDataSource, /* page size */ 50) .setFetchScheduler(myNetworkScheduler) .buildObservable()
জাভা
Observable<PagedList<Item>> pagedItems = RxPagedListBuilder(myDataSource, /* page size */ 50) .setFetchScheduler(myNetworkScheduler) .buildObservable();
পেজিং
নতুন বৈশিষ্ট্য
-
RxPagedListBuilderনতুনandroid.arch.paging:rxjava2আর্টিফ্যাক্ট।
এপিআই পরিবর্তন
বিল্ডারদের মধ্যে নির্বাহকদের ভূমিকা স্পষ্ট করতে এপিআই পরিবর্তন করে:
setBackgroundThreadExecutor()setFetchExecutor()এর নামকরণ করা হয়েছে (PagedList.BuilderএবংLivePagedListBuilder)setMainThreadExecutor()নামকরণ করেsetNotifyExecutor()(PagedList.Builder) এ নামকরণ করুন।
ফিক্সড
PagedList.mCallbacksসদস্য ব্যক্তিগত হতে।
বাগ ফিক্স
LivePagedListBuilderআর্চ উপাদানগুলি আইও থ্রেড পুলের পরিবর্তে নির্দিষ্ট এক্সিকিউটারের উপর প্রাথমিকPagedListলোড ট্রিগার করে।অভ্যন্তরীণ
DataSourceর্যাপারগুলিতে স্থির অকার্যকর আচরণ (DataSource.mapপ্রয়োগ করতে ব্যবহৃত হয়, পাশাপাশি স্থানধারক-অক্ষমPositionalDataSourceলোডিং) বি/77237534
রুম
বাগ ফিক্স
ঘরের আরএক্স
SingleএবংMaybeবাস্তবায়নে একটি সমালোচনামূলক বাগ স্থির করে যেখানে এটি সময়ের আগে ক্যোয়ারীটি পুনর্ব্যবহার করবে, যদি আপনি ফিরে আসাSingleবাMaybeইনস্ট্যানসেসে 1 টিরও বেশি পর্যবেক্ষক যুক্ত করেন তবে সমস্যা সৃষ্টি করে। বি/76031240রুমডাটাবেস.ক্লিয়ারালটেবলগুলি যদি কোনও লেনদেনের ভিতরে ডাকা হয় তবে এটি ডাটাবেসটি
VACUUMকরবে না। বি/77235565
21 মার্চ, 2018
রুম 1.1.0-beta1 , পেজিং 1.0.0-alpha7 এবং লাইফসাইকেলগুলি 1.1.1 প্রকাশিত হয়েছে।
রুম
এপিআই পরিবর্তন
- এপিআই পর্যালোচনা প্রতিক্রিয়ার উপর ভিত্তি করে,
@RawQueryকোনওStringক্যোয়ারী প্যারামিটার হিসাবে আর পাস করা গ্রহণ করে না। আপনাকে সাপোর্টসক্লাইটকিউরি ব্যবহার করতে হবে। (আর্গুমেন্ট সাপোর্টের সাথে সাপোর্টসকিউলাইটেরির একটি উদাহরণ সহজেই তৈরি করতে সিম্পলসক্লাইটকিউরি দেখুন)। - রুমডাটাবেস.বিল্ডারের ফ্যালব্যাকটোডস্ট্রাক্টিভেমিগ্রেশন থেকে পদ্ধতি এখন
vararg Integerপরিবর্তেvararg intগ্রহণ করে।
বাগ ফিক্স
রুমডাটাবেস.ক্লিয়ারালটেবলগুলি এখন ওয়াল চেকপয়েন্ট সেট করে এবং ডাটাবেসটি
VACUUMসেট করে অপারেটিং সিস্টেমে স্থান ফিরিয়ে দেওয়ার চেষ্টা করে।@RawQueryএখনobservedEntitiesসম্পত্তির জন্য যে কোনও পোজো গ্রহণ করে যতক্ষণ না পোজো তারEmbeddedক্ষেত্রগুলি বাRelationমাধ্যমে এক বা একাধিক সত্তার উল্লেখ করে। বি/74041772পেজিং: ঘরের ডেটাসোর্স বাস্তবায়ন এখন সঠিকভাবে মাল্টি-টেবিল নির্ভরতাগুলি পরিচালনা করে (যেমন সম্পর্ক এবং যোগদান করে)। পূর্বে এগুলি নতুন ফলাফলগুলি ট্রিগার করতে ব্যর্থ হবে, বা সংকলন করতে ব্যর্থ হতে পারে। বি/74128314
জীবনচক্র
কেবলমাত্র একটি ছোট পরিবর্তন: android.arch.core.util.Function arch:runtime থেকে arch:common । এটি রানটাইম নির্ভরতা ছাড়াই এটি ব্যবহার করার অনুমতি দেয়, যেমন paging:common ।
lifecycle:common lifecycle:runtime , সুতরাং এই পরিবর্তনটি lifecycle:runtime সরাসরি, কেবলমাত্র মডিউলগুলি যা সরাসরি lifecycle:common , যেমন পেজিং হয়।
পেজিং
পেজিং 1.0.0-alpha7 লাইফসাইকেলগুলির পাশাপাশি প্রকাশিত হয়েছে 1.1.1 । যেমন পেজিং আলফা 7 উপরে উল্লিখিত Function শ্রেণীর সরানোর উপর নির্ভর করে, আপনাকে আপনার lifecycle:runtime নির্ভরতা android.arch.lifecycle:runtime:1.1.1 ।
পেজিং alpha7 পেজিং হিট বিটা হিট করার আগে চূড়ান্ত প্রকাশের পরিকল্পনা করা হয়েছে।
এপিআই পরিবর্তন
-
DataSource.LoadParamsঅবজেক্টগুলিতে এখন একটি পাবলিক কনস্ট্রাক্টর এবংDataSource.LoadCallbackরয়েছে Load লোডক্যালব্যাক অবজেক্টগুলি এখন বিমূর্ত। এটি একটিDataSourceমোড়ানো বা সরাসরি একটি মক কলব্যাক সহ একটিDataSourceপরীক্ষা করতে সক্ষম করে। বি/72600421 - ডেটাসোর্স এবং ডেটাসোর্স.ফ্যাক্টরির জন্য ম্যাপার্স
-
map(Function<IN,OUT>)আপনাকে কোনওDataSourceদ্বারা লোড হওয়া ফলাফলগুলি রূপান্তর, মোড়ানো বা সাজানোর অনুমতি দেয়। -
mapByPage(<List<IN>,List<OUT>>)ব্যাচ প্রসেসিংয়ের জন্য একই সক্ষম করে (যেমন এসকিউএল থেকে লোড হওয়া আইটেমগুলি অতিরিক্তভাবে একটি পৃথক ডাটাবেস জিজ্ঞাসা করা প্রয়োজন, যা ব্যাচ হিসাবে করা যেতে পারে))
-
-
PagedList#getDataSource()একটি সুবিধার্থে পদ্ধতি হিসাবে যুক্ত করা হয়েছে B/72611341 - সমস্ত অবমূল্যায়িত ক্লাসগুলি এপিআই থেকে অপসারণ করা হয়েছে,
recyclerview.extensionsLivePagedListProvider -
DataSource.Factoryমানচিত্রের কার্যকারিতা সক্ষম করতে একটি ইন্টারফেস থেকে একটি বিমূর্ত শ্রেণিতে পরিবর্তন করা হয়।
বাগ ফিক্স
- চূড়ান্ত হতে নির্মাতাদের পরিবর্তন করেছে। বি/70848565
- রুম
DataSourceবাস্তবায়ন এখন মাল্টি-টেবিল কোয়েরিগুলি পরিচালনা করার জন্য স্থির করা হয়েছে-এই ফিক্সটি কক্ষ 1.1.0-বিটা 1 এর মধ্যে রয়েছে, উপরে দেখুন। - এমন একটি বাগ স্থির করা হয়েছে যেখানে
BoundaryCallback.onItemAtEndLoadedপ্লেসহোল্ডারদের সক্ষম করা থাকলে এবং মোট আকার পৃষ্ঠার আকারের সঠিক একাধিক হয় তবেPositionalDataSourceজন্য আহ্বান করা হবে না।
2 মার্চ, 2018
রুম 1.1.0-alpha3 প্রকাশিত হয়েছে। এটি কক্ষ 1.1.0 এর জন্য সর্বশেষ পরিকল্পিত আলফা রিলিজ।
এপিআই পরিবর্তন
অবৈধকরণ ট্র্যাকারের
addObserverএবংremoveObserverপদ্ধতিগুলি এখন সিঙ্ক্রোনাস এবং একটি নন-ইউআই থ্রেডে কল করা দরকার। এটি টেবিলগুলি পর্যবেক্ষণ করার সময় কিছু জাতি শর্তকে বাধা দেয়।রুমডাটাবেস ক্লাসে একটি নতুন
clearAllTables()পদ্ধতি রয়েছে যা সমস্ত টেবিলের বিষয়বস্তুগুলিকে ছাঁটাই করবে। বি/63807999SupportSQLiteQueryএখন একটিgetArgCount()পদ্ধতি রয়েছে যা ক্যোয়ারী পরামিতিগুলির সংখ্যা দেয়। বি/67038952
বাগ ফিক্স
@RawQueryএখন পেজিং প্রশ্নের জন্য সঠিকভাবে সমর্থিত। বি/726004252 বা ততোধিক
Daoইন্টারফেসগুলি একই প্যাকেজে অভ্যন্তরীণ শ্রেণি এবং একই নাম থাকে যখন নাম দ্বন্দ্বগুলি এড়াতে এখন সঠিকভাবে নামকরণ করা হয়েছেDaoক্লাস তৈরি করা। বি/73536380Pojo-তে জেনেরিক ক্ষেত্রের ধরণগুলি যথাযথভাবে বর্ধিত শ্রেণীর সদস্য হিসাবে পার্স করা হয়। বি/73534868নির্ভরতা শিল্পকর্মগুলি থেকে উত্তরাধিকার সূত্রে প্রাপ্ত
Daoইন্টারফেসগুলিতে ক্যোয়ারী প্যারামিটারগুলি এখন সঠিকভাবে পার্স করা হয়েছে। বি/68118746@Relationএস এর জন্য উত্পন্ন প্রশ্নগুলি এখন মাঠের নামগুলি সঠিকভাবে এড়িয়ে চলুন। বি/70925483
ফেব্রুয়ারী 27, 2018
পেজিং 1.0.0-alpha6 সাপোর্ট লাইব্রেরি রিলিজ 27.1.0 এর পাশাপাশি প্রকাশিত হয়েছে। কিছু শ্রেণীর কার্যকারিতা আরও পরিষ্কার করার জন্য কয়েকটি নামকরণের পাশাপাশি ListAdapter এবং কয়েকটি সম্পর্কিত ক্লাস সরাসরি পেজিং লাইব্রেরি থেকে পুনর্ব্যবহারযোগ্য দিকে স্থানান্তরিত করা হয়েছে। পেজিংয়ের এই আলফা রিলিজ সম্ভবত এপিআই ব্রেকিং পরিবর্তনগুলির মধ্যে সর্বশেষতম।
এপিআই পরিবর্তন
- ক্লাসগুলি পুনর্ব্যবহারযোগ্য-ভি 7 এ সরানো হয়েছে:
-
ListAdapter
-
- ক্লাসগুলির নামকরণ করা হয়েছে, এবং পুনর্ব্যবহারযোগ্য-ভি 7 এ সরানো হয়েছে:
-
ListAdapterHelper->AsyncListDiffer -
ListAdapterConfig->AsyncDifferConfig -
DiffCallback->DiffUtil.ItemCallback
-
- পেজিং-রান্টটাইমের ভিতরে ক্লাসগুলি নামকরণ করা হয়েছে:
-
PagedListAdapterHelper->AsyncPagedListDiffer
-
যে ক্লাসগুলি সরানো হয়েছিল সেগুলি পেজিং লাইব্রেরি থেকে পৃথক, পুনর্ব্যবহারের পাশাপাশি কার্যকর ছিল। এর অর্থ এগুলি পেজিং আলফা রিলিজের উপর নির্ভর না করেই ব্যবহার করা যেতে পারে, তবে এর অর্থ হ'ল পেজিং ব্যবহার করা অ্যাপ্লিকেশনগুলি অবশ্যই আলফা 6 এ আপগ্রেড করতে হবে এবং একই সাথে লাইব্রেরি 27.1.0 সমর্থন করবে।
** পেজিং আলফা 6 এর জন্য মাইগ্রেশন গাইড: **
-
android.arch.paging:runtime:1.0.0-alpha6এবংcom.android.support:recyclerview-v7:27.1.0- এগুলি অবশ্যই একই সাথে করা উচিত, যেমন লিস্টাডাপ্টারটি পেজিং থেকে পুনর্ব্যবহারযোগ্য দিকে সরানো হয়েছিল
-
AsyncListDifferএListAdapterHelperযে কোনও রেফারেন্স আপডেট করুন-
getItem(index)/getItemCount()সরানো হয়েছে,getCurrentList().getItem(index)এবংgetCurrentList().size(), যা আরও স্পষ্ট।
-
-
AsyncDifferConfigএListAdapterConfigকোনও রেফারেন্স আপডেট করুন -
DiffCallbackকোনও রেফারেন্সDiffUtil.IttemCallbackআপডেট করুন eittemcallback -
AsyncPagedListDifferএPagedListAdapterHelperযে কোনও রেফারেন্স আপডেট করুন - সাবমিটলিস্টে
setList()এর রেফারেন্স আপডেট করুনsubmitList()- তালিকা ডিফিংয়ের অ্যাসিঙ্ক প্রকৃতি স্পষ্ট করার জন্য নামকরণ করা হয়েছে
বাগ ফিক্স
- স্থানধারীরা অক্ষম থাকলে প্রাথমিক লোডে ভুল প্রাথমিক অবস্থান স্থির করা। বি/73513780
ফেব্রুয়ারী 15, 2018
রুম 1.1.0-alpha2 প্রকাশিত হয়েছে।
নতুন বৈশিষ্ট্য
রুম এখন লিখুন এগিয়ে লগিং মোডে ডাটাবেস খোলার সমর্থন করে। এই মোডে, আপনার লেখাগুলি আর আপনার পঠিত অনুসন্ধানগুলি ব্লক করবে না। যদিও এটি আরও মেমরি ব্যবহার করে (একাধিক সংযোগের কারণে), এই মোডটি সাধারণত দ্রুত হয়। ডিফল্টরূপে, ঘরটি
API 16বা তার বেশি হলে ওয়াল ব্যবহার করবে এবং এটি কোনও কম মেমরি ডিভাইস নয় । আপনিRoomDatabase.BuildersetJournalMode()পদ্ধতি ব্যবহার করে এই আচরণটি নিয়ন্ত্রণ করতে পারেন। বি/67757002পেয়ারা সমর্থন : রুম এখন
DAOপ্রশ্নের মধ্যে পেয়ারাOptional<T>বাListenableFuture<T>রিটার্নিংকে সমর্থন করে।ListenableFuture<T>ব্যবহার করতে, আপনাকে ঘর থেকেguavaআর্টিফ্যাক্ট আমদানি করতে হবে (android.arch.persistence.room:guava:1.1.0-alpha2রুম এখন
java.util.Optional<T>DAOকোয়েরি থেকে ফিরে সমর্থন।ডিফল্ট বাস্তবায়ন সহ ইন্টারফেস পদ্ধতিগুলি এখন
DAOক্লাসে@Transactionপদ্ধতিতে সমর্থিত। এটিJava 8এবংKotlinউভয়ের জন্যই কাজ করে। বি/72416735
বাগ ফিক্স
@Relationসহ কনস্ট্রাক্টরগুলি যদি অন্য কোনও কনস্ট্রাক্টর ব্যবহার করা যায় তবে সংকলন ত্রুটির কারণ হবে না। বি/72884434'
@Queryপদ্ধতিতে'এর সাথে পালানো টেবিলের নামগুলি এখন অবৈধ ট্র্যাকারের জন্য সঠিকভাবে পালানো হয়েছে। বি/72366965রুম এখন টীকা প্রক্রিয়াকরণের সময় শ্রেণি কাঠামো পড়তে কোটলিন
@Metadataটীকাগুলি ব্যবহার করে। এর অর্থ, এমনকি যদি কোনও POJO নির্ভরতা থেকে উত্তরাধিকার সূত্রে প্রাপ্ত হয় তবে এর নির্মাণকারী প্যারামিটারের নামগুলি সঠিকভাবে পড়া যায়। বি/67181813ডাউনগ্রেড মাইগ্রেশন পাথ সন্ধান করার একটি সমস্যা স্থির করা হয়েছে। বি/72153525
বিদ্যমান ডাটাবেস থেকে ঘরে স্থানান্তরিত করার সময় নন ডিফল্ট কলামের ধরণগুলি এখন সঠিকভাবে পরিচালনা করা হয়। বি/71953987
ঘর এখন সঠিকভাবে হ্যান্ডলস অবিরাম
boolean?কোটলিন ক্লাসে ক্ষেত্রগুলি। বি/72786402
জানুয়ারী 22, 2018
লাইফসাইকেলগুলি 1.1.0 , ঘর 1.1.0-alpha1 এবং পেজিং 1.0.0-alpha5 প্রকাশিত হয়েছে।
লাইফসাইকেল 1.1.0
প্যাকেজিং পরিবর্তন
নতুন, অনেক ছোট নির্ভরতা এখন উপলব্ধ:
-
android.arch.lifecycle:livedata:1.1.0 -
android.arch.lifecycle:viewmodel:1.1.0
এপিআই পরিবর্তন
- অবমূল্যায়িত
LifecycleActivityএবংLifecycleFragmentএখন মুছে ফেলা হয়েছে - দয়া করেFragmentActivity,AppCompatActivityবা সমর্থনFragmentব্যবহার করুন। -
@NonNullটীকাগুলিViewModelProvidersএবংViewModelStoresযুক্ত করা হয়েছে -
ViewModelProvidersকনস্ট্রাক্টরকে অবমূল্যায়ন করা হয়েছে - দয়া করে সরাসরি এর স্থির পদ্ধতিগুলি ব্যবহার করুন -
ViewModelProviders.DefaultFactoryহ্রাস করা হয়েছে - দয়া করেViewModelProvider.AndroidViewModelFactoryব্যবহার করুন - স্ট্যাটিক
ViewModelProvider.AndroidViewModelFactory.getInstance(Application)পদ্ধতিটিViewModelএবংAndroidViewModelদৃষ্টান্ত তৈরির জন্য উপযুক্ত একটি স্থিরFactoryপুনরুদ্ধার করতে যুক্ত করা হয়েছে।
ঘর 1.1.0-আলফা 1
নতুন বৈশিষ্ট্য
-
RawQuery: এই নতুন এপিআই@Daoপদ্ধতিগুলিকে ক্যোয়ারী প্যারামিটার বি/62103290 , বি/71458963 হিসাবে এসকিউএল গ্রহণের অনুমতি দেয় -
fallBackToDestructiveMigrationsFrom:RoomDatabase.Builderএই নতুন এপিআই। - রুম এখন কেবল নতুন পেজিং এপিআই (আলফা -4+) সমর্থন করে, অবমূল্যায়িত
LivePagedListProviderপক্ষে সমর্থন ফেলে। নতুন কক্ষ আলফা ব্যবহার করতে, আপনাকে পেজিংalpha-4বা উচ্চতর ব্যবহার করতে হবে এবংLivePagedListProviderথেকেLivePagedListBuilderস্যুইচ করতে হবে যদি আপনি ইতিমধ্যে না থাকেন।
বাগ ফিক্স
- কোটলিন ক্যাপের ধরণের জন্য উন্নত সমর্থন। বি/69164099
- ক্ষেত্রগুলির ক্রম আর স্কিমাকে অকার্যকর করে না। বি/64290754
পেজিং 1.0.0-আলফা 5
বাগ ফিক্স
- স্থানধারীরা বি/70573345 অক্ষম থাকলে পৃষ্ঠা লোডিং ঠিক করুন
- অবৈধরগমেন্ট এক্সসেপশন বাগ বি/70360195 (এবং অনুমানমূলক রুম-সাইড ফিক্স) ট্র্যাক করার জন্য অতিরিক্ত লগিং
- জাভাদোক নমুনা কোড ফিক্স বি/70411933 , বি/71467637
11 ডিসেম্বর, 2017
পেজিং alpha4-1 প্রকাশিত হয়। এটি পেজিং আলফা 4 এর জন্য একটি ছোট বাগফিক্স রিলিজ।
বাগ ফিক্স
- অবৈধ ডেটা উত্সগুলির জন্য কলব্যাক প্যারামিটারগুলি পরীক্ষা করবেন না। বি/70353706 , বি/70360195
ডিসেম্বর 7, 2017
পেজিং alpha4 প্রকাশিত হয়, উল্লেখযোগ্য পরিবর্তন এবং সংযোজন সহ, বেশিরভাগ টার্গেটিং নেটওয়ার্ক এবং নেটওয়ার্ক + ডাটাবেস ইউজেসেসগুলি।
এপিআই পরিবর্তন
নেটওয়ার্ক থেকে সরাসরি পেজিং সহজ করার জন্য
DataSourceএখন একটি অ্যাসিঙ্ক এপিআই:- প্রাথমিক আকার এবং ডেটা জন্য একক প্রবেশ পয়েন্ট
- কলব্যাক ধরে রেখে এবং পরে প্রেরণ করে নেটওয়ার্ক পুনরায় চেষ্টা করে সমর্থন করে
- থ্রেডসেফ কলব্যাকগুলি ইউআই থ্রেডে একক নেটওয়ার্ক ব্যাকড
PagedListতৈরির জন্য অ্যাসিঙ্ক লোডিংয়ের অনুমতি দেয়। - প্রাথমিক লোড প্যারামিটারগুলির চারপাশে পরিষ্কার ত্রুটি আচরণ
TiledDataSourceতার অবস্থান-ভিত্তিক সূচককে প্রতিফলিত করার জন্যPositionalDataSourceনামকরণ করা হয়েছে এবং স্থানধারীরা অক্ষম থাকাকালীন এটি টাইল না করে।নেটওয়ার্ক পৃষ্ঠা লোডগুলিতে এম্বেড থাকা পরবর্তী/পূর্ববর্তী টোকেনগুলিকে সমর্থন করার জন্য
PageKeyedDataSourceযুক্ত করা হয়েছে। পার্থক্য পরিষ্কার করার জন্যKeyedDataSourceItemKeyedDataSourceনামকরণ করা হয়েছে।LivePagedListBuilderএবংDataSource.FactoryLivePagedListProviderপ্রতিস্থাপন করুন। বিল্ডার আরও কাস্টমাইজেশন এবং সহজ ডিফল্ট সহ একই ক্ষমতা সরবরাহ করে। কারখানাটিDataSourceপ্রজন্মের কোডকেLiveDataথেকে স্বাধীন থাকতে দেয়।PagedList.BoundaryCallbackডাটাবেস + নেটওয়ার্ক ইউজেকেসের জন্য যুক্ত হয়েছে।PagedList.Builderকনস্ট্রাক্টরDataSource+PagedList.Configনেয়, এখনLivePagedListBuilderসাথে আরও মিল, এবং জাভা ভাষায় ডায়মন্ড অপারেটরকে বা কোটলিনে অনুমিত প্রকারের অনুমতি দেয়।PagedList.getConfig()যুক্ত হয়েছে, এবংPagedList.Configএখন সর্বজনীন সদস্য সম্পত্তি রয়েছে।KeyedDataSource.loadBefore()আর ফলাফলগুলি বিপরীত হওয়ার প্রত্যাশা করে না।PagedListAdapter.onCurrentListChanged()আপডেটগুলি শুনতে পেজডলিস্টটি প্রদর্শিত হচ্ছে এমনগুলির জন্য শোনার জন্য যুক্ত হয়েছে।
বাগ ফিক্স
- পেজডলিস্টাডাপ্টারে (সহায়ক) বি/67883658 এ স্থির সূচক
1.0.0 - নভেম্বর 6, 2017
সমস্ত বড় উপাদান (পেজিং বাদে) এখন 1.0.0 । এটি rc1 এর মতো একই রিলিজ যা reactivestreams লাইব্রেরিতে একটি পরিবর্তন ব্যতীত।
বাগ ফিক্স
-
LiveDataReactiveStreamsএখন সঠিকভাবে প্রতিক্রিয়াশীল স্ট্রিমগুলির স্পেসিফিকেশন প্রয়োগ করে। বি/67999342
প্রার্থী প্রকাশ করুন - 18 অক্টোবর, 2017
সমস্ত বড় শিল্পকর্ম (পেজিং বাদে) এখন 1.0.0-rc1 ।
1.0.0 রিলিজের জন্য আমাদের আর কোনও পরিচিত সমস্যা বা নতুন বৈশিষ্ট্য নির্ধারিত নেই । দয়া করে আপনার প্রকল্পগুলি 1.0.0-rc1 ব্যবহার করতে আপগ্রেড করুন এবং এটি পরীক্ষা করতে আমাদের সহায়তা করতে সহায়তা করুন যাতে আমরা একটি শিলা শক্ত 1.0.0 প্রেরণ করতে পারি।
আচরণ পরিবর্তন
- এই রিলিজের সাথে,
Lifecycle.Event#ON_STOPএখন প্রেরণ করা হয় যখনonSaveInstanceStateবলা হয় (পূর্ববর্তী, এটি কেবলON_STOPপ্রেরণ ছাড়াইCREATEDহিসাবে চিহ্নিত করা হয়েছিল)। আপনি লাইফসাইক্লেস ডকুমেন্টেশনে এটি সম্পর্কে আরও পড়তে পারেন।
বাগ ফিক্স
রুম:
- ঘরটি এখন সর্বশেষতম জেরিয়াল আর্টিফ্যাক্টের উপর নির্ভর করে যা সংকলনের সময়
OutOfMemoryসমস্যাগুলি সমাধান করে। খ/62473121 -
Queryপদ্ধতিগুলি এখন@Transactionদিয়ে টীকা দেওয়া যেতে পারে। বিশদের জন্য@Transactionট্রান্সজেকশনে রেফারেন্স ডক্স দেখুন। বি/65112315 - কক্ষে
StringUtilক্লাসটি পাবলিক এপিআই থেকে সরানো হয় (এটি কখনই পাবলিক এপিআই হিসাবে উদ্দেশ্য ছিল না)।
- ঘরটি এখন সর্বশেষতম জেরিয়াল আর্টিফ্যাক্টের উপর নির্ভর করে যা সংকলনের সময়
লাইফসাইকেলস:
LiveDataযথাযথভাবে কাজ করে যখন ক্রিয়াকলাপটি আংশিকভাবে এপিআই <24. বি/65665621 এ আচ্ছাদিত থাকেপিতামাতার ক্লাসে
OnLifecycleEventপদ্ধতিগুলি এখন সঠিকভাবে কল করা হয় বা সংকলনের সময় একটি সতর্কতা মুদ্রিত হয় যদি এটি সম্ভব না হয়। বি/63474615লাইফসাইকেলটি এখন তার জীবনচক্রের মালিকের কাছে একটি
WeakReferenceধরে রেখেছে যদি লাইফসাইলে মালিককে ফাঁস করা এড়াতে এড়াতে পারে যদি লাইফসাইকেলটি স্বাভাবিকের চেয়ে বেশি সময় ধরে রাখা হয় (এটি কেবল একটি সতর্কতা, আপনার এখনওLifecycleফাঁস না করার বিষয়ে সতর্ক হওয়া উচিত)।
অক্টোবর 9, 2017
পেজিং alpha-3 প্রকাশিত হয়; যা এটি লাইফসাইকেল এবং রুমের beta 2 প্রকাশের সাথে সামঞ্জস্যপূর্ণ করে তোলে।
বাগ ফিক্স
- উন্নত পেজিং ডকুমেন্টেশন।
5 অক্টোবর, 2017
সমস্ত বড় শিল্পকর্ম (পেজিং বাদে) এখন beta 2 । এই প্রকাশে পেজিংয়ের কোনও নতুন সংস্করণ নেই।
বাগ ফিক্স
লাইফসাইকেলস:
-
LiveDataReactiveStreamsএখন সোর্স প্রকাশকের কাছ থেকে যথাযথভাবে সাবস্ক্রাইব যখনLiveDataসক্রিয় থাকে না। বি/62609183 - পিতা -মাতার ক্লাসগুলি অন্য মডিউল থেকে আসে যখন লাইফসাইকেল ইভেন্টগুলি পিতামাতার ক্লাসে সঠিকভাবে প্রচার করা হয়। বি/63474615
- লাইভডাটা সাবস্ক্রেশন তৈরির সময় সাবস্ক্রাইব করার সময় পর্যবেক্ষকদের যথাযথভাবে পরিচালনা করে। বি/66337741
জাভা 8 টি ভাষা শিল্পকর্মের জন্য
FullLifecycleObserverএখন নির্ভরতা গাছটিতে উপলব্ধ। বি/66525578প্রোগুয়ার্ডের জন্য, দয়া করে আপনার প্রোগুয়ার্ড ফাইলে নিম্নলিখিত লাইনগুলি যুক্ত করুন। (1.0.0 জাহাজ যখন এটি প্রয়োজন হবে না)
-
-keep class * implements android.arch.lifecycle.GeneratedAdapter {<init>(...);}
-
-
রুম:
- রুম এখন সংকলনের সময় একটি ত্রুটি প্রিন্ট করে যখন
@Queryপদ্ধতিতে ফিরে আসা পোজো একটি@NonNullক্ষেত্র থাকে যা ক্যোয়ারির প্রতিক্রিয়াতে কোনও কলামের সাথে মেলে না। যদি ক্ষেত্রটি@Nullableহয় তবে ঘরটি কেবল একটি সতর্কতা মুদ্রণ করে। বি/67115337 - রুম এখন নতুন ওএস সংস্করণগুলিতে সূচকগুলি বৈধ করে। বি/63132683
- ঘরটি ডিফল্টরূপে নো-আরগ কনস্ট্রাক্টরকে বাছাই করে যদি কোনও পোজোতে একাধিক ম্যাচিং কনস্ট্রাক্টর থাকে। বি/67353427
- একক কলাম প্রাথমিক কীগুলি যদি এটি একটি
IntegerবাLongহয় তবে তাNullableহতে পারে। বি/67086876 - অবৈধকরণ ট্র্যাকার সঠিকভাবে পরীক্ষা মোডে পুনরায় প্রবেশ পরিচালনা করে। বি/65471397
- রুম এখন সংকলন সময়ে কলাম এবং টেবিলের নামগুলিতে অবৈধ অক্ষরগুলির জন্য চেক করে (অবৈধ অক্ষর:
`,")। বি/64749111
- রুম এখন সংকলনের সময় একটি ত্রুটি প্রিন্ট করে যখন
সেপ্টেম্বর 21, 2017
এই প্রকাশের সাথে, সমস্ত আর্কিটেকচার উপাদান মডিউলগুলি কমপক্ষে beta 1 এ পৌঁছায় (নতুন পেজিং লাইব্রেরি যা alpha 2 হয়) ব্যতীত)।
আমরা আর কোনও এপিআই পরিবর্তনের পরিকল্পনা করছি না। অপরিকল্পিত পরিবর্তনগুলি ঘটতে পারে তবে 1.0.0 স্থিতিশীল হওয়ার আগে কোনও এপিআই পরিবর্তন করার বারটি খুব বেশি এবং হওয়ার সম্ভাবনা কম।
- লাইফসাইক্লিঅ্যাক্টিভিটি এবং লাইফসাইকেলফ্র্যাগমেন্টটি
1.0.0স্থিতিশীল হওয়ার আগে সরানো হবে। সমর্থন লাইব্রেরি26.1.0বা তার পরে ব্যবহার করার সময় তাদের প্রয়োজন হয় না।
আলফা পর্বের বিপরীতে, বিটা ফেজটি খুব স্বল্প সময়কাল হওয়ার কথা রয়েছে।
সংস্করণ পরিবর্তন
- লাইফসাইকেল এক্সটেনশন এবং রুম এখন
beta 1 - পেজিং এখন
alpha 2 - লাইফসাইকেলগুলিতে কোনও পরিবর্তন (রানটাইম, সাধারণ) এবং আর্চ কোর (সাধারণ)। এই দুটি নিদর্শনগুলি 13 সেপ্টেম্বর থেকে
1.0.0সংস্করণ।
নতুন শিল্পকর্ম
লাইফসাইকেলের এখন
common-java8নামে একটি নতুন নিদর্শন রয়েছে। এই নিদর্শনটিতে ডিফল্টলিফেসাইক্লোবসার্ভার নামে একটি নতুন ইন্টারফেস রয়েছে; যার সমস্ত জীবনচক্র পদ্ধতির জন্য ডিফল্ট বাস্তবায়ন রয়েছে। আপনি যদি জাভা 8 ভাষা ব্যবহার করছেন তবে আপনার এই শিল্পকর্মটি টীকাগুলির চেয়ে পছন্দ করা উচিত।-
beta1এ একটি বাগের কারণে, আপনাকেandroid.arch.lifecycle:common:1.0.1মডিউলটিতে নতুনcommon-java8আর্টিফ্যাক্ট ব্যবহার করার জন্য একটি সুস্পষ্ট নির্ভরতা যুক্ত করতে হবে। এই সমস্যাটিbeta2এ স্থির করা হবে।
-
প্যাকেজিং পরিবর্তন
-
android.arch.persistence.room.dbandroid.arch.persistence.dbএ সরানো হয়েছে -
android.arch.persistence.room.db-implসরানো হয়েছে এবং নামকরণ করা হয়েছেandroid.arch.persistence.db-framework
এই উভয় নিদর্শনগুলি ইতিমধ্যে রুমের উপর নির্ভরশীলতা তাই আপনি যদি সেগুলি সরাসরি ব্যবহার না করেন তবে আপনার বিল্ড ফাইলগুলিতে আপনাকে কিছু পরিবর্তন করার দরকার নেই।
এপিআই পরিবর্তন
রুম:
- @কলমিনফো টীকা এখন কলামে একটি কোলেশন সেট করা সমর্থন করে। বি/62007004
-
transientক্ষেত্রগুলি এখন ডিফল্টরূপে উপেক্ষা করা হয় যদি না সেগুলি@ColumnInfo,@Embeddedবা@Relationদিয়ে টীকা দেওয়া হয়। বি/62600692 - Primary Keys must be annotated with
@NonNullunless they are auto generated. b/64292391- This change may require a schema migration. অসুবিধার জন্য দুঃখিত।
- Added a new convenience annotation ( @Transaction ) which overrides a
DAOmethod and runs it inside a transaction.
Support SQLite Database:
- API changes in database configuration. b/65349673 b/65499876
পেজিং:
- Improved Paging documentation with more examples and thread annotations.
বাগ ফিক্স
- রুম:
- Kotlin multi-line strings in
@Querymethods are handled properly. b/65809374
- Kotlin multi-line strings in
- পেজিং:
- Paging artifact does not depend on junit anymore. b/65690261
1.0.0 Alpha 9-1 - September 13, 2017
This is a major release where core lifecycle artifacts (runtime, common) and arch core (common) reach to stable version 1.0.0 .
Along with this change, Support Library 26.1.0 now depends on these libraries. Both AppCompatActivity and Support Fragment now implement the LifecycleOwner interface.
This release also depends on Support Library 26.1.0 to take advantage of the new integration.
New Library: Paging
This release also includes a new library called Paging , which allows easily loading large data sets into a RecyclerView in chunks when necessary. Paging is released as alpha1 and will have its own release cycle.
এপিআই পরিবর্তন
- The following classes are deprecated and will be removed in a future release:
বাগ ফিক্স
Generated classes are now annotated with
@Generatedif the app has the annotation in the classpath. b/35754819Fixed MediatorLiveData's observer comparison bug. b/64413274
SQLite
WITHqueries are now supported with [LiveData]. [ref-LiveData] b/62510164Fixed a bug where InvalidationTracker would not send the right list if more than 1 table is observed. b/65099281
Fixed a bug where Room would generate different files on Windows. b/64470691
LifecycleObservers in root package are now supported. b/62310817
1.0.0 Alpha 9 - August 16, 2017
বাগ ফিক্স
- Fixed a bug in LiveData , that second Observer was ignored when first one was removed from its
onChangedmethod. b/64285805
1.0.0 Alpha 8 - August 1, 2017
আচরণ পরিবর্তন
-
NOT NULLconstraint is added for columns of primitive types or columns annotated with NonNull . This changes the structure of your tables, so if you're already using Architecture Components alpha 7 or earlier, you need to implement a migration if you want to keep the data, or use thefallbackToDestructiveMigration()method in the builder. b/62007004
এপিআই পরিবর্তন
- SupportSQLiteProgram now extends AutoCloseable . b/63131997
1.0.0 Alpha 7 - July 26, 2017
বাগ ফিক্স
Fixed critical bug in LifecycleRegistry
removeObservermethod, which broke a LifecycleObserver readdition.Fixed InvalidationTracker for custom databases b/63162311
1.0.0 Alpha 6 - July 25, 2017
আচরণ পরিবর্তন
The order of LifecycleObserver calls was changed. Previously observers were always called in the order of their addition: if
observer1is added beforeobserver2, it will receiveON_CREATEand all other events beforeobserver2. This is no longer true for destruction events, for them observers are called in the reverse order of addition. So current behavior is: ifobserver1is added beforeobserver2, thenON_CREATEis sent first toobserver1, then toobserver2(same happens forON_STARTandON_RESUME), butON_PAUSEevent is sent first toobserver2and only then toobserver1(same forON_STOPandON_DESTROY).Room throws an exception if migration is missing. Previously Room would just clear the database, but now it crashes. Developers can opt-in to the clearing behavior by calling the builder API. b/63872392
এপিআই পরিবর্তন
Added
fallbackToDestructiveMigration()method toRoomDatabase.Builderto clear the database if migration is missing. b/63872392Architecture components now depend on support library 26.0.0
বাগ ফিক্স
Fixed handling @Relation nested into @Embedded . b/63736065
Fixed testing migrations for tables with autoincremented primary key. b/63393618
Now @Queries that run DELETE or UPDATE queries correctly receive arguments. b/63872538
Now ViewModels are retained, when owner fragment is in the backstack and configuration change happens twice. b/38445801
1.0.0 Alpha 5 - July 18, 2017
এপিআই পরিবর্তন
Added a new callback method to
RoomDatabase.Builderto observe when a database is created or opened. b/62699324@Query now may return RxJava
MaybeorSingle. b/62231019
You need to depend on android.arch.persistence.room:rxjava2 artifact to add RxJava support to Room.
বাগ ফিক্স
Fixed
@Deletequeries without any parameters. b/63608092Fixed Room type checks for getters and setters. b/63733651
1.0.0 Alpha 4 - July 11, 2017
এপিআই পরিবর্তন
Added a new convenience method (
runInTransaction()) to RoomDatabase .@Insert,@Deleteand@Updatemethods can now have parameters from different entity types. b/62682405
বাগ ফিক্স
Fixed
byte[]handling in@Daomethods. b/62460045Migration check in Room now uses case-insensitive comparison. b/62875382
Fixed the proguard configuration for the Lifecycles artifact. b/62113696
1.0.0 Alpha 3 - June 15, 2017
এপিআই পরিবর্তন
@OnLifecycleEventsupports only 1 event parameter now. This is a change in preparation for Java 8 support so that we can migrate to interfaces with default methods in the future. In relation to this change, only the@OnLifecycleEvent(ON_ANY)annotated methods can receive a second parameter of typeEvent(first parameter is theLifecycleOwner). See Lifecycle docs for details.LifecycleActivityandLifecycleFragmentclasses are moved into theandroid.arch.lifecycle:extensionsartifact.MigrationTestHelper receives the Instrumentation instance instead of the
Contextto be able to read the schema from the test assets and create the database in the application context.@Insert,@Deleteand@Updateannotations in@DAOmethods can now haveIterableas the parameter type. b/62259820
বাগ ফিক্স
Overridden methods with lifecycle events are not called multiple times anymore.
Multiple
INparameters are now handled properly. b/62608681Abstract DAO classes can now have a constructor that receives the
@Databaseinstance. b/38488747DAO's can now have a super class/interface with type parameters. b/62103620
1.0.0 Alpha 2 - June 2, 2017
এপিআই পরিবর্তন
InvalidationTracker callback now receives the list of changed table names. ( b/38468740 )
Reduced the API surface of the SupportSQLiteDatabase class. ( b/38481640 )
বাগ ফিক্স
- Proguard files for lifecycles. ( b/62113696 )
- Loss of data with Type Converters. ( b/62100716 )
- Allow returning
Long[]from@Insertqueries.
1.0.0 Alpha 1 - May 17, 2017
MinSDK: 14
General advisories
While we did a lot of testing prior to launch, Architecture Components are currently in alpha. If you're building a production app, be aware that the API will change before the 1.0 release and might not be fully robust. If you're not comfortable debugging problems in libraries you use, we recommend trying Architecture Components in side projects first.
We're not recommending that everyone migrate today. We'll have a migration guide ready for the 1.0 release of architecture components.
পরিচিত সীমাবদ্ধতা এবং সমস্যা
- Lifecycle
FragmentandActivityCompatin the Support Library do not yet implementLifecycleOwnerinterface. They will when Architecture Components reaches 1.0.0 version.