```java Amplify.DataStore.observe(Post.class, cancelable -> Log.i("MyAmplifyApp", "Observation began."), postChanged -> { Post post = postChanged.item(); Log.i("MyAmplifyApp", "Post: " + post); }, failure -> Log.e("MyAmplifyApp", "Observation failed.", failure), () -> Log.i("MyAmplifyApp", "Observation complete.") ); ``` ```kotlin Amplify.DataStore.observe(Post::class.java, { Log.i("MyAmplifyApp", "Observation began") }, { val post = it.item() Log.i("MyAmplifyApp", "Post: $post") }, { Log.e("MyAmplifyApp", "Observation failed", it) }, { Log.i("MyAmplifyApp", "Observation complete") } ) ``` ```kotlin Amplify.DataStore.observe(Post::class) .onStart { Log.i("MyAmplifyApp", "Observation began") } .catch { Log.e("MyAmplifyApp", "Observation failed", it) } .onCompletion { Log.i("MyAmplifyApp", "Observation complete") } .collect { Log.i("MyAmplifyApp", "Post: ${it.item()}") } ``` ```java RxAmplify.DataStore.observe(Post.class) .subscribe( post -> Log.i("MyAmplifyApp", "Post: " + post), failure -> Log.e("MyAmplifyApp", "Observation failed.", failure), () -> Log.i("MyAmplifyApp", "Observation complete.") ); ```