Está en la página 1de 11

PROGRAMACION EN ANDROID

Video 2 – Creación de un Nuevo Proyecto


1. Una vez instalada la aplicación Android Studio, se procede a la creación de una nueva
Aplicación. Esta ventana sale únicamente cuando se entra a Android Studio por primera
vez, o cuando se borran todas las aplicaciones y sus carpetas de la carpeta donde se
almacenan los diferentes proyectos.
2. Normalmente las aplicaciones son creadas en el disco duro, en la ruta siguiente:
C:\Usuarios\Nombre_Usuario\AndroidStudioProjects

Video 3 – La Herramienta ConstraintLayout


1. Cuando se ha creado un Proyecto, el sistema genera dos capas de cada uno de los
formularios java. Uno de ellos, es el código Java en sí, y el otro, en formato XML
representa la pantalla de trabajo de la Activity.
2. Una vez abierta la activity el Sistema procede a desplegar dos pantallas, una de ellas del
diseño de la pantalla y la otra, en BluePrint que permite ver la organización de los objetos.
3. Cuando se requiera abrir nuevamente una Activity, debe ingresar con esta ruta de
procedimiento:

appJavacom.example.myappactivity.java Para los archivos Java

appreslayoutactivity.xml Para el diseño XML

Video 4 – Crear y Administrar Dispositivos Virtuales


1. Se debe ingresar inicialmente a HerramientasAVD Manager
2. Crear un dispositivo virtual, donde se especifica el tamaño de la aplicación en pixeles de
pantalla, luego, el tipo de Plataforma SDK de Android que se va a utilizar en el proyecto.
3. Se determina el nombre del Proyecto, y se inicia con una Activity en blanco u otra. A su vez
se decide si el idioma de programación es Java, C++ o Kotlin.
4. Una vez creado, se pueden editar nuevamente sus propiedades por medio del botón de
edición, o ver cómo se ejecuta en el Emulador AVD.

Video 5 – Crear y Administrar Dispositivos Físicos


1. En el dispositivo físico se ingresa a Ajustes, para seleccionar luego “Acerca del Teléfono”.
2. Dentro de esta opción se busca la opción “Número de Compilación” y se oprime sobre ella
7 veces.
3. Se active la opción de Ajustes de Opciones del Desarrollador, dentro de la cual se debe
activar la opción de “Depuración USB”.
Video 6 – Ciclo de Vida de una Activity
1. Al iniciar una Activity se ejecuta el método onCreate (crea la activity), seguido de onStart
(inicia la activity). Luego, entra a onResume (muestra la activity).
2. Si el usuario minimiza la actividad, se ejecuta onPause y la Activity queda en segundo
plano, al igual que si se detiene con onStop.
3. Si se coloca en primer plano otra vez, se estaba en pausa ejecuta onResume, y si se
encontraba detenida en onStartonRestartonResume

Video 8 – Componentes de una app


1. Una aplicación está conformada por uno o más componentes inherentes al lenguaje de
programación Android, como lo son View, Activity, Intent, etc.

Figura 1. Componentes de una app

2. View (Vista): Son los elementos que componen la interfaz de usuario. Son descendientes
de la clase View.

Figura 2. Elementos de la Interfaz de Usuario.


3. Layouts (Diseños): Conjunto de vistas agrupadas de determinada forma. Pueden ser
RelativeLayout, LinearLayout (horizontal o vertical), GridLayout o TableLayout.
Descendientes de la clase View.
4. Activity (Actividad): una app está compuesta de varias Activity o pantallazos que
permiten darle vida a la aplicación. Descendientes de la clase Activity.

Figura 3. Componentes de una Activity

5. Service (Servicio): Proceso que se ejecuta en segundo plano y no necesita de la


interacción con el usuario. Existen dos tipos: Locales (ejecutados en el mismo proceso) o
Remotos (ejecutados en procesos separados).
6. Intent (Intención): La voluntad o intención de desarrollar una acción; utilizado cuando se
quiere efectuar una actividad (evento)
7. Fragment (Fragmento): Permite que la aplicación tenga una apariencia similar en
cualquier tipo de dispositivo, sea celular o Tablet.
8. Proveedores de Contenido: A veces las aplicaciones tienen que compartir información sin
comprometer la seguridad. Como el acceso a la agenda, a fotografías, etc.

Video 9, 10 – Crear Interfaz de Usuario I y II


1. Una interface de usuario es la forma como ve el mismo las diferentes actividades de la
aplicación.
2. Existen tres manera de crear una interfaz: la primera, por medio de programación en Java;
la segunda mediante programación XML; y la tercera, mediante el diseño directo por
medio de la interfaz gráfica.

Video 11 – Primera Aplicación - Interfaz


1. Una aplicación está conformada por uno o más componentes inherentes al lenguaje de
programación Android, como lo son View, Activity, Intent, etc.

Video 13 – Layouts
1. Layout no es otra cosa que un lienzo o forma de distribución de los diferentes elementos
de la pantalla.
2. Existen varios tipos de Layouts: RelativeLayout, ConstraintLayout, LinearLayout, etc., cada
una de ellos con diferentes características de distribución de los componentes que se
coloquen sobre el Layout.
3. Relative Layout: es un tipo de Layout donde se coloca el primer elemento, y luego, todos
los demás se ubican en función de la posición de dicho elemento.
4. LinearLayout (Horizontal o Vertical): permite alinear los elementos de forma horizontal o
vertical, en una distribución uniforme.

LinearLayout TableLayout AbsoluteLayout

Figura 4. Tipos de Layouts


5. TableLayout: como su nombre lo indica, forma una cuadrícula uniforme a través de la
pantalla y su comportamiento es muy similar a las tablas de html.
6. AbsoluteLayout (obsoleto): es el manejo del posicionamiento de los elementos basados
en su posición X y Y.
7. FrameLayout: muy similar al TableLayout, pero con la diferencia de que en cada una de
sus celdas se permite la superposición de capas.
8. Para utilizar el RelativeLAyout, simplemente se reemplaza en el XML el nombre
LinearLayout y se reemplaza por RelativeLayout. Cada Vez que introduzca un elemento, se
procede a definir al menos una posición relativa XY para ubicar el objeto en la pantalla:

Figura 5. Anclaje de Elementos.


Video 14 – LinearLayout
1. Layout no es otra cosa que un lienzo o forma de distribución de los diferentes elementos
de la pantalla.
Para crear el Linear Layout, se puede hacer en las propiedades o directamente al comienzo
del content_main.xml:
<LinearLayout xmlns:android=http://schemas.android.com/apk/res/android

2. Se debe colocar en su definición el sentido “horizontal” o el “vertical”:


android:orientation="vertical"

3. Al ir colocando cada uno de los elementos, los va colocando a la derecha del último creado
hasta completar la línea, y luego, modifica el ancho en forma proporcional la medida del
Layout.
4. El método gravity en el XML o propiedades permite que el llenado se haga a partir de un
punto en el espacio 2D para iniciar el llenado del linear.
5. Para el espaciado de los botones o elementos, se coloca en el XML o prop:
<android.widget.Space
android:layout_width="10dp"
android:layout_height="0dp" />

6. Cuando se gira el dispositivo, los componentes recalculan automáticamente su ancho con


respecto a la proporción que tenía en vertical. Para evitar esto, se le da peso a cada uno de
los botones y se resuelve el problema de la proporción. En XML:
<Button
android:id="@+id/button20"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="3"
android:text=" TEXTO extenso upper" />

7. Este método sirve también para dejar espacios a izquierda y derecha.


8. Cuando se requiere agrupar componentes en diferentes modos de LinearLayout, se agrega
un LinearLayout de la Paleta a la sección “Component Tree” y posteriormente, se arrastra
y coloca el componente sobre dicha LinearLayout creada. El sistema funciona como
manejo de capas de un programa gráfico.

Video 15 – Constraint Layout


1. En este Layout se pueden colocar los componentes de manera similar al método de
RelativeLayout, pero con la diferencia que se puede modificar la posición y establecerla en
tiempo de ejecución.
2. Cuando se quiere dejar el elemento en posición X y Y fija (cuando el dispositivo se cambie
a posición horizontal) se mantenga en la posición XY establecida, se colocan los dos puntos
de anclaje de una cara X y otra Y (las líneas de anclaje aparecen fijas).
3. Cuando se quiere dejar el elemento en posición X y Y flotante (cuando el dispositivo se
cambie a posición horizontal) se mantenga en la posición XY relativa establecida, se
colocan los puntos de anclaje de las cuatro caras (las líneas de anclaje aparecen
resortadas) y se procede a establecer la posición inicial del elemento.
4. La posición se puede colocar relativa a otro objeto, es decir mantiene la proporción de la
distancia entre los dos objetos si se coloca como resorte, y si se coloca fija, la distancia
entre los objetos siempre será la misma.

TIP: para incorporar un archivo de imagen al proyecto, se ingresa a la ruta resdrawable.


Con el clic derecho sobre drawable se selecciona “Show in Explorer”, se ingresa a la carpeta
drawable y se coloca allí el archivo de imagen.

Video 16 – Aplicando Linear Layout


1. Si se tienen que colocar varios Linear Layout dentro de una Activity, se debe procurar
colocarlos del mismo tamaño “match-parent”, con el fin de utilizar la función Gravity para
colocar los elementos en el lugar deseado.
2. Si se requiere partir en varias partes en pantalla para el Linear Layout, se debe tener en
cuenta que se debe quitar las anclas del Constraint, luego colocarlas primero a cada uno
de los Linear Layouts y posteriormente en cada uno de ellos definir las anclas de cada uno
de los componentes.
3. Para colocar espacios entre los objetos, si se hace de manera horizontal, se debe
aumentar el ancho, y si es vertical, en el alto. Ejemplo de horizontal:
<Space
android:layout_width="96dp"
android:layout_height="0dp" />

Video 16b – Aplicando Constraint Layout


1. Este tipo de Layout permite colocar los objetos en cualquier lugar del mismo, simplemente
dándoles el peso y ubicación a cada uno.
2. Si la línea es resortada, la medida al punto es proporcional, es decir, cuando se voltea el
dispositivo, cambia de posición para adecuarse a l proporción dada previamente.
3. Si la línea es recta, el punto de posición es fijo.

Figura 6A. Anclaje de Elementos. Figura 6B – Constraints del Elemento.


4. Cuando se utilizan los elementos de anclaje de manera manual, se coloca el número que
se desee de margen entre el objeto y el borde seleccionado.
5. Para mover el objeto de derecha a izquierda y de arriba hacia abajo, se pueden usar las
barras de desplazamiento del Constraint Widget en las herramientas del Layout.
6. Si se utiliza el ancho del layout como borde del elemento, tomará el tamaño completo,
dejando a ambos lados el valor del margen.
7. Para ajustar una imagen al tamaño XY o sea igual al comando stretch, es el comando fitXY.
Esto hace que se llene el cuadro del dibujo.
8. Cuando se desea mantener la posición de uno o más elemento con respecto a otros, se
debe utilizar el botón de Infer Constrains, el cual coloca los constraints necesarios para
mantener la posición.

Figura7. Anclaje con Infer Constraints..

Video 17 – Trabajando con EditText y CheckBox


1. El objeto editText, es cualquier objeto del tipo Text, o sea, que permite introducir datos
dentro del campo.
2. Si se quiere centrar el Texto dentro del objeto, se cambia el atributo “gravity” del objeto, y
si se quiere cambiar la posición del objeto dentro del layout, se utiliza “layout gravity”.
3. Para cambiar el tamaño del cuadro de texto, se debe cambiar el atributo de “layout
width” al valor deseado, seguido de sp, como ejemplo “72sp”.
4. Cuando se desea colocar un valor inicial en el editText, simplemente se coloca el valor
dentro del atributo Text, pero este texto siempre toca borrarlo antes de escribir un valor
nuevo; para evitar esto, se utiliza el atributo hint, el cual permite colocar un texto
fantasma que desaparece al momento de escribir dentro del campo (método Tradicional).
5. Para establecer el tipo de datos que se permiten dentro del editText, se utiliza el atributo
input type; en el caso de números enteros se selecciona “number signed”, entonces el
campo solo recibe números de ese tipo.

Video 18 – Lógica de EditText y CheckBox


1. Una vez terminado el proceso de edición y diseño gráfico, se procede a la definición del
código necesario para que la aplicación funcione correctamente. La aplicación de Ejemplo
es la siguiente:

“Generar una aplicación que permita operar un Contador hacia adelante o hacia atrás en números
enteros. La app debe permitir modificar el número en el que se resetea el Contador (por defecto,
debe colocar 0). Además debe incorporarse un control que permita o no ir en número negativo.”

public class MainActivity extends Activity {


public int contador;
TextView textoResultado;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textoResultado=(TextView)findViewById(R.id.textoContador);
contador = 0;
}

public void sumaContador(View vista){


contador++;
textoResultado.setText(" " + contador);
}

public void restaContador(View vista){


contador--;
if (contador<0){
CheckBox negativos = (CheckBox)findViewById(R.id.negativos);
if(!negativos.isChecked()){
contador = 0;
}
}
textoResultado.setText(" " + contador);
}

public void reseteaContador(View vista){


EditText numero_reset = (EditText)findViewById(R.id.n_reseteo);
try{
contador = Integer.parseInt(numero_reset.getText().toString());
}catch(Exception e){
contador = 0;
}
numero_reset.setText("");
textoResultado.setText(" " + contador);
}
Video 19 – Unidades de Medida y Densidad en Pantalla
1. Existen diferentes unidades de medida en pantalla, las cuales permiten posicionar y definir
el tamaño:
Nombre Sigla Definición
Pixel px Es un punto de la pantalla.
Milímetro mm Milímetro
Pulgadas in Pulgadas americanas
Puntos pt Puntos
Pixel indep. dp Densidad en dpi
Pixel escalad sp

2. Además de los anterior, existen varios modelos de densidad de pantalla, que no es otra
cosa que la cantidad de puntos en pantalla. Existen de baja, media, alta extra alta y super
extra alta densidad.

Figura8. Densidad en pantalla.

3. La densidad media se considera la densidad estándar donde 1 pixel = 1 dpi. En todo caso,
la fórmula para determinar cuantos pixeles se ocupa cuando varía la densidad de pantalla,
se utiliza la siguiente fórmula:
px = dp * (dpi/160)

Ej: si se tiene una medida de 4 dp en media densidad, cuantos píxeles se necsitan en una
pantalla de alta densidad (320 dpi)?
px = 4 * (320/160) = 8px

Video 20 – Trabajo con Api y Eventos I


1. Para poder ocultar el teclado inmediatamente se haya terminado la orden que lo abrió,
hay que seguir esto:

InputMethodManager miteclado = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);


miteclado.hideSoftInputFromWindow(numero_reset.getWindowToken(),0);

2. El teclado abre, y luego de que se hayan registrado datos, y se hace click en el


desencadenante, el teclado se cierra para permitir la visualización completa de pantalla.
Video 21 – Trabajo con Api y Eventos II
1. Dentro de las diferentes opciones que da el teclado, existe la posibilidad de controlar el
evento de terminación de la edición, con el fin de ejecutar alguna acción cuando se haya
terminado de editar y se oprima OK.
2. Para ello, primero se define una clase interna EventoTeclado que implementa una acción
de escucha de acción para los TextView

class EventoTeclado implements TextView.OnEditorActionListener{

@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId== EditorInfo.IME_ACTION_DONE){
reseteaContador(null);
}
return false;
}
}

3. Luego, se coloca el manejo de la clase dentro de uno de los procedimientos, donde se va a


activar a la espera de la acción (en este caso, desde el comienzo de la Activity):

EventoTeclado teclado = new EventoTeclado();


EditText n_reseteo = (EditText)findViewById(R.id.n_reseteo);
n_reseteo.setOnEditorActionListener(teclado);

Video 22 – Otros Layouts – Haciendo Scrolling


1. Cuando se necesitan colocar más botones que los que caben en pantalla, se utiliza el
Scrolling.
2. Para hacer esto, primer se define si se va hacer Scrolling horizontal o vertical, y luego
dentro de ellos, se define el tipo de layout que va a usar, y se colocan los diferentes
objetos dentro del layout creado.

Video 23 – Otros Layouts – Haciendo Scrolling


1. Cuando se necesitan colocar más botones que los que caben en pantalla, se utiliza el
Scrolling.
Para hacer esto, primer se define si se va hacer Scrolling horizontal o vertical, y luego dentro de
ellos, se define el tipo de layout que va a usar, y se colocan los diferentes objetos dentro del layout
creado.

También podría gustarte