app’s highlight inside of Google Search/Assistant. • Here the actual UI is rendered by another app. • Slice is built on the interaction between provider app and the host app. Source : https://goo.gl/ya9HpA
with BiometricPrompt. • It provides stock UI around fingerprint scanning. • BiometricPrompt can handle other forms of biometric authentication such as face scanning or iris scanning.
Google Play will require new apps & app updates target the recent Android API level. • Aug 2018 : New apps required to target API level 26 (Android 8.0) or higher • November 2018 : Updates to existing apps required to target API level 26 or higher. • 2019 onwards : Each year the targetSdkVersion requirement will advance.
Expand Animation. • Providing more control to the end users. • Avoiding all the spam notifications. • Implementations • To target Oreo need to implement notification channels and incorporate badges. Source :https://goo.gl/ZZLaaD
Restricting Background processes for different applications • Services run freely in foreground • Background services are stopped when idle. • Bound services are not affected. • Limitations on Background Location Updates • When in Background apps to receive location updates only a few times each hour.
individually adoptable and built to work together to make android developers more productive. • Accelerate Development • Eliminates boilerplate code. • Build high quality apps with no memory leaks and fewer crashes with backward compatibility integrated.
Always Drive UI from the Model. • Try to implement the architecture which is robust , testable and easily maintainable. • Now it is 1.x (Stable) out of its alpha and beta stage.
behaviour based on the current lifecycle state of an activity or fragment. • They are core to how android framework works and our app must respect them. • Using the LifecycleOwner Interface and LifecycleObserver in an optimized manner. • For e.g. If we need to implement the location listener for live tracking in our application we can make the location listener implement LifecycleObserver and initialize in our UI component’s (Activity) onCreate().
as possible. • Since the UI will be dumb, it will be easier to test using Instrumentation tests. • Components that implement LifecycleObserver work seamlessly with components that implement LifecycleOwner because an owner can provide a lifecycle, which an observer can register to watch. • Using this in video buffering, network connectivity , animated drawable etc.
notifies views when the underlying model changes. The USP is that it is lifecycle aware. • The awareness makes LiveData quite invaluable as it makes sure that UI components are updated only in an active lifecycle state. Source : https://goo.gl/ff4NK9
data in a life-cycle conscious way. This allows data to survive configuration changes such as screen rotations or device language modifications. • A ViewModel outlives the specific Activity or Fragment instances. • A ViewModel will stay in memory until the Lifecycle it’s scoped to goes away permanently – in the case of an Activity, once it finishes; in the case of a Fragment, once it’s detached. • It shouldn’t reference any Views directly inside of it or hold reference to a context. This can cause memory leaks. • ViewModelProvider instance is tied to either an Activity(AppCompatActivity) or Fragment.
Database. • Optimizes database access while harnessing full power of SQLite. • It serves as app’s single source of truth which assists in providing offline first experience to end users.