Questions for the ASSOCIATE ANDROID DEVELOPER were updated on : Nov 26 ,2024
Page 1 out of 9. Viewing questions 1-15 out of 128
Question 1
Topic 1, KOTLIN only
Topic 1 What is a correct part of an Implicit Intent for sharing data implementation?
A. val sendIntent = Intent(this, UploadService::class.java).apply { putExtra(Intent.EXTRA_TEXT, textMessage) ...
B. val sendIntent = Intent().apply { type = Intent.ACTION_SEND; ...
C. val sendIntent = Intent(this, UploadService::class.java).apply { data = Uri.parse(fileUrl) ...
D. val sendIntent = Intent().apply { action = Intent.ACTION_SEND ...
Answer:
D
User Votes:
A
50%
B
50%
C
50%
D
50%
Explanation: Create the text message with a string val sendIntent = Intent().apply { action = Intent.ACTION_SEND putExtra(Intent.EXTRA_TEXT, textMessage) type = "text/plain" } Reference: https://developer.android.com/guide/components/fundamentals
Discussions
0/ 1000
Question 2
Topic 1, KOTLIN only
Topic 1 By default, the notification's text content is truncated to fit one line. If you want your notification to be longer, for example, to create a larger text area, you can do it in this way:
A. var builder = NotificationCompat.Builder(this, CHANNEL_ID) .setContentText("Much longer text that cannot fit one line...") .setStyle(NotificationCompat.BigTextStyle() .bigText("Much longer text that cannot fit one line...")) ...
B. var builder = NotificationCompat.Builder(this, CHANNEL_ID) .setContentText("Much longer text that cannot fit one line...") .setLongText("Much longer text that cannot fit one line...")) ...
C. var builder = NotificationCompat.Builder(this, CHANNEL_ID) .setContentText("Much longer text that cannot fit one line...") .setTheme(android.R.style.Theme_LongText); ...
Topic 1 Select correct demonstration of WorkRequest cancellation.
A. workManager.enqueue(OneTimeWorkRequest.Builder(FooWorker::class.java).build())
B. val request: WorkRequest = OneTimeWorkRequest.Builder(FooWorker::class.java).build() workManager.enqueue(request) val status = workManager.getWorkInfoByIdLiveData(request.id) status.observe(...)
C. val request: WorkRequest = OneTimeWorkRequest.Builder(FooWorker::class.java).build() workManager.enqueue(request) workManager.cancelWorkById(request.id)
D. val request1: WorkRequest = OneTimeWorkRequest.Builder(FooWorker::class.java).build() val request2: WorkRequest = OneTimeWorkRequest.Builder(BarWorker::class.java).build() val request3: WorkRequest = OneTimeWorkRequest.Builder(BazWorker::class.java).build() workManager.beginWith(request1, request2).then(request3).enqueue()
E. val request: WorkRequest = OneTimeWorkRequest.Builder(FooWorker::class.java).build() workManager.enqueue(request) workManager.cancelWork(request)
Answer:
C
User Votes:
A
50%
B
50%
C
50%
D
50%
E
50%
Explanation: Videos: Working with WorkManager, from the 2018 Android Dev Summit
WorkManager: Beyond the basics, from the 2019 Android Dev Summit
Topic 1 In general, you should send an AccessibilityEvent whenever the content of your custom view changes. For example, if you are implementing a custom slider bar that allows a user to select a numeric value by pressing the left or right arrows, your custom view should emit an event of type TYPE_VIEW_TEXT_CHANGED whenever the slider value changes. Which one of the following sample codes demonstrates the use of the sendAccessibilityEvent() method to report this event.
A. override fun dispatchPopulateAccessibilityEvent(event: AccessibilityEvent): Boolean { return super.dispatchPopulateAccessibilityEvent(event).let { completed -> if (text?.isNotEmpty() == true) { event.text.add(text) true } else { completed
B. override fun onKeyUp(keyCode: Int, event: KeyEvent): Boolean { return when(keyCode) { KeyEvent.KEYCODE_DPAD_LEFT -> { currentValue-- sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_TEXT_CHANGED) true ...
C. override fun onKeyUp(keyCode: Int, event: KeyEvent): Boolean { return when(keyCode) { KeyEvent.KEYCODE_ENTER -> { currentValue-- sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_CONTEXT_CLICKED) true ...
Topic 1 The easiest way of adding menu items (to specify the options menu for an activity) is inflating an XML file into the Menu via MenuInflater. With menu_main.xml we can do it in this way:
A. override fun onCreateOptionsMenu(menu: Menu): Boolean { menuInflater.inflate(R.menu.menu_main, menu) return true
B. override fun onOptionsItemSelected(item: MenuItem): Boolean { menuInflater.inflate(R.menu.menu_main, menu) return super.onOptionsItemSelected(item) }
C. override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.menu.menu_main) }
Topic 1 Android Tests. You can use the childSelector() method to nest multiple UiSelector instances. For example, the following code example shows how your test might specify a search to find the first ListView in the currently displayed UI, then search within that ListView to find a UI element with the text property Apps. What is the correct sample?
A. val appItem: UiObject = device.findObject( UiSelector().className(ListView.class) .instance(1) .childSelector( UiSelector().text("Apps")
B. val appItem: UiObject = device.findObject( UiSelector().className("android.widget.ListView") .instance(0) .childSelector( UiSelector().text("Apps")
C. val appItem: UiObject = device.findObject( UiSelector().className("android.widget.ListView") .instance( UiSelector().text("Apps")
Answer:
B
User Votes:
A
50%
B
50%
C
50%
Discussions
0/ 1000
Question 7
Topic 1, KOTLIN only
Topic 1 The following code snippet shows an example of an Espresso test:
A. @Rule fun greeterSaysHello() { onView(withId(R.id.name_field)).do(typeText("Steve")) onView(withId(R.id.greet_button)).do(click()) onView(withText("Hello Steve!")).check(matches(isDisplayed())) }
B. @Test fun greeterSaysHello() { onView(withId(R.id.name_field)).perform(typeText("Steve")) onView(withId(R.id.greet_button)).perform(click()) onView(withText("Hello Steve!")).check(matches(isDisplayed())) }
C. @Test fun greeterSaysHello() { onView(withId(R.id.name_field)).do(typeText("Steve")) onView(withId(R.id.greet_button)).do(click()) onView(withText("Hello Steve!")).compare(matches(isDisplayed())) }
Answer:
B
User Votes:
A
50%
B
50%
C
50%
Discussions
0/ 1000
Question 8
Topic 1, KOTLIN only
Topic 1 As an example. In an Activity we have our TimerViewModel object (extended ViewModel), named mTimerViewModel. mTimerViewModel.timer method returns a LiveData value. What can be a correct way to set an observer to change UI in case if data was changed?
A. mTimerViewModel!!.timer.value.toString().observe (Observer { aLong -> callAnyChangeUIMethodHere(aLong!!) })
B. mTimerViewModel!!.timer.observe (this, Observer { aLong -> callAnyChangeUIMethodHere(aLong!!) })
C. mTimerViewModel.observe (Observer { aLong -> callAnyChangeUIMethodHere(aLong!!) })
Answer:
B
User Votes:
A
50%
B
50%
C
50%
Discussions
0/ 1000
Question 9
Topic 1, KOTLIN only
Topic 1 LiveData.postValue() and LiveData.setValue() methods have some differences. So if you have a following code executed in the main thread: liveData.postValue("a"); liveData.setValue("b"); What will be the correct statement?
A. The value "b" would be set at first and later the main thread would override it with the value "a".
B. The value "a" would be set at first and later the main thread would override it with the value "b".
C. The value "b" would be set at first and would not be overridden with the value "a".
D. The value "a" would be set at first and would not be overridden with the value "b".
Answer:
B
User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
0/ 1000
Question 10
Topic 1, KOTLIN only
Topic 1 In our TeaViewModel class, that extends ViewModel, we have such prorerty: val tea: LiveData An observer in our Activity (type of mViewModel variable in example is TeaViewModel) is set in this way: mViewModel!!.tea.observe(this, Observer { tea: Tea? -> displayTea(tea) }) What will be a correct displayTea method definition?
A. private fun displayTea()
B. private fun displayTea(tea: Tea?)
D. private fun displayTea(tea: LiveData?)
Answer:
B
User Votes:
A
50%
B
50%
D
50%
Discussions
0/ 1000
Question 11
Topic 1, KOTLIN only
Topic 1 For example, our preferences.xml file was added by addPreferencesFromResource(R.xml.preferences). Our preferences.xml file contains such item: <> android:id="@+id/notification" android:key="@string/pref_notification_key" android:title="@string/pref_notification_title" android:summary="@string/pref_notification_summary" android:defaultValue="@bool/pref_notification_default_value" app:iconSpaceReserved="false"/> In our Fragment, we can dynamically get current notification preference value in this way:
A. val isNotificationOn = PreferenceManager.getDefaultSharedPreferences(context).getBoolean( context!!.getString(R.string.pref_notification_key), context!!.resources.getBoolean(R.bool.pref_notification_default_value) )
B. val isNotificationOn = PreferenceManager.getSharedPreferences(context).getBoolean( context!!.getString(R.string.pref_notification_default_value), context!!.getString(R.string.pref_notification_key), )
C. val isNotificationOn = PreferenceManager.getSharedPreferences(context).getBoolean( context!!.resources.getBoolean(R.bool.pref_notification_default_value), context!!.getString(R.string.pref_notification_key) )
Answer:
A
User Votes:
A
50%
B
50%
C
50%
Discussions
0/ 1000
Question 12
Topic 1, KOTLIN only
Topic 1 For example, our preferences.xml file was added by addPreferencesFromResource(R.xml.preferences). Our preferences.xml file contains such item: android:entries="@array/sort_oder" android:entryValues="@array/sort_oder_value" android:defaultValue="@string/pref_default_sort_value" app:iconSpaceReserved="false" /> In our Fragment, we can dynamically get current notification preference value in this way:
A. val sortBy = PreferenceManager.getDefaultSharedPreferences(context).getString( context!!.getString(R.string.pref_sort_key), context!!.resources.getBoolean(R.bool.pref_default_sort_value) )
B. val sortBy = PreferenceManager.getSharedPreferences(context).getString( context!!.getString(R.string.pref_default_sort_value), context!!.getString(R.string.pref_sort_key), )
C. val sortBy = PreferenceManager.getSharedPreferences(context).getBoolean( context!!.resources.getBoolean(R.bool.pref_default_sort_value), context!!.getString(R.string.pref_sort_key) )
D. val sortBy = PreferenceManager.getDefaultSharedPreferences(context).getString( context!!.getString(R.string.pref_sort_key), context!!.getString(R.string.pref_default_sort_value) )
Answer:
D
User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
0/ 1000
Question 13
Topic 1, KOTLIN only
Topic 1 For example, we have a file in our raw folder app/src/main/res/raw/sample_teas.json. To get an InputStream for reading it, from out Context context, we can do this:
A. val input = context!!.openRawResource(R.raw.sample_teas)
B. val input = context!!.getRawResource(R.raw.sample_teas)
C. val input = context!!.resources.openRawResource(R.raw.sample_teas)
Answer:
C
User Votes:
A
50%
B
50%
C
50%
Discussions
0/ 1000
Question 14
Topic 1, KOTLIN only
Topic 1 For example, we have a BufferedReader reader, associated with the json file through InputStreamReader. To get a file data we can do this:
A. var line: String? try { while (reader.readLine().also { line = it } != null) { builder.append(line) val json = JSONObject(builder.toString()) return json } catch (exception: IOException) { exception.printStackTrace() } catch (exception: JSONException) { exception.printStackTrace()
B. var line: JSONObject ? try { while (reader.readJSONObject ().also { line = it } != null) { builder.append(line) val json = JSONObject(builder.toString()) return json } catch (exception: IOException) { exception.printStackTrace() } catch (exception: JSONException) { exception.printStackTrace()
C. var line: String? try { while (reader.readLine().also { line = it } != null) { builder.append(line) val json = JSONObject(builder.toString()) return json } catch (exception: RuntimeException) { exception.printStackTrace() } catch (exception: ArrayIndexOutOfBoundsException) { exception.printStackTrace()
Answer:
A
User Votes:
A
50%
B
50%
C
50%
Discussions
0/ 1000
Question 15
Topic 1, KOTLIN only
Topic 1 For example, we have a file in our assets folder app/src/main/assets/sample_teas.json. To get an InputStream for reading it, from out Context context, we can try do this:
A. val input = context!!.resources.openRawResource(R.raw.sample_teas)
B. val input = context!!.assets.open("sample_teas.json")
C. val input = context!!.resources.assets.open("sample_teas.json")