P1. Para agregar características, componentes y permisos a tu aplicación de Android, ¿qué archivo debe editarse?
AndroidManifest.xml
Componentes.xml
AppManifest.xml
ComponentManifest.xml
P2. ¿Qué atributo XML se debe utilizar para que una vista de imagen sea accesible?
android:talkBack
androide:labelFor
androide:sugerencia
android:contentDescription
P3. Inicias tu aplicación y cuando navegas a una nueva pantalla se bloquea, ¿qué acción NO te ayudará a diagnosticar el problema?
Establezca puntos de interrupción y, a continuación, recorra el código línea por línea
Utilice las herramientas de generador de perfiles en Android Studio para detectar anomalías en la CPU y el uso de la red.
Agregue una llamada Thread.sleep() antes de iniciar la nueva actividad.
inspeccionar los registros en Logcat.
P4. ¿Por qué las notificaciones push podrían dejar de funcionar?
todas estas respuestas
El token del dispositivo no se está enviando correctamente al proveedor de inserción.
Google Play Services no está instalado en el deivce/emulador.
La optimización de la batería está activada en el dispositivo.
P5. ¿Cuál es el conjunto correcto de clases de componentes necesarias para implementar una RecyclerView de elementos que muestra una lista de widgets verticalmente?
P6. El sistema Android mata el proceso cuando necesita liberar memoria. La probabilidad de que el sistema mate un proceso dado depende del estado del proceso y de la actividad en ese momento. ¿Con la combinación de proceso y estado de actividad es más probable que sea asesinado?
Proceso: En segundo plano; Actividad:Está detenida
Proceso:En segundo plano; Actividad:Está en pausa
Proceso:En primer plano; Actividad:Se ha iniciado
Proceso:En primer plano; Actividad:Está en pausa
P7. Ha creado una clase NextActivity que se basa en una cadena que contiene algunos datos que pasan dentro de la intención ¿Qué fragmento de código le permite iniciar su actividad?
P8. Desea incluir módulos acerca de y de configuración en el proyecto. ¿Qué archivos reflejan con precisión su inclusión?
en build.gradle:include ':app',':about' ':settings'
en settings.gradle:include ':app',':about' ':settings'
en settings.gradle:include ':about',':settings'
en gradle.properties:include ':app',':about' ':settings'
P9. ¿Cuál es el beneficio de usar @VisibleForTesting anotación?
para denotar que una clase, metos o campo tiene su visibilidad relajada para que el código sea comprobable
para indicar que una clase, método o campo sólo es visible en el código de prueba
para denotar que una clase, método o campo tiene su visibilidad aumentada para que el código sea menos comprobable
para generar un error en tiempo de ejecución si se accede incorrectamente a una clase, metos o campo con esta anotación
P10. ¿Cómo especificaría en el archivo build.gradle que la aplicación requería al menos el nivel de API 21 para ejecutarse, pero que se puede probar en el nivel de API 28?
P12. Debe eliminar un evento basado en su identificador de su API, ¿Qué fragmento de código define esa solicitud en Retrofit?
@DELETE("eventos))
fun deleteEvent(@Path("id") id: Long): Llamar<Unit>
@DELETE("events/{id}")
fun deleteEvent(@Path("id") id: Long): Llamar<Unit>
@REMOVE("events/{id}")
fun deleteEvent(@Path("id") id: Long): Llamar<Unit>
@DELETE("events/{id}")
fun deleteEvent(@Path("id") id: Long): Llamar<Unit>
P13. ¿Cuándo usaría un sabor de producto en su configuración de construcción?
cuando necesite tener las cadenas de la aplicación presentes en varios lanuages
cuando tiene que proporcionar diferentes versiones de la aplicación en función del tamaño del dispositivo físico
cuando desee proporcionar diferentes versiones de la aplicación en función de la densidad de la pantalla del dispositivo
cuando desee proporcionar una versión diferente de la aplicación con configuración y recursos personalizados
P14. Dado el fragmento siguiente, ¿cómo obtendría acceso a un TextView con un ID de text_home contenido en el archivo de diseño de una clase Fragment?
private lateinit var textView: TextView
override fun onCreateView(...): View? {
val root = inflator.inflator(R>layout.fragment_home, container, false)
textView = ??
return root
}
root.getById(R.id.text_home)
findViewByID(R.id.text_home)
root.findViewById(R.id.text_home)
root.find(R.id.text_home)
P15. ¿Por qué usas AndroidJUnitRunner cuando ejecutas pruebas de interfaz de usuario?
Aviso: AndroidJUnitRunner nos permite ejecutar pruebas de estilo JUnit3/4 en dispositivos Android
El ejecutor de pruebas facilita la carga del paquete de prueba y la aplicación en prueba en un dispositivo o emulador, ejecuta la prueba e informa de los resultados.
El ejecutor de pruebas crea capturas de pantalla de cada pantalla que se muestra mientras se ejecutan las pruebas.
El ejecutor de la prueba facilita la paralelización de las clases de prueba al proporcionar para cada clase de prueba.
El ejecutor de la prueba facilita la interacción con elementos visibles en un dispositivo, independientemente de la actividad o fragmento que tenga foco.
P16. ¿Qué le permite restaurar correctamente el estado de un usuario cuando se reinicia una actividad?
P17. Dada la definición a continuación. ¿Cómo se obtendría acceso a un TextView con un ID de text_home contenido en el archivo de diseño thr de una clase Fragment?
root.find(R.id.text_home)
findViewById(R.id.text_home)
root.getById(R.id.text_home)
root.findViewById(R.id.text_home)
P18. SI el subproceso principal está bloqueado durante demasiado tiempo, ¿el sistema muestra el cuadro de diálogo _?
El hilo no responde
Aplicación en pausa
La aplicación no responde
Aplicación bloqueada
P19. ¿Cómo recuperaría el valor del correo electrónico de un usuario de SharedPreferences mientras se asegura de que el valor devuelto no sea nulo?
Explicación: En el método "getDefaultSharedPrefarances(this).getString()" se pasa el segundo parámetro para que se pueda devolver, en caso de que la clave no exista. Por lo tanto, debemos pasar una cadena vacía para devolverla en caso de que la clave no exista.
P20. ¿Por qué es problemático definir tamaños usando píxeles en Android?
Aunque la densidad de píxeles de la pantalla varía, esto no afecta el uso de píxeles para definir tamaños.
Los dispositivos grandes siempre tienen más píxeles, por lo que los elementos de la interfaz de usuario se verán afectados si los define con píxeles.
El mismo número de píxeles puede corresponder a diferentes tamaños físicos, lo que afecta a la apariencia de los elementos de la interfaz de usuario.
Los diferentes dispositivos tienen una comprensión diferente de lo que es un píxel, lo que afecta la apariencia de los elementos de la interfaz de usuario
P21. Debe obtener una lista de los dispositivos que están conectados a su computadora con la depuración USB habilitada. ¿Qué comando se ejecutaría usando Android Debug Bridge?
enumerar dispositivos
dispositivos adb
lista avd
dispositivos dir
P22. ¿Qué definición dibujable le permite lograr la forma a continuación?
P23. Para conservar una pequeña colección de datos clave-valor, ¿qué debe usar?
almacenamiento externo de archivos
SharedPereferences
SQLite
almacenamiento interno de archivos
P24. Debe recuperar una lista de fotos de una API. ¿Qué fragmento de código define una solicitud HTML GET en Retrofit?
@GET("foto/{id}"}
fun listPhotos(@Path("id") id:Long?) : Llamar<Photo>
@LIST("foto")
lista divertidaFotos() : Call<List<Photo>>
@GET("foto")
fun listPhotos() : Llamar<Photo>
@GET("foto")
lista divertidaFotos() : Call<List<Photo>>
P25. Dada la clase de prueba a continuación, ¿qué fragmento de código sería una afirmación correcta?
assertThat(resultAdd).is(2.0)
assertNotNull(resultAdd)
assertThat(resultAdd).isWqualTo(2.0)
assertThat(resultAdd)
P26. ¿Qué etiqueta debe usar para agregar un componente de vista reutilizable a un archivo de diseño?
<merge/>
<include/>
<layout/>
<add/>
P27. Desea proporcionar un dibujo diferente para los dispositivos que están en modo horizontal y cuyo idioma está establecido en francés. ¿Qué directorio tiene el nombre correcto?
fr-land-drawable
drawable-fr-land
drawable-french-land
french-land-drawable
P28. ¿Por qué es posible que debas incluir el siguiente permiso en tu aplicación?
android.permission.ACCESS_NETWORK_STATE
para supervisar la ubicación de los dispositivos de modo que no intente realizar llamadas de red cuando el usuario está parado
para solicitar la capacidad de realizar llamadas de red desde la aplicación
para supervisar el estado de red del dispositivo de modo que pueda mostrar un banner en la aplicación al usuario
para supervisar el estado de red de los dispositivos para que no intente realizar llamadas de red cuando la red no esté disponible
P29. Qué imagen corresponde mejor a la siguiente LinearLayout?
P30. Desea abrir la aplicación Marcador predeterminada en un dispositivo. ¿Qué tiene de malo este código?
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)
startActivityWithResult() debe usarse en lugar de startActivity() cuando se utiliza Intent.ACTION_DIAL.
Para Intent.ACTION_DIALel Intent opción Intent.FLAG_ACTIVITY_NEW_TASK Debe agregarse al utilizar esto dialerIntent.
El dialerIntent provocará que se lance una excepción ActivityNotFoundException en dispositivos que no admiten Intent.ACTION_DIAL.
El permiso android.permission.CALL_PHONE debe solicitarse primero antes Intent.ACTION_DIAL se puede utilizar.
P31. ¿Cuándo debe almacenar archivos en el /assets ¿directorio?
cuando necesite acceso a los nombres de archivo originales y a la jerarquía de archivos (Referencia)
cuando necesite acceder al archivo con su resource IDgustar R.assets.filename
cuando tiene archivos XML que definen animaciones de interpolación
cuando necesite acceder al archivo en su forma sin formato utilizando Resources.openRawResource()
P32. Quieres permitir que los usuarios tomen fotografías en tu aplicación. Que es no una ventaja de crear un intent, en lugar de solicitar el permiso de la cámara directamente?
Los usuarios pueden seleccionar sus aplicaciones de fotos favoritas para tomar fotos.
No tienes que hacer una solicitud de permiso en tu aplicación para tomar una foto.
Usted tiene control total sobre la experiencia del usuario. La aplicación que controla la cámara intent respetará sus elecciones de diseño.
No es necesario diseñar la interfaz de usuario. La aplicación que controla la cámara intent proporcionará la interfaz de usuario.
P33. ¿Cuándo usaría el ActivityCompat.shouldShowRequestPermissionRationale() ¿función?
cuando un usuario abre la aplicación por primera vez y desea proporcionar una explicación para el uso de un permiso determinado
cuando un usuario ha denegado previamente la solicitud de un permiso determinado y selecciona "Cuéntame más"
cuando un usuario ha denegado previamente la solicitud de un permiso determinado y desea proporcionar una explicación de su uso
cuando un usuario ha denegado previamente la solicitud de un permiso determinado y ha seleccionado "No volver a preguntar", pero necesita el permiso para que su aplicación funcione
P34. Desea habilitar el seguimiento analítico solo en release Construye. ¿Cómo se puede crear un nuevo campo en el generado? BuildConfig para almacenar ese valor?
P36. Ha creado código para realizar una llamada de red y ha probado que funciona en su entorno de desarrollo. Sin embargo, cuando lo publicas en Play Console, la llamada de red no funciona. ¿Qué será? no ayudarle a solucionar este problema?
comprobar si ProGuard -KeepClassmembers se han añadido a los objetos de transferencia de datos de red (DTO) en cuestión
uso de las herramientas de generador de perfiles en Android Studio para detectar anomalías en el uso de la CPU, la memoria y la red
comprobación de excepciones en los registros del servidor o en la consola del servidor
comprobación de que el objeto de transferencia de datos de red tiene @SerizlizedName aplicado a sus propiedades miembro
P37. ¿Qué fragmento de código lograría el diseño que se muestra a continuación?
Explicación: Los filtros de intención se usan para hacer que las actividades sean accesibles para otras aplicaciones mediante intenciones. Por lo tanto, tenemos que elegir opciones que no tengan filtro de intención para asegurarnos de que no sea accesible por intención.
P40. Para preservar la memoria en el dispositivo, ¿cómo podría determinar que el dispositivo del usuario tiene capacidades de almacenamiento limitadas?
Utilice el botón ActivityManager.isLowRamDevice() método para averiguar si un dispositivo se define a sí mismo como "baja RAM".
Utilice el botón Activity.islowRam() método para averiguar si un dispositivo se define a sí mismo como "baja RAM".
Utilice el botón ConnectivityManager.hasLowMemory() método para averiguar si un dispositivo se define a sí mismo como "baja RAM".
Realice una solicitud de descarga de imágenes y compruebe el uso de almacenamiento del dispositivo restante.
P41. Qué es _not_ una buena manera de reutilizar el código de Android?
Utilice un módulo Gradle común compartido por diferentes proyectos de Android.
Prefiere crear vistas o fragmentos personalizados sobre las actividades.
Prefiere construir actividades en lugar de fragmentos.
Desglose los diseños de la interfaz de usuario en elementos comunes y use <include/> para incluirlos en otros archivos XML de diseño.
P42. ¿Qué diseño es mejor para jerarquías grandes y complejas?
LinearLayout
ConstraintLayout
FrameLayout
RelativeLayout
P43. Debe actualizar a la última versión del complemento Android Gradle. ¿Qué archivo debe modificar?
Pregunta 59. ¿Cuál es el uso del archivo AndroidManifest.xml?
Describe el componente de la aplicación
Declara el nivel mínimo de la API de Android que requiere la aplicación
Facilita proporcionar un nombre uinque para la aplicación especificando el nombre del paquete
Todo lo anterior
P60. Qué atributo del elemento <uses-sdk> se utiliza para especificar el nivel mínimo de API necesario para que la aplicación se ejecute?
android:targetSdkVersion
android:minSdkVersion
android:maxSdkVersion
Nada de lo anterior
P61. Para reducir el código en las compilaciones de lanzamiento, ¿qué herramienta utiliza Android Studio?
R8
ProGuard
Encogedor
D8
Explicación: Cuando crea su proyecto utilizando el complemento Android Gradle 3.4.0 o superior, el complemento ya no utiliza ProGuard para realizar la optimización del código en tiempo de compilación. En cambio, el complemento funciona con el compilador R8 para manejar
Pregunta 64. Debe proporcionar a sus usuarios ciertas funciones de su aplicación bajo demanda o como experiencias instantáneas a través de Google Play. ¿Qué tipo de módulo debe crear?