Book Image

Android Studio 4.0 Development Essentials - Java Edition

By : Neil Smyth
Book Image

Android Studio 4.0 Development Essentials - Java Edition

By: Neil Smyth

Overview of this book

Android rolls out frequent updates to meet the demands of the dynamic mobile market and to enable its developer community to lead advancements in application development. This book focuses on the updated features of Android Studio (the fully integrated development environment launched by Google) to build reliable Android applications using Java. The book starts by outlining the steps necessary to set up an Android development and testing environment. You’ll then learn how to create user interfaces with the help of Android Studio Layout Editor, XML files, and by writing the code in Java. The book introduces you to Android architecture components and advanced topics such as intents, touchscreen handling, gesture recognition, multi-window support integration, and biometric authentication, and lets you explore key features of Android Studio 4.0, including the layout editor, direct reply notifications, and dynamic delivery. You’ll also cover Android Jetpack in detail and create a sample app project using the ViewModel component. Finally, you’ll upload your app to the Google Play Console and handle the build process with Gradle. By the end of this book, you’ll have gained the skills necessary to develop applications using Android Studio 4.0 and Java.
Table of Contents (88 chapters)
88
Index

36.6 Assigning the ViewModel Instance to the Data Binding Variable

At this point, the data binding knows that it will be binding to an instance of a class of type MainViewModel but has not yet been connected to an actual MainViewModel object. This requires the additional step of assigning the MainViewModel instance used within the app to the viewModel variable declared in the layout file. Since the reference to the ViewModel is obtained in the onActivityCreated() method, it makes sense to make the assignment there:

.

.

import static com.ebookfrenzy.viewmodeldemo.BR.myViewModel;

.

.

@Override

public void onActivityCreated(@Nullable Bundle savedInstanceState) {

    super.onActivityCreated(savedInstanceState);

 

    mViewModel = ViewModelProviders.of(this).get(MainViewModel.class);

    binding.setVariable(myViewModel, mViewModel);

}

If Android Studio reports myViewModel as undefined...