Professional Documents
Culture Documents
jvmargs=-XX\:MaxHeapSize\=256m -Xmx256m
SPINNER:
<string-array name="horario_de_clases">
<item>Matemáticas</item>
<item>Ciencias naturales</item>
<item>Ciencias sociales</item>
<item>Lengua castellana</item>
<item>Física</item>
<item>Quimica</item>
</string-array>
<string-array name="dias_semana">
<item>Lunes</item>
<item>Martes</item>
<item>Miercoles</item>
<item>Jueves</item>
<item>Viernes</item>
<item>Sábado</item>
</string-array>
android:orientation="vertical">
<TextView
android:id="@+id/opcion"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<Spinner
android:id="@+id/spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</Spinner>
</LinearLayout>
package com.nextu.spinneradapters;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
import com.nextu.spinneradapters.adapter.HorarioSpinnerAdapter;
import com.nextu.spinneradapters.modelo.DiaHorario;
import java.util.ArrayList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//ArrayAdapter<CharSequence> adapter =
ArrayAdapter.createFromResource(this, R.array.horario_de_clases,
android.R.layout.simple_spinner_item);
//adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdow
n_item);
final String[] titulos =
getResources().getStringArray(R.array.horario_de_clases);
String[] subtitulos =
getResources().getStringArray(R.array.dias_semana);
listaElementos = new ArrayList<>();
org.gradle.jvmargs=-XX\:MaxHeapSize\=256m -Xmx256m
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new
AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
opcion.setText("Opcion: "+titulos[position]);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
opcion.setText("Opcion: ");
}
});
}
}
org.gradle.jvmargs=-XX\:MaxHeapSize\=256m -Xmx256m
<TextView
android:id="@+id/titulo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:textAppearanceLarge"
android:textColor="@color/colorPrimaryDark"/>
<TextView
android:id="@+id/subtitulo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textStyle="italic"
android:textColor="@color/colorAccent"/>
</LinearLayout>
package com.nextu.spinneradapters.adapter;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;
import com.nextu.spinneradapters.R;
import com.nextu.spinneradapters.modelo.DiaHorario;
import java.util.List;
/**
* Created by Next University.
*/
public class HorarioSpinnerAdapter extends ArrayAdapter<DiaHorario> {
public HorarioSpinnerAdapter(Context context, List<DiaHorario>
objects) {
super(context, R.layout.spinner_template, objects);
}
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
titulo.setText(getItem(position).getAsignatura());
subtitulo.setText(getItem(position).getDia());
return elemento;
}
@Override
public View getDropDownView(int position, View convertView, ViewGroup
parent) {
LayoutInflater inflater = LayoutInflater.from(getContext());
View elemento = inflater.inflate(R.layout.spinner_template,
null);
titulo.setText(getItem(position).getAsignatura());
subtitulo.setText(getItem(position).getDia());
return elemento;
}
}
DIAHORARIO.JAVA
package com.nextu.spinneradapters.modelo;
/**
* Created by Next University.
*/
public class DiaHorario {
EJM
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.nextu.gridviewadapters.MainActivity">
<GridView
android:id="@+id/grid"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:numColumns="3"
android:horizontalSpacing="2dp"
android:verticalSpacing="2dp"
android:stretchMode="columnWidth"></GridView>
</RelativeLayout>
<GridView
android:id="@+id/grid"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:numColumns="3"
android:horizontalSpacing="2dp"
android:verticalSpacing="2dp"
android:stretchMode="columnWidth"></GridView>
</RelativeLayout>
package com.nextu.gridviewadapters;
import android.content.res.TypedArray;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.GridView;
import com.nextu.gridviewadapters.adapter.CalendarioAdapter;
import com.nextu.gridviewadapters.modelo.Calendario;
import java.util.ArrayList;
org.gradle.jvmargs=-XX\:MaxHeapSize\=256m -Xmx256m
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
CALENDARIO.JAVA
package com.nextu.gridviewadapters.modelo;
/**
* Created by Next University.
*/
public class Calendario {
GRID.TEMPLE.XML
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/tituloImagen"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:textAppearance="?android:textAppearanceMedium"/>
<ImageView
android:id="@+id/imagen"
android:layout_width="match_parent"
android:layout_height="100dp"
android:scaleType="centerCrop"/>
</LinearLayout>
package com.nextu.gridviewadapters.adapter;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.nextu.gridviewadapters.R;
import com.nextu.gridviewadapters.modelo.Calendario;
import java.util.ArrayList;
/**
org.gradle.jvmargs=-XX\:MaxHeapSize\=256m -Xmx256m
@Override
public int getCount() {
return elementos.size();
}
@Override
public Calendario getItem(int position) {
return elementos.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
LayoutInflater inflater=
LayoutInflater.from(parent.getContext());
View view = convertView;
if (convertView == null){
view = inflater.inflate(R.layout.grid_template,null);
}
tituloImagen.setText(getItem(position).getMes());
imagen.setImageResource(getItem(position).getImagen());
return view;
}
}
<item>Enero</item>
<item>Febrero</item>
<item>Marzo</item>
<item>Abril</item>
<item>Mayo</item>
<item>Junio</item>
<item>Julio</item>
<item>Agosto</item>
<item>Septiembre</item>
<item>Octubre</item>
<item>Noviembre</item>
<item>Diciembre</item>
</string-array>
</resources>
EJERCICIO: CODIFICACION1_ARQUITECTURA
Has sido contratado para la construcción de una aplicación nativa en Android, cuyo
objetivo es mostrar imágenes de algunas de las arquitecturas más famosas del
mundo.
La aplicación estará comprendida en dos partes. Inicialmente, la pantalla principal
contará con una interfaz compuesta por un título y dos botones que permitirán
acceder a otra Activity con una funcionalidad específica. El diseño de la pantalla
principal deberá tener una apariencia similar a la que se muestra en la siguiente
imagen:
org.gradle.jvmargs=-XX\:MaxHeapSize\=256m -Xmx256m
SOLUCIÓN
Asegúrate de realizar la actividad y hallar tu propia solución.
También encontrarás una propuesta que te ofrecemos como guía para reforzar tus
conocimientos. Ejercitándote podrás mejorar tus habilidades para resolver este tipo
de problemas.
Si se te dificulta algún paso de la actividad recuerda que tu tutor en línea se
encuentra disponible para ayudarte y resolver cualquier duda o inquietud que tengas.
org.gradle.jvmargs=-XX\:MaxHeapSize\=256m -Xmx256m
SOLUCIÓN
Asegúrate de realizar la actividad y hallar tu propia solución.
También encontrarás una propuesta que te ofrecemos como guía para reforzar tus
conocimientos. Ejercitándote podrás mejorar tus habilidades para resolver este tipo
de problemas.
Si se te dificulta algún paso de la actividad recuerda que tu tutor en línea se
encuentra disponible para ayudarte y resolver cualquier duda o inquietud que tengas.
Es importante que aprendas estos conceptos para tu formación como Desarrollador
en Android. Así que utiliza el archivo de solución únicamente para verificar tu
trabajo y asegurarte de que vas por el camino correcto. ¡Éxitos!
org.gradle.jvmargs=-XX\:MaxHeapSize\=256m -Xmx256m
Dentro del contexto de la programación de Android, frecuentemente es utilizado un patrón de diseño que
nos permite crear un vínculo entre una fuente de datos y un componente visual, mostrando de esta
manera dicha información al usuario. ¿Cuál es éste patrón?
Seleccione una:
a. Brigde
b. Adapter
c. AbstractFactory
d. Builder
Retroalimentación
El patrón de diseño elegido no aplica esa mecánica.
Pregunta 2
Incorrecta
Puntúa 0 sobre 1
Texto de la pregunta
Durante el proceso de navegación hacia otra Activity, interviene una clase la cual es la encargada de
lanzar o ejecutar dicha acción. ¿Cuál es esa clase?
Seleccione una:
a. Activity
b. TextView
c. Intent
d. View
org.gradle.jvmargs=-XX\:MaxHeapSize\=256m -Xmx256m
Retroalimentación
La clase elegida no corresponde con esa funcionalidad.
Pregunta 3
Correcta
Puntúa 1 sobre 1
Texto de la pregunta
Una característica común en las aplicaciones de la plataforma de Android es que todas cuentan con una
Activity principal o pantalla principal, la clase que nos representa dicha pantalla puede recibir el nombre
deseemos, pero por convención y de manera predeterminada el entorno de desarrollo Android Studio
llama a esta clase de una manera ¿Cuál es el nombre que ésta recibe?
Seleccione una:
a. ActivityMain
b. MainActivity
c. main_activity
d. activity_main
Retroalimentación
El nombre seleccionado no es el usado de manera predeterminada
Pregunta 4
Correcta
Puntúa 1 sobre 1
Texto de la pregunta
El ciclo de vida de una Activity está determinado por varios métodos que se ejecutan de manera
secuencial, organice el orden en el que estos son llamados durante el transcurso del ciclo de vida
onCreate Primero
Respuesta 1
onStart Segundo
Respuesta 2
onResume Tercero
Respuesta 3
onPause Cuarto
Respuesta 4
onStop Quinto
Respuesta 5
onDestroy Sexto
Respuesta 6
Retroalimentación
La respuesta correcta es: onCreate – Primero, onStart – Segundo, onResume – Tercero, onPause –
Cuarto, onStop – Quinto, onDestroy – Sexto
Pregunta 5
Correcta
Puntúa 1 sobre 1
Texto de la pregunta
En el desarrollo de las aplicaciones de la plataforma de Android, la implementación de la interfaz de
usuario y la lógica de la aplicación están separadas en archivos diferentes y que además manejan
lenguajes distintos. ¿Cuál es el lenguaje utilizado para la implementación de la lógica de las aplicaciones
en la plataforma de Android?
Seleccione una:
a. Java
org.gradle.jvmargs=-XX\:MaxHeapSize\=256m -Xmx256m
b. XML
c. C++
d. C
Retroalimentación
El lenguaje utilizado no es el utilizado para la implementación lógica de la aplicación
Pregunta 6
Correcta
Puntúa 1 sobre 1
Texto de la pregunta
Todo componente de tipo Activity pasa por un ciclo de vida en la memoria de un dispositivo con sistema
operativo Android, el primer método involucrado en éste ciclo es el encargado de iniciar la aplicación y
cargar las interfaces de usuarios. ¿Cuál es el nombre de dicho método?
Seleccione una:
a. onStart
b. onCreate
c. onRestart
d. onResume
Retroalimentación
El método seleccionado no realiza esa funcionalidad
Pregunta 7
Correcta
Puntúa 1 sobre 1
org.gradle.jvmargs=-XX\:MaxHeapSize\=256m -Xmx256m
Texto de la pregunta
Durante el curso del ciclo de vida de un Activity, está pasa por varios estados, uno de ellos es el estado
Stopped, en el cual la Activity ya no se encuentra en el primer plano. ¿Cuál es el método del ciclo de
vida que trae nuevamente la Activity al primer plano de la interfaz de usuario?
Seleccione una:
a. onRestart
b. onResume
c. onCreate
d. onStop
Retroalimentación
El método escogido no cumple con dicha característica.
Pregunta 8
Correcta
Puntúa 1 sobre 1
Texto de la pregunta
El proceso carga de la interfaz de usuario es realizada en la clase Java que representa la Activity. ¿Cuál
es el método que tiene como objetivo dicho proceso?
Seleccione una:
a. onCreate
b. onClick
org.gradle.jvmargs=-XX\:MaxHeapSize\=256m -Xmx256m
c. setContentView
d. startActivity
Retroalimentación
El método seleccionado no cumple esa función
Pregunta 9
Correcta
Puntúa 1 sobre 1
Texto de la pregunta
En el desarrollo de las aplicaciones de la plataforma de Android, la implementación de la interfaz de
usuario y la lógica de la aplicación están separadas en archivos diferentes y que además manejan
lenguajes distintos. ¿Cuál es el lenguaje utilizado para el diseño de la interfaz gráfica de usuario?
Seleccione una:
a. Java
b. Javascript
c. HTML
d. XML
Retroalimentación
El lenguaje escogido no corresponde con el utilizado para el diseño de la interfaz gráfica de usuario.
Pregunta 10
Correcta
Puntúa 1 sobre 1
org.gradle.jvmargs=-XX\:MaxHeapSize\=256m -Xmx256m
Texto de la pregunta
Android nos permite crear nuestros propios Adapters para lograr un nivel de personalización a la cual tal
vez no llegamos usando las clases que él nos proporciona como lo es la clase ArrayAdapter, hablando
específicamente de los componentes de selección Spinners, cuando desarrollamos una adapter para este
tipo de elemento, ¿Cuál es el método adicional que debemos implementar?
Seleccione una:
a. getCount
b. getView
c. getItem
d. getDropDownView
Retroalimentación
El método elegido es normalmente implementado en los adapters, recuerda elegir el que no es usado
habitualmente.
Finalizar revisión