linkedin-skill-assessments-quizzes

Android

F1. Um Features, Komponenten und Berechtigungen zu Ihrer Android-App hinzuzufügen, welche Datei muss bearbeitet werden?

F2. Welches XML-Attribut sollte verwendet werden, um ein ImageView barrierefrei zu machen?

F3. Sie starten Ihre App und wenn Sie zu einem neuen Bildschirm navigieren, stürzt sie ab. Welche Aktion wird NICHT helfen, das Problem zu diagnostizieren?

F4. Warum könnten Push-Benachrichtigungen aufhören zu funktionieren?

F5. Was ist der korrekte Satz von Komponentenklassen, der benötigt wird, um eine RecyclerView von Elementen zu implementieren, die eine Liste von Widgets vertikal anzeigt?

    RecycleView
    RecyclerView.Adapter<T extends BaseAdapter>
    RecyclerView.ViewHolder<T extends BaseViewHolder>
    LinearLayoutManager
    RecycleView
    RecyclerView.Adapter
    RecyclerView.ViewHolder<T extends BaseViewHolder>
    LinearLayoutManager
    RecycleView
    RecyclerView.Adapter
    RecyclerView.ViewHolder
    LinearLayoutManager
    RecycleView
    RecyclerView.Adapter<VH extends ViewHolder>
    RecyclerView.ViewHolder
    LinearLayoutManager

F6. Das Android-System beendet den Prozess, wenn es Speicher freigeben muss. Die Wahrscheinlichkeit, dass das System einen bestimmten Prozess beendet, hängt vom Zustand des Prozesses und der Activity zu diesem Zeitpunkt ab. Mit welcher Kombination aus Prozess- und Activity-Zustand wird am ehesten beendet?

F7. Sie haben eine NextActivity-Klasse erstellt, die von einem String abhängt, der einige Daten enthält, die innerhalb des Intents übergeben werden. Welcher Code-Ausschnitt ermöglicht es Ihnen, Ihre Activity zu starten?

    Intent(this, NextActivity::class.java).also { intent ->
        startActivity(intent)
    }
    Intent(this, NextActivity::class.java).apply {
        put(EXTRA_NEXT, "some data")
    }.also { intent ->
        activityStart(intent)
    }
    Intent(this, NextActivity::class.java).apply {
        putExtra(EXTRA_NEXT, "some data")
    }.also { intent ->
        startActivity(intent)
    }
    Intent(this, NextActivity::class.java).apply {
        put(EXTRA_NEXT, "some data")
    }.also { intent ->
        activityStart(intent)
    }

F8. Sie möchten About- und Settings-Module in Ihr Projekt einbinden. Welche Dateien spiegeln ihre Einbindung korrekt wider?

F9. Was ist der Vorteil der Verwendung der @VisibleForTesting-Annotation?

F10. Wie würden Sie in Ihrer build.gradle-Datei angeben, dass Ihre App mindestens API-Level 21 zum Ausführen benötigt, aber auf API-Level 28 getestet werden kann?

      defaultConfig {
        ...
        minApiVersion 21
        targetApiVersion 28
      }
      defaultConfig {
        ...
        targetSdkVersion 21
        testSdkVersion 28
      }
      defaultConfig {
        ...
        minSdkVersion 21
        testApiVersion 28
      }
      defaultConfig {
        ...
      minSdkVersion 21
        targetSdkVersion 28
      }

F11. Wann wird die onActivityResult() einer Activity aufgerufen?

Referenz

F12. Sie müssen ein Event basierend auf seiner ID von Ihrer API entfernen. Welcher Code-Ausschnitt definiert diese Anfrage in Retrofit?

F13. Wann würden Sie einen Product Flavor in Ihrer Build-Konfiguration verwenden?

F14. Gegeben das Fragment unten, wie würden Sie Zugriff auf ein TextView mit der ID text_home erhalten, das in der Layout-Datei einer Fragment-Klasse enthalten ist?

    private lateinit var textView: TextView
    override fun onCreateView(...): View? {
        val root = inflator.inflator(R>layout.fragment_home, container, false)
        textView = ??
        return root
    }

F15. Warum verwenden Sie den AndroidJUnitRunner beim Ausführen von UI-Tests?

Hinweis: AndroidJUnitRunner ermöglicht es uns, JUnit3/4-Stil-Tests auf Android-Geräten auszuführen

F16. Was ermöglicht es Ihnen, den Zustand eines Benutzers ordnungsgemäß wiederherzustellen, wenn eine Activity neu gestartet wird?

Referenz

F17. Wenn der Haupt-Thread zu lange blockiert ist, zeigt das System den _-Dialog an.

F18. Wie würden Sie den Wert der E-Mail eines Benutzers aus SharedPreferences abrufen und dabei sicherstellen, dass der zurückgegebene Wert nicht null ist?

Erklärung: In der Methode "getDefaultSharedPrefarances(this).getString()" wird der zweite Parameter übergeben, damit er zurückgegeben werden kann, falls der Schlüssel nicht existiert. Wir müssen also einen leeren String übergeben, der zurückgegeben wird, falls der Schlüssel nicht existiert.

F19. Warum ist es problematisch, Größen mit Pixeln auf Android zu definieren?

Referenz

F20. Sie müssen eine Liste der Geräte abrufen, die mit aktiviertem USB-Debugging an Ihren Computer angeschlossen sind. Welchen Befehl würden Sie mit der Android Debug Bridge ausführen?

F21. Welche Drawable-Definition ermöglicht es Ihnen, die folgende Form zu erreichen?

img

    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="oval">
        <stroke
            android:width="4dp"
	    android:color="@android:color/white" />
	<solid android:color="@android:color/black" />
    </shape>
    <oval xmlns:android="http://schemas.android.com/apk/res/android">
        <stroke android:width="4dp" android:color="@android:color/black"/>
        <solid android:color="@android:color/white"/>
    </oval>
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="oval">
        <stroke
            android:width="4dp"
            android:color="@android:color/black" />
        <solid android:color="@android:color/white" />
    </shape>
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="oval">
        <stroke
            android:width="4dp"
            android:color="@android:color/white" />
        <solid android:color="@android:color/white" />
    </shape>

F22. Um eine kleine Sammlung von Schlüssel-Wert-Daten zu speichern, was sollten Sie verwenden?

F23. Sie müssen eine Liste von Fotos von einer API abrufen. Welcher Code-Ausschnitt definiert eine HTML-GET-Anfrage in Retrofit?

F24. Gegeben die Testklasse unten, welcher Code-Ausschnitt wäre eine korrekte Assertion?

F25. Welches Tag sollten Sie verwenden, um eine wiederverwendbare View-Komponente zu einer Layout-Datei hinzuzufügen?

F26. Sie möchten ein anderes Drawable für Geräte bereitstellen, die im Querformat sind und deren Sprache auf Französisch eingestellt ist. Welches Verzeichnis ist korrekt benannt?

F27. Warum müssen Sie möglicherweise die folgende Berechtigung in Ihre App aufnehmen?

android.permission.ACCESS_NETWORK_STATE

F28. Welches Bild entspricht am besten dem folgenden LinearLayout?

    <LinearLayout
        android:layout_width="match_parent"
	android:layout_height="match_parent"
	android:orientation="horizontal"
	android:gravity="center">
	<Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button" />
	<Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button" />
        </LinearLayout>

F29. Sie möchten die Standard-Dialer-App auf einem Gerät öffnen. Was ist falsch an diesem Code?

val dialerIntent = Intent()
val et = findViewById(R.id.some_edit_text)
dialerIntent.action = Intent.ACTION_DIAL
dialerIntent.data = Uri.parse("tel:" + et.getText()?.toString())
startActivity(dialerIntent)

F30. Wann sollten Sie Dateien im /assets-Verzeichnis speichern?

Referenz

F31. Sie möchten Benutzern erlauben, in Ihrer App Bilder aufzunehmen. Was ist kein Vorteil der Erstellung eines geeigneten Intent, anstatt die Kamera-Berechtigung direkt anzufordern?

F32. Wann würden Sie die Funktion ActivityCompat.shouldShowRequestPermissionRationale() verwenden?

F33. Sie möchten Analytics-Tracking nur in release-Builds aktivieren. Wie können Sie ein neues Feld in der generierten BuildConfig-Klasse erstellen, um diesen Wert zu speichern?

buildTypes {
	debug {
		buildConfig 'boolean', 'ENABLE_ANALYTICS', 'false'
	}
	release {
		buildConfig 'boolean', 'ENABLE_ANALYTICS', 'true'
	}
}
buildTypes {
	debug {
		buildConfig 'String', 'ENABLE_ANALYTICS', 'false'
	}
	release {
		buildConfig 'String', 'ENABLE_ANALYTICS', 'true'
	}
}
buildTypes {
	debug {
		buildConfigField 'boolean', 'ENABLE_ANALYTICS', 'false'
	}
	release {
		buildConfigField 'boolean', 'ENABLE_ANALYTICS', 'true'
	}
}
buildTypes {
	debug {
		buildConfigField 'boolean', 'ENABLE_ANALYTICS', 'true'
	}
	release {
		buildConfigField 'boolean', 'ENABLE_ANALYTICS', 'false'
	}
}

F34. Um Ihre APK-Größe zu optimieren, welchen Bild-Codec sollten Sie verwenden?

Referenz

F35. Sie haben Code erstellt, um einen Netzwerkaufruf durchzuführen, und getestet, dass er in Ihrer Entwicklungsumgebung funktioniert. Wenn Sie ihn jedoch in der Play-Konsole veröffentlichen, funktioniert der Netzwerkaufruf nicht. Was wird Ihnen nicht helfen, dieses Problem zu beheben?

F36. Welcher Code-Ausschnitt würde das unten angezeigte Layout erreichen?

img

    <androidx.constraintlayout.widget.ConstraintLayout
	...>

	<TextView
		android:id="@+id/text_dashboard"
		android:layout_width="match_parent"
		android:layout_height="wrap_content"
		android:layout_marginTop="16dp"
		android:padding="8dp"
		android:textAlignment="center"
		android:text="Dashboard"
		app:layout_constraintEnd_toEndOf="parent"
		app:layout_constraintStart_toStartOf="parent"
		app:layout_constraintTop_toTopOf="parent" />

    </androidx.constraintlayout.widget.ConstraintLayout>
    <androidx.constraintlayout.widget.ConstraintLayout
	...>

	<TextView
		android:id="@+id/text_dashboard"
		android:layout_width="match_parent"
		android:layout_height="wrap_content"
		android:layout_marginStart="8dp"
		android:layout_marginEnd="8dp"
		android:textAlignment="center"
		android:text="Dashboard"
		app:layout_constraintEnd_toEndOf="parent"
		app:layout_constraintStart_toStartOf="parent"
		app:layout_constraintTop_toTopOf="parent" />

    </androidx.constraintlayout.widget.ConstraintLayout>
    <androidx.constraintlayout.widget.ConstraintLayout
	...>

	<TextView
		android:id="@+id/text_dashboard"
		android:layout_width="match_parent"
		android:layout_height="wrap_content"
		android:layout_marginStart="8dp"
		android:layout_marginTop="16dp"
		android:layout_marginEnd="8dp"
		android:padding="8dp"
		android:textAlignment="center"
		android:text="Dashboard"
		app:layout_constraintEnd_toEndOf="parent"
		app:layout_constraintStart_toStartOf="parent"
		app:layout_constraintTop_toTopOf="parent" />

    </androidx.constraintlayout.widget.ConstraintLayout>
    <androidx.constraintlayout.widget.ConstraintLayout
	...>

	<TextView
		android:id="@+id/text_dashboard"
		android:layout_width="match_parent"
		android:layout_height="wrap_content"
		android:layout_marginStart="8dp"
		android:layout_marginTop="16dp"
		android:layout_marginEnd="8dp"
		android:padding="8dp"
		android:text="Dashboard"
		app:layout_constraintEnd_toEndOf="parent"
		app:layout_constraintStart_toStartOf="parent"
	/>

</androidx.constraintlayout.widget.ConstraintLayout>

F37. Welches Source-Set ist standardmäßig nicht verfügbar, wenn Android Studio ein neues Projekt erstellt?

F38. Welche Definition verhindert, dass andere Apps über einen Intent auf Ihre Activity-Klasse zugreifen?

	<activity android:name=".ExampleActivity" />
	<activity android:name=".ExampleActivity">
		<intent-filter>
			<action android:name="android.intent.action.SEND" />
		</intent-filter>
	</activity>
	<activity android:name=".ExampleActivity">
		<intent-filter>
			<action android:name="android.intent.action.MAIN" />
			<category android:name="android.intent.category.LAUNCHER" />
		</intent-filter>
	</activity>
	<activity android:name=".ExampleActivity">
		<intent-filter>
			<action android:name="android.intent.action.VIEW" />
		</intent-filter>
	</activity>

Erklärung: Intent-Filter werden verwendet, um Activities für andere Apps über Intents zugänglich zu machen. Wir müssen also die Option ohne Intent-Filter wählen, um sicherzustellen, dass sie nicht per Intent zugänglich ist

F39. Um Gerätespeicher zu schonen, wie könnten Sie feststellen, dass das Gerät des Benutzers begrenzte Speicherkapazitäten hat?

F40. Was ist kein guter Weg, um Android-Code wiederzuverwenden?

F41. Welches Layout ist am besten für große, komplexe Hierarchien?

F42. Sie müssen auf die neueste Version des Android Gradle Plugins upgraden. Welche Datei sollten Sie ändern?

Referenz

F43. Warum platzieren Entwickler oft App-Initialisierungscode in der Application-Klasse?

Referenz

F44. Welchen Ordner sollten Sie für die Launcher-Icons Ihrer App verwenden?

F45. Welche Drawable-Definition ermöglicht es Ihnen, die folgende Form zu erreichen?

img

	<shape xmlns:android-"http://schemas.android.com/apk/res/android"
	    android:shape-"oval">
	    <gradient
               android:startColor-"@android:color/white"
               android:endColor-"@android:color/black"
               android:angle-"45"/>
	</shape>
	<rectangle xmlns:android-"http://schemas.android.com/apk/res/android">
	   <gradient
	      android:startColor-"@android:color/white"
	      android:endColor-"android:color/black"
	      android:angle-"135"/>
	</rectangle>
	<shape xmlns:android-"http://schemas.android.com/apk/res/android"
	   android:shape-"rectangle">
	   <gradient
	      android:startColor-"@android:color/white"
	      android:endColor-"@android:color/black"
	      android:angle-"135"/>
	</shape>
	<shape xmlns:android-"http://schemas.android.com/apk/res/android"
	   android:shape-"rectangle">
	   <gradient
	      android:startColor-"@android:color/white"
	      android:endColor-"@android:color/black"
	      android:angle-"98"/>
	</shape>

F46. Gegeben das ConstraintLayout unten, welche Aussage ist wahr?

img

F47. Gegeben dieser Code-Ausschnitt aus einer build.gradle-Datei, welche Wahl ist keine mögliche Build-Variante?

android {
    ...
    defaultConfig{...}

    buildTypes{
    debug{...}
    releasae{...}
}

    flavorDimensions "environment"
    productFlavors {
        producation {...}
        staging {...}
    }
}

Referenz

F48. Wann sollten Sie das androidTest-Verzeichnis verwenden, um Ihre Testklassen zu speichern?

Referenz

F49. Gegeben eine APK namens app-internal-debug.apk, die aus dem Build-Prozess erstellt wurde, welche Aussage ist wahrscheinlich wahr?

F50. Was könnte der folgende Fehler beim Versuch, Ihr Projekt zu erstellen, anzeigen?

Conversion to Dalvik format filed: Unable to execute dex: method ID not in [0, 0xffff]: 65536

F51. Welche Anweisung in der build.gradle-Datei gibt korrekt an, dass das entsprechende Modul ein Android-Bibliotheksmodul ist?

F52. Gegeben die folgende dimens.xml-Datei, wie würden Sie ein ImageView mit mittlerem Abstand am unteren Rand definieren?

<?xml version=1.0 encoding="utf-8"?>
<resources>
    <dimen name="spacing_medium">8dp</dimen>
    <dimen name="spacing_large">12dp</dimen>
</resources>
<ImageView
   android:id=@+id/image_map_pin"
   android:layout_width="wrap_content"
   android:layout_heignt="wrap_content"
   android:src=@drawable/map_pin />
<ImageView
   android:id=@+id/image_map_pin"
   android:layout_width="wrap_content"
   android:layout_heignt="wrap_content"
   androi:layout_botttom="@dimen/spacing_medium"
   android:src=@drawable/map_pin />
<ImageView
   android:id=@+id/image_map_pin"
   android:layout_width="wrap_content"
   android:layout_heignt="wrap_content"
   android:layout_marginBottom="@resources/spacing_medium"
   android:src=@drawable/map_pin />
<ImageView
   android:id=@+id/image_map_pin"
   android:layout_width="wrap_content"
   android:layout_heignt="wrap_content"
   android:layout_marginBottom="@dimen/spacing_medium"
   android:src=@drawable/map_pin />

F53. Was ist kein Vorteil der Externalisierung von App-Ressourcen wie Bildern und Strings aus dem Code?

F54. Was ist der Hauptzweck von Zeile fünf in diesem Code-Ausschnitt?

override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_post_create)

	if (savedInstanceState != null) return

	val fragment = CreatePostFragment()
		supportFragmentManager
		.beginTransaction()
		.add(R.id. fragment_container, fragment)
		.commit()

}

F55. Welche Komponente ist kein Einstiegspunkt, durch den das System oder ein Benutzer in Ihre App eintreten kann?

F56. Was sollten Sie verwenden, um eine große, scrollende Liste von Elementen anzuzeigen?

F57. Sie haben eine AboutActivity-Klasse erstellt, die Details über Ihre App anzeigt. Welcher Code-Ausschnitt ermöglicht es Ihnen, Ihre Activity zu starten?

Erklärung: Intent(Context packageContext, Class<?> cls) Hinweis: Class nicht KClass

F58. Was ist die Verwendung der AndroidManifest.xml-Datei?

F59. Welches Attribut des Elements wird verwendet, um das minimale API-Level anzugeben, das für die Ausführung der Anwendung erforderlich ist?

F60. Um Ihren Code in Release-Builds zu verkleinern, welches Tool verwendet Android Studio?

Erklärung: Wenn Sie Ihr Projekt mit Android Gradle Plugin 3.4.0 oder höher erstellen, verwendet das Plugin nicht mehr ProGuard zur Durchführung der Code-Optimierung zur Kompilierzeit. Stattdessen arbeitet das Plugin mit dem R8-Compiler

Referenz

F61. Welche Layout-Hierarchie wird wahrscheinlich am schnellsten gezeichnet?

F62. Was ist die derzeit empfohlene Methode zur Handhabung von lang laufenden Hintergrundaufgaben?

Referenz

F63. Sie müssen Ihren Benutzern bestimmte Funktionen Ihrer App auf Abruf oder als Sofort-Erlebnisse über Google Play bereitstellen. Welche Art von Modul sollten Sie erstellen?

  1. Referenz
  2. Referenz

F64. Welcher Ansatz wird nicht empfohlen, um einen nützlichen Offline-Zustand in Ihrer App bereitzustellen?

Referenz

F65. Wenn Ihr App-Code Informationen über den aktuellen Build überprüfen muss, welche Klasse sollten Sie verwenden?

F66. Im ConstraintLayout unten, warum würde sich der Button nicht erweitern, um die Breite des übergeordneten Elements zu füllen?

    <androidx.constraintlayout.widget.ConstrantLayout
        ...>
	    <Button
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="Button"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"/>

    </androidx.constraintlayout.widget.ConstrantLayout>

F67. Was ist kein Anwendungsfall für Idling-Ressourcen in Ihren Espresso-Tests?

F68. Was ist kein Typ von Ressource zur Bereitstellung von Strings für Ihre App?

F69. Was ist nicht im Activity-Lebenszyklus?

F70. Sie möchten Benutzern erlauben, ein Bild in Ihrer App aufzunehmen. Welcher Code-Ausschnitt ist der richtige Ansatz?

  fun showCamera(view: View) {
      Log.i(TAG, "Show camera button pressed.")
      if (ContextCompat.shouldShowRequestPermissionRationale(thisActivity,
      Manifest.permission.CAMERA) {
        showCameraPreview()
      }
       else {
         requestPermissionLauncher.launch(Manifest.permission.CAMERA)
       }
   }
  fun showCamera(view: View) {
      Log.i(TAG, "Show camera button pressed.")
      if (ContextCompat.checkSelfPermission(thisActivity,
      Manifest.permission.CAMERA)
      == PackageManager.PERMISSION_GRANTED) {
        showCameraPreview()
      }
      else {
         requestPermissionLauncher.launch(Manifest.permission.CAMERA)
      }
  }
  fun showCamera(view: View) {
      Log.i(TAG, "Show camera button pressed.")
      showCameraPreview()
  }
  fun showCamera(view: View) {
      Log.i(TAG, "Show camera button pressed.")
      if (ContextCompat.checkSelfPermission(thisActivity,
      Manifest.permission.CAMERA)
      != PackageManager.PERMISSION_GRANTED) {
         showCameraPreview()
       }
       else {
          requestPermissionLauncher.launch(Manifest.permission.CAMERA)
       }
  }

F71. Gegeben die String-Ressource unten, welcher Code-Ausschnitt ist gültig?

<string name="upload_photo_notification">%1$d von %2$d Fotos hochgeladen</string>
val string: String = getString(
   R.string.upload_photo_notification,
   "2",
   "5"
)
val string: String = getString(
   R.id.upload_photo_notification,
   2,
   5
)
val string: String = getString(
   R.string.upload_photo_notification,
   2,
   5
)
val string: String = getString(
   R.id.upload_photo_notification,
   "2",
   "5"
)

Referenz

F72. Verschiedene Sprachen haben unterschiedliche Regeln für grammatikalische Übereinstimmung mit der Menge. Um die folgenden zwei Strings in mehreren Sprachen in Ihrer App zu unterstützen, was ist die ideale Ressourcendefinition?

"Sie haben 1 Tag verbleibend"
"Sie haben 2 Tage verbleibend"
<string name="trial_days_left_one"> Sie haben %1$d Tag verbleibend</string>
<string name="trial_days_left_other">Sie haben %1$d Tage verbleibend</string>
<plurals name="trial days left">
    <plural quantity="one">Sie haben %1$d Tag verbleibend</plural>
    <plural quantity="other">Sie haben %1$d Tage verbleibend</plural>
</plurals>
<plurals name="trial_days_left">
    <item quantity="one">Sie haben %1$d Tag verbleibend</item>
    <item quantity="other">Sie haben %1$d Tage verbleibend</item>
</plurals>
<string name="trial_days_left">
    <plural quantity="one">Sie haben %1$d Tag verbleibend</plural>
    <plural quantity="other">Sie haben &1$d Tage verbleibend</plural>
</string>

F73. Wann würde das Betriebssystem die Methode onTrimMemory() verwenden?

Referenz

F74. In Ihrer App haben Sie eine RecyclerView mit Elementen. Sie möchten eine unterschiedliche Konfiguration für Hochformat- und Querformat-Modi haben. Welcher Code-Ausschnitt würde es Ihnen ermöglichen, das Layout unten am besten zu unterstützen?

img

recyclerView.setLayoutManager(GridLayoutManager(this, 3))
val coulumnCount = resources.getInteger(R.integer.column_count)
recyclerView.setLayoutManager(GridLayoutManager(this, columnCount))
recyclerView.setLayoutManager(LinearLayoutManager(this))
val coulumnCount = resources.getInteger(R.integer.column_count)
recyclerView.setLayoutManager(LinearLayoutManager(this, columnCount))

F75. Sie müssen ein Event basierend auf seiner ID von Ihrer API entfernen. Welcher Code-Ausschnitt definiert diese Anfrage in Retrofit?

F76. Sie möchten Benutzern erlauben, Bilder in Ihrer App aufzunehmen. Was ist kein Vorteil der Erstellung eines geeigneten Intent, anstatt die Kamera-Berechtigung direkt anzufordern?

F77. Was ist die derzeit empfohlene Methode zur Handhabung von lang laufenden Hintergrundaufgaben?