Buscar este blog

viernes, 28 de febrero de 2014

TEST 6, 7, 8 y 9 ANDROID

6.-Multimedia y ciclo de vida
¿Cuándo hay que utilizar los métodos del ciclo de vida?
Siempre que necesitemos utilizar el API multimedia
Para arrancar y detener servicios
x Cuando queramos que nuestra actividad se comporte de forma diferente cuando esté en estado: activa, visible, parada o destruida.
Todas las respuestas son correctas

Has arrancado una animación en el método onResume() ¿En qué método tendrías que detenerla?
x onPause()
onStop()
onDestroy()
Cualquier método sería valido

¿Qué tres métodos son llamados cuando se arranca por primera vez una actividad?
onStart(), onCreate() y onRestart()
onStart(), onCreate() y onResume()
x onCreate(), onStart() y onResume()
onRestart(), onStart() y onCreate()

¿Qué dos métodos del ciclo de vida de una activar pueden no ser llamados en caso de extrema necesidad de memoria? (selecciona dos) 
onStart() y onStop()
x onStop() y onDestroy()
onResume() y onPause()
onRestart() y onPause()
________________________________________________________

El sistema Android necesita memoria ¿Qué aplicación será eliminada, conocido el estado de sus componentes?
Teléfono: 1 actividad ACTIVA
WhatsApp: 1 actividad VISIBLE y 1 servicio
x Contactos: 3 actividades PARADAS
Correo: 1 actividad PARADA y 1 servicio

¿Cuándo es interesante guardar el estado de una actividad?
Por si es destruida por falta de memoria y más tarde es vuelta a crear.
Si nuestra aplicación se visualiza en vertical y horizontal.
x Las dos respuestas anteriores son ciertas

¿Qué método utilizarías para guardar el estado de una actividad de forma totalmente fiable?
onSaveInstanceState()
onRestoreInstanceState()
x onPause()
onStop()
onDestroy()
_______________________________________________________

Cuál es la clase más importante en Android para reproducir todo tipo de formatos multimedia?
MediaControler
VideoView
x MediaPlayer
SoundPool

¿Cuál es la forma más fácil de incluir un video en un Layout?
MediaPlayer
MediaControler
x VideoView
SoundPool

Si usas SoundPool tienes que indicar con antelación la lista de ficheros a reproducir ¿Con que finalidad?
Para tenerlos cargados en memoria y reproducirlos más rápidamente
x Para decodificarlos antes de ser reproducidos
Para poder establecer las prioridades en la reproducción
Para verificar que los formatos son soportados

¿Cuándo indicamos la lista de ficheros a reproducir qué formatos admite SoundPool?
x Todos los formatos de audio soportados por MediaPlayer
PCM de 16 bits
Todos, con excepción de MIDI
_______________________________________________________
_______________________________________________________
7.-Seguridad y posicionamiento en Android


¿Cómo se garantiza la autoría de una aplicación en Android?
Al descargarla de un canal de distribución seguro como Android Market
Gracias al nombre del paquete de Java
x Gracias a la firma digital
Gracias al usuario Linux asignado a cada aplicación

¿Cuál de los siguientes sistemas es más seguro para un usuario sin ningún tipo de conocimiento en informática?
x iOS de Apple (iPhone/iPad)
Android
Antiguo Windows Mobile / Windows 7

Una aplicación solicita acceso para modificar/borrar los ficheros en la SD ¿Cómo podemos confiar en que una aplicación Android no borrará todos los ficheros?
x Descargándola de un canal de distribución seguro o verificando que otros usuarios no han tenido problemas.
Gracias a la firma digital.
Estudiando la lista de permisos que solicita la aplicación.
Gracias al usuario Linux asignado a la aplicación.

¿Cómo podemos conseguir que el código de dos aplicaciones se ejecute en un mismo proceso?
Para ello han que utilizar el mismo usuario Linux.
Hay que definir el mismo valor para sharedUserId en AndroidManifest.xml.
Para ello ambas aplicaciones han de estar firmadas con el mismo certificado digital.
x Todas las afirmaciones son ciertas.

¿Cuáles de las siguientes alternativas nos da pocas garantías de seguridad a la hora de instalar una aplicación en Android?

Usar un canal seguro, como Google Play, y un desarrollador de confianza.
Usar un canal de distribución no seguro, como Aptoide, pero la aplicación no solicita permisos de importancia para nosotros.
x Se trata de una aplicación muy conocida, como WhatsApp.

¿Cuándo se avisa al usuario de que una aplicación va a ejecutar una acción que puede comprometer la seguridad del sistema?
x Al instalar la aplicación
En el momento de realizar la acción
En el momento de arrancar la aplicación


¿Cuál es el mayor inconveniente del sistema de permisos en Android?
Impide a las aplicaciones realizar muchas de las acciones.
x Deja en el usuario decisiones para los que muchos usuarios no están preparados.
Solo podemos descargar aplicaciones de forma segura desde Android Market.


¿Para qué es interesante la creación de nuevos permisos?
Para permitir el acceso a ficheros de otras aplicaciones.
Para impedir el acceso al código de nuestras aplicaciones.
x Para permitir el acceso al código de nuestras aplicaciones, advirtiendo a los usuarios finales.
Todas las respuestas son correctas.
_______________________________________________________
_______________________________________________________
8. Servicios, notificaciones y receptores de anuncios

¿Qué diferencia hay entre un servicio y una actividad?
x Un servicio no interactúa de forma directa con el usuario
Una actividad no puede trabajar en segundo plano
Un servicio está siempre activo

En el ciclo de vida de un servicio ¿Qué ventajas ofrece el método onStartCommand() frente a onStart?
Podemos arrancar el servicio en un nuevo hilo de ejecución.
Esta disponible en todas las versiones de Android
x Podemos controlar como actuará el sistema en caso de tener que destruir el servicio

¿Cómo puedes detener un servicio?
Llamando a onDestroy()
Llamando a onStop()
x Llamando a stopService() o stopSelf()

¿Qué método hay que gastar para conectarnos a un servicio remoto?
startService()
x bindService()
createService()

--------------------------------------------------
¿Quién puede lanzar una notificación?
Un servicio
Una actividad
Un receptor de anuncios
x Todas las respuestas son ciertas

¿Hay que pedir un permiso para lanzar una notificación?
Siempre
Nunca
x Solo si queremos que vibre el teléfono
Solo si queremos que se encienda un LED

¿Qué finalidad tenía introducir android:launchMode=”singleTask” en AndroidManifest.xml?
Hacer que una actividad solo pueda lanzar una notificación una vez
Impedir que una notificación pueda lanzar una activad
x Impedir que una actividad se lance más de una vez

¿Cuándo desaparece una notificación de la barra de estado?
Cuando el componente que la creó es destruido
x Cuando el usuario la borra desde el listado de notificaciones.
Cuando se llama al método NotificationManager.destroy(int id)
--------------------------------------------------------------

¿Qué métodos tienen los receptores de anuncio en su ciclo de vida?
x onReceive()
onCreate()
onDestroy()
Todas las respuestas son correctas


Desde un receptor de anuncio podemos…
Unirnos a un servicio con bindService()
x Arrancar una actividad
Hacer operaciones largas que bloqueen el hilo de ejecución
Mostrar un Toast


¿Hay que pedir un permiso para recibir un anuncio broadcast?
Siempre (RECIVE_BROADCAST)
Nunca
x Solo con algunos

Es obligatorio registra un receptor de anuncios en AndroidManifest.xml
Si, igual que con servicios y actividades
x No, podemos hacerlo desde código con registerReceiver()
Si, si no lo hacemos provocaremos un error en ejecución
----------------------------------------------------------------
-----------------------------------------------------------------
Unidad 9-Almacenamiento de datos

¿En qué ruta se utiliza por defecto en los métodos openFileInput(), openFileOutput(),getFilesDir(), getDir(), deleteFile() y fileList()? Correcto Incorrecto
x /data/data/[nombre_del_paquete]/files
/Android/data/[nombre_del_paquete]/files
/archivos de programa/[nombre_del_paquete]
La raíz de la memoria interna


¿Que método es recomendable utilizar para leer un fichero de la memoria externa? Correcto Incorrecto
openFileInput()
openFileOutput()
getFilesDir()
x getExternalStorageDirectory()


Queremos almacenar un fichero en la memoria externa que sea eliminado cuando se desinstale la aplicación. ¿Qué tendremos que hacer?
Usar el método getExternalFilesDir(String file), indicando en el parámetro el nombre del fichero
Esto no es posible, tendríamos que almacenarlo en la memoria interna
Crearlo en la carpeta /sdcard/Android/data/[nombre_del_paquete]/files/. Aunque solo se eliminará si la aplicación se crea para una versión 2.2 o superior.
x Crearlo en la carpeta /sdcard/Android/data/[nombre_del_paquete]/files/. Aunque solo se eliminará si la aplicación se instala en un dispositivo con versión 2.2 o superior.

¿Por qué es interesante almacenar los ficheros en las carpetas Music, Podcast, Ringtones, Pictures.
Para asegurarnos que no sea borrados al desinstalar la aplicación
Todas las respuestas son correctas
x Para ayudar al escáner de medios
Para que otros usuarios puedan acceder a ellos

------------------------------------------------------------------
¿Cuál es la principal ventaja de utilizar ficheros en XML?
Es muy sencillo manipular un fichero en este formato
Ocupa muy poco espacio de almacenamiento
x Es un formato estándar ampliamente utilizado
Está optimizado para localizar rápidamente la información


¿Qué ventaja presenta DOM frente a SAX para manipular ficheros XML?
En caso de ficheros grandes, es más rápido.
Consume menos recursos.
x No es necesario definir una estructura para almacenar los datos.
Todas las respuestas son ciertas.


Utilizando SAX queremos procesar el siguiente fichero XML: ¿Qué método utilizaríamos para obtener el valor de atributo?
startDocument()
x startElement()
characters()
endElement()
endDocument()


Hemos creado un documento XML utilizando DOM ¿Qué clase utilizaríamos si queremos escribirlo en un fichero?
x Transformer (siempre que trabajemos con un nivel de API 8 o superior)
XmlSerializer
XMLReader
XMLWriter
_________________________________________________________________

¿Cuál es la principal ventaja de utilizar Bases de Datos? C
Podemos realizar búsquedas de forma muy rápida.
Podemos borrar o insertar información sin tener que rescribir toda la información.
Podemos organizar la información en forma de tablas y establecer relaciones entre los campos e diferentes tablas.
x Todas las respuestas son correctas

¿Qué método hay que utilizar si queremos escribir en una base de datos con SQLite?
SQLiteOpenHelper()
getDatabase()
x getWritableDatabase()
getReadableDatabase()

¿Cuáles de los siguientes métodos de la clase SQLiteDatabase tiene más parámetros?
x query()
rawQuery()
execSQL()
------------------------------------------------------

¿Cuál es la principal razón para crear un ContentProvider?
x Cuando quieras compartir datos con otras aplicaciones.
Si necesitas almacenar datos de forma persistente.
Para poder realizar búsquedas por medio de SQL.

¿Cuál de las siguientes URI es válida para indicar un ContentProvider?
Content://call_log/calls/2
contentProvider://browser/bookmarks)
provider://media/internal
x content://media/*/audio

Estas visualizando el registro de llamadas de un móvil ¿Quién puede haber escrito estas entradas?
El sistema cada vez que se recibe una llamada.
x Cualquier aplicación que haya pedido el permiso WRITE_CALL_LOG.
Cualquier aplicación que haya pedido el permiso READ_CALL_LOG.
Todas las respuestas son correctas.

Queremos crear un ContentProvider ¿Cuál de las siguientes tareas no es imprescindible?
Definir una estructura de almacenamiento persistente, que permite búsquedas con SQL
Extender la clase Content. En concreto hay que sobrescribir los métodos getType(), query(), insert(), delete() y update().
x Solicitar los permisos necesarios.
Declararlo en AndroidManifest.xml

1 comentario: