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"
এর সাথেMenuItem
s যখন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()
পদ্ধতিগুলি এখন একটি বাতিলযোগ্যBundle
aosp/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.Result
ListenableWorker
এর অভ্যন্তরীণ শ্রেণীতে স্থানান্তরিত করা হয়েছে। এটি কোটলিনের শীর্ষ-স্তরেরResult
শ্রেণীর সাথে রিফ্যাক্টরিং দ্বন্দ্ব প্রতিরোধ করে। এটি একটি ব্রেকিং API পরিবর্তন। b/120564418
ব্রেকিং API পরিবর্তন
-
androidx.work.Result
ListenableWorker
এর অভ্যন্তরীণ শ্রেণীতে স্থানান্তরিত করা হয়েছে।
ডিসেম্বর 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
নাম পরিবর্তন করে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
টীকা যোগ করে
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()
চলাকালীনCANCELLED
State
একটিWorkInfo
ফেরত দেবে। -
ListenableWorker
এnull
Result
ব্যর্থতা হিসাবে বিবেচনা করুন। 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
সমস্ত রূপ আরWorkRequest
s-এর জন্য varargs গ্রহণ করে না। এটি একটি ব্রেকিং পরিবর্তন. পরিবর্তে সংগ্রহ ব্যবহার করুন. আপনি বিদ্যমান কোড পরিবর্তন করতেArrays.asList()
ব্যবহার করতে পারেন। আমরা API পৃষ্ঠ এবং পদ্ধতি গণনা কমাতে এটি করেছি। - প্রতি প্রক্রিয়ায় একাধিকবার
WorkManager
initialize
করার চেষ্টা করলে এখন একটিIllegalStateException
হবে। এটি একটি ব্রেকিং পরিবর্তন.
বাগ ফিক্স
-
WorkRequest.Builder
swork-runtime-ktx
আর্টিফ্যাক্টে এখনListenableWorker
s ব্যবহার করে। 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
সমস্ত রূপ আরWorkRequest
s-এর জন্য varargs গ্রহণ করে না। - প্রতি প্রক্রিয়ায় একাধিকবার
WorkManager
initialize
করার চেষ্টা করলে এখন একটি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 পরিবর্তন। -
NonBlockingWorker
ListenableWorker
এ নামকরণ করা হয়েছে, যা এখন একটি অগোপন পাবলিক ক্লাস এবং ব্যবহারের জন্য প্রস্তুত৷-
ListenableWorker
একটি বিমূর্ত পদ্ধতিতে অ্যাক্সেস প্রদান করে,ListenableFuture<Payload> onStartWork()
যা প্রধান থ্রেডে বলা হয়। অ্যাসিঙ্ক্রোনাসভাবে কাজ শুরু করা এবং প্রক্রিয়া করা আপনার উপর নির্ভর করে। শেষ হয়ে গেলে, আপনার উপযুক্তভাবেListenableFuture
আপডেট করা উচিত।ListenableFuture
s-এর রেফারেন্স ইমপ্লিমেন্টেশনগুলিalpha02
এরFutures
প্যাকেজে দেওয়া হয়েছে (WorkManager
বিভাগের নীচে দেখুন)। -
Worker
ListenableWorker
প্রসারিত করে এবং এখনও আগের মতই কাজ করে, একটি বিমূর্ত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
ঠিক করুন যেখানে কাজREPLACE
d ছিল। b/116253486 এবং b/116677275 -
WorkContinuation.combine()
এখন দুই বা ততোধিক কাজের পরিবর্তে এক বা একাধিকWorkContinuation
গ্রহণ করে। b/117266752
ব্রেকিং API পরিবর্তন
- পূর্বে
deprecated
সমস্ত পদ্ধতি এবং ক্লাস মুছে ফেলা হয়েছে, বিশেষ করে ডিফল্টWorker
কনস্ট্রাক্টর। - ইন্টারফেস
WorkerFactory
এবং কংক্রিট বাস্তবায়নDefaultWorkerFactory
কেWorkerFactory
নামে একটি বিমূর্ত শ্রেণীতে একীভূত করা হয়েছে। -
WorkManager.synchronous()
এবংWorkContinuation.synchronous()
সরানো হয়েছে। -
WorkManager.getStatus*()
পদ্ধতি এখনListenableFuture
s ফেরত দেয়।WorkManager.getStatus*LiveData()
LiveData
s ফেরত দেয়।
ফিউচার
ফিউচার 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 / আচরণ পরিবর্তন
-
RoomDatabase
mCallback
এবং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()
পদ্ধতি এখনNonNull
b/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:type
app:argType
অন্যান্য লাইব্রেরির সাথে বিরোধগুলি এড়াতে যেমন কনস্ট্রেন্টলআউট 2.0.0-আলফা 1 বি/111110548 - নিরাপদ আরগস থেকে ত্রুটি বার্তাগুলি এখন ক্লিকযোগ্য বি/111534438
- এআরজিএস ক্লাসগুলি এখন নিশ্চিত করে যে
NonNull
বৈশিষ্ট্যগুলি আসলে নাল বি/111451769 নয় - অতিরিক্ত
NonNull
টী
বাগ ফিক্স
- একটি খণ্ড গন্তব্য বি/111515685 এর সাথে গভীর সংযোগের পরে সিস্টেম ব্যাক বোতামের সাথে একটি সমস্যা স্থির করে
জুলাই 12, 2018
নেভিগেশন
নেভিগেশন 1.0.0-alpha03
এবং সম্পর্কিত নিরাপদ আরগস গ্রেডল প্লাগইনটিতে বেশ কয়েকটি এপিআই পরিবর্তন, আচরণের পরিবর্তন এবং বাগ ফিক্স রয়েছে।
এপিআই / আচরণ পরিবর্তন
- সরঞ্জামদণ্ডের জন্য একটি নেভিগেশনউই.সেটআপউইথনভকন্ট্রোলার পদ্ধতি বি/109868820 যুক্ত করা হয়েছে
- একটি নেভিগেশনউই.সেটআপউইথনভকন্ট্রোলার পদ্ধতিটি ভেঙে পড়ার জন্য বি/110887183 যুক্ত করা হয়েছে
- পপব্যাকস্ট্যাক () এখন পিছনের স্ট্যাকটি খালি থাকলে বা যখন প্রদত্ত গন্তব্য আইডি ব্যাক স্ট্যাক বি/110893637 এ না থাকে তখন মিথ্যা ফেরত দেয়
- ফ্রেগমেন্টনাভিগেটর এখন ফ্রেগমেন্টম্যানেজার রাজ্যকে বাঁচানোর পরে নেভিগেশন অপারেশনগুলিকে উপেক্ষা করে, "অনস্যাভেইনস্ট্যানস্টেটেট পরে এই ক্রিয়াটি সম্পাদন করতে পারে না" ব্যতিক্রম বি/110987825 এড়িয়ে চলা
নিরাপদ Args
- ব্রেকিং পরিবর্তন: অ্যাকশন এবং আর্গুমেন্টের নামগুলিতে অ-আলফানিউমারিক চরিত্রগুলি সম্পর্কিত নাবডাইরেকশন পদ্ধতির নামগুলিতে উট কেসিং দ্বারা প্রতিস্থাপন করা হবে
- যেমন
DemoController.index
setDemoControllerIndex
বি/79995048 হয়ে যাবে - যেমন
action_show_settings
actionShowSettings
বি/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()
জন্য সমর্থন যুক্ত করুন ThisAlarmManager
Configuration.Builder.setMaxSchedulerLimit(int maxSchedulerLimit)
JobScheduler
এটিWorkManager
আপনার সমস্ত উপলভ্যJobScheduler
স্লট নিতে বাধা দিতে সহায়তা করে।JobScheduler
Configuration.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এমন একটি সমস্যা স্থির করে যা
Worker
Application.onCreate()
এ পুনরায় নির্ধারণ করা হয়েছিল। বি/79660657এমন একটি সমস্যা স্থির করেছেন যেখানে আপনি ওএস দ্বারা অনুমোদিত চেয়ে বেশি কাজের সময় নির্ধারণ করতে পারেন। বি/79497378
ব্যাকগ্রাউন্ড থ্রেডে
Worker
সাথে যুক্ত জাগ্রত লকগুলির ক্লিনআপ সরানো হয়েছে।AlarmManager
বাস্তবায়ন এখন সমস্ত বিচারাধীন কাজ শেষ হলে সঠিকভাবে পরিষ্কার হয়।স্থির ক্লিনআপ এসকিউএল কোয়েরি যা অ-ইংরেজি লোকালকে প্রভাবিত করে। বি/80065360
Data
float
এস এর জন্য সমর্থন যুক্ত করা হয়েছে। বি/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.extensions
LivePagedListProvider
-
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.Builder
setJournalMode()
পদ্ধতি ব্যবহার করে এই আচরণটি নিয়ন্ত্রণ করতে পারেন। বি/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
যুক্ত করা হয়েছে। পার্থক্য পরিষ্কার করার জন্যKeyedDataSource
ItemKeyedDataSource
নামকরণ করা হয়েছে।LivePagedListBuilder
এবংDataSource.Factory
LivePagedListProvider
প্রতিস্থাপন করুন। বিল্ডার আরও কাস্টমাইজেশন এবং সহজ ডিফল্ট সহ একই ক্ষমতা সরবরাহ করে। কারখানাটি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.db
android.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
@NonNull
unless they are auto generated. b/64292391- This change may require a schema migration. অসুবিধার জন্য দুঃখিত।
- Added a new convenience annotation ( @Transaction ) which overrides a
DAO
method 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
@Query
methods 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
@Generated
if the app has the annotation in the classpath. b/35754819Fixed MediatorLiveData's observer comparison bug. b/64413274
SQLite
WITH
queries 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
onChanged
method. b/64285805
1.0.0 Alpha 8 - August 1, 2017
আচরণ পরিবর্তন
-
NOT NULL
constraint 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
removeObserver
method, 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
observer1
is added beforeobserver2
, it will receiveON_CREATE
and 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: ifobserver1
is added beforeobserver2
, thenON_CREATE
is sent first toobserver1
, then toobserver2
(same happens forON_START
andON_RESUME
), butON_PAUSE
event is sent first toobserver2
and only then toobserver1
(same forON_STOP
andON_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.Builder
to 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.Builder
to observe when a database is created or opened. b/62699324@Query now may return RxJava
Maybe
orSingle
. b/62231019
You need to depend on android.arch.persistence.room:rxjava2
artifact to add RxJava support to Room.
বাগ ফিক্স
Fixed
@Delete
queries 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
,@Delete
and@Update
methods can now have parameters from different entity types. b/62682405
বাগ ফিক্স
Fixed
byte[]
handling in@Dao
methods. 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
এপিআই পরিবর্তন
@OnLifecycleEvent
supports 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.LifecycleActivity
andLifecycleFragment
classes are moved into theandroid.arch.lifecycle:extensions
artifact.MigrationTestHelper receives the Instrumentation instance instead of the
Context
to be able to read the schema from the test assets and create the database in the application context.@Insert
,@Delete
and@Update
annotations in@DAO
methods can now haveIterable
as the parameter type. b/62259820
বাগ ফিক্স
Overridden methods with lifecycle events are not called multiple times anymore.
Multiple
IN
parameters are now handled properly. b/62608681Abstract DAO classes can now have a constructor that receives the
@Database
instance. 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@Insert
queries.
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
Fragment
andActivityCompat
in the Support Library do not yet implementLifecycleOwner
interface. They will when Architecture Components reaches 1.0.0 version.