Componentes básicos Layout y Actividades en Android Studio 1. Consideraciones En la ruta app\src\main\java\com\[nombre de paquete]\[nombre de proyecto]\MainActivity.java, cada archivo en Java o kotlin llama al archivo layout de formato XML que se encuentra en la ruta app\src\main\res\layout\activity_main.xml, llamándole desde la clase R y usando la función “SetContentView” En la ruta \app\src\main\AndroidManifest.xml, el archivo AndroidManifest.xml valida los accesos hacia todas las clases Java o kotlin que existen dentro del proyecto, llamados desde la propiedad “activity”, sin embargo será la sub propiedad “intent‐filter” donde se especifica cual clase java o kotlin, y por extensión el layout XML, será considerado como principal y se va a ejecutar primero. En la ruta \app\src\main\res\values\strings.xml, en el archivo de recursos “string.xml” se encuentran y se editan los nombres de las etiquetas de los objetos de cada layout XML, también puede editarse usando la opción “Open Editor” Para modificar la plataforma de layout, en el árbol de componentes, seleccionar la plataforma actual del layout y hacer click derecho, seleccionar la opción Convert View… (las plataformas más utilizadas son ConstraintLayaout, LinearLayout, Framelayout, RelativeLayout y TableLayout) Si se requiere crear solo un archivo layout XML, hacer click derecho la carpeta de layout y seleccionar /new/Layout Resourse File. Si se requiere crear un nuevo layout XML con su archivo JAVA o kotlin, hacer click derecho sobre la carpeta de paquete de proyecto y hacer click derecho, seleccionar /new/Activity, y escoger el tipo de layout (para esta sesión de laboratorio trabajaremos con un layout EmptyActivity). Si se requiere crear un nuevo archivo de recursos (para el presente laboratorio se va a crear un archivo para depositar arreglos), hacer click sobre la carpeta /res/values y seleccionar /new/Values Resource File. 2. Actividades 1. Crear un archivo de recursos llamado “array” y añadir el siguiente contenido <."?.xm.l v c -.::·.!'i i i o·n = • .1 ~ O ,r er..codi.r..g=• ut:f- B• '?.> < '.r eso,u ~ces:::i- <s-t. -.::ing-1!!:.-.::-ray ru!lme:=" B.F.. ima1s; tu > -,:i tem>·!?cr>: o-< / i. t:em:,-,: ,i tem>G :i. to</ i t.em> -,:itcm>C:i.ba. 1 <></ itcm> < i t.em>C¡¡¡¡;n .l~'Í.,D< / i ~ i. tem> -,: ,i t.em>'-1:i.c,::,..;_/ -,:i tcm>Ccrdo-</ i. t:em:,- </ s.t:r.ir.g-'"-~""Y> <:/ ~e.!'iiiO'l:ll::'C .e:Si.:> 2. Modificar el archivo String.xml y añadir el siguiente contenido .!I ~rings.xml Ed1t traMlat1crn for all lccalE'; 1n the tramlat1cn~ ed1tcr. <resources> "-St r i rg . .,ane "-St r i ng 1ane ,:st r i rg ",ane <s t r i r-g 1ane <s t r i rg . .,ane <s t r i ng 1ane , ,:st r i rg ",ane </resources ~ -=- "11 ar,1.1:::a:::1<'.'•r ce :rt et::a </s t r- i ng-=:, :ste es "1: t1td:::• ra"a esta ar,1.::.anc,r ,:/s t r i ng:, <.:,"1t"c7_es :-:iasiccs ,:/st r i rg;, -=- S__ n..; "</ s t r rng-=-=- s ::-rne: ::as::.c:c•</s t rrng-=>s::,::.ne: -~.::". üpe:r=i::::;,nes -c/s t ring> >Sal: " </s t rrng> 1 3. En el archivo activity_main.xml, diseñar el siguiente archivo Este es mi t itulo para esta aplicacion CON TR OLES e.-.s1cos SP INEfl. BAS ICO SP INE A CON OPERACIONES El código XML es el siguiente: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:orientation="vertical" android:padding="30dp" tools:context=".MainActivity"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="20dp" android:gravity="center" android:text="@string/tituloAplicacion" android:textSize="25sp" /> <Button android:id="@+id/button" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/opcion1" /> <Button android:id="@+id/button2" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/opcion2" /> <Button android:id="@+id/button3" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/opcion3" /> <Button android:id="@+id/button4" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/opcion4" /> <Button android:id="@+id/button5" android:layout_width="match_parent" android:layout_height="wrap_content" android:onClick="salir" android:text="@string/Salir" /> </LinearLayout> 4. Dentro de activity_main.xml, seleccionar el botón “Salir” y en la propiedad onClick ingresar el siguiente texto: salir. Este es mi titulo para esta aplicacion CO NT ROLES BASICOS SUMAR SPINER BA SICO 5. En el archivo MainActivity.java, ingresar la función “finish()” dentro de un nuevo evento llamado “salir”. (Presionar la tecla Alt + Enter sobre el atributo “View”, es posible que no tenga biblioteca) public void salir (View view){ finish(); } 6. Crear un nuevo layout y archivo JAVA o kotlin, llamado “Main2Activity” (el nombre del layout será por defecto activity_main2.xml). 7. En el archivo activity_main2.xml diseñar el siguiente layout El código XML es el siguiente: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".Main2Activity"> <TextView android:id="@+id/demoetiqueta" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Un texto cualquiera" /> <Button android:id="@+id/demoboton" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Un boton cualquiera" /> <ToggleButton android:id="@+id/toggleButton" android:layout_width="wrap_content" android:layout_height="0dp" android:layout_weight="2" android:text="ToggleButton" /> <CheckBox android:id="@+id/checkBox" android:layout_width="match_parent" android:layout_height="0dp" android:layout_margin="20dp" android:layout_weight="0.5" android:gravity="center" android:text="Guardar automaticamente" android:textSize="9sp" tools:ignore="TouchTargetSizeCheck" /> <SeekBar android:id="@+id/seekBar" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="4" /> <RatingBar android:id="@+id/ratingBar" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" tools:ignore="SpeakableTextPresentCheck" /> </LinearLayout> 8. Dentro de activity_main.xml, seleccionar el botón “Controles basicos” y en la propiedad onClick ingresar el siguiente texto: actividad2. Este es mi titulo para esta aplicacion CONTROLES BASICOS SP INER BASICO SF'I N ER CON OPERACIONES 9. En el archivo MainActivity.java, agregar la siguiente línea de código que va a enlazar hacia el archivo JAVA o Kotlin “Main2Activity”. (Presionar la tecla Alt + Enter sobre el atributo “Intent”, es posible que no tenga biblioteca) public void actividad2(View view){ startActivity(new Intent(this, Main2Activity.class)); } 10. Crear un nuevo layout y archivo JAVA o kotlin, llamado “MiSpinner” (el nombre del layout será por defecto activity_mi_spinner.xml). 11. En el archivo activity_mi_spinner.xml diseñar el siguiente layout Ingresar dato adicional El código es el siguiente: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="40dp" tools:context=".MiSpinner"> <Spinner android:id="@+id/spanimales" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:entries="@array/animals" tools:ignore="TouchTargetSizeCheck" /> <EditText android:id="@+id/etDescripcion" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/spanimales" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_alignParentBottom="true" android:layout_marginBottom="20dp" android:hint="Ingresar dato adicional" android:inputType="textMultiLine" android:textSize="30sp" android:textStyle="bold" /> </RelativeLayout> 12. Dentro de activity_main.xml, seleccionar el botón “Spiner básico” y en la propiedad onClick ingresar el siguiente texto: actividadspiner. Este es mí titulo para esta aplicacion CO NTROLES BASICOS 13. En el archivo MainActivity.java, agregar la siguiente línea de código que va a enlazar hacia el archivo JAVA o Kotlin “MiSpinner”. public void actividadspiner(View view){ startActivity(new Intent(this, MiSpinner.class)); } 14. Abrir el siguiente material y realizar la siguientes actividades dentro de activity_main.xml ‐ El botón “Sumar” debe de apuntar hacia un nuevo archivo, este deberá realizar la actividad “3 – Capturar el clic de un botón (pag. 17)” que hay en el material. ‐ El botón “Spiner con operaciones” debe de apuntar hacia un nuevo archivo, este deberá realizar la actividad “6 – Control Spiner (Pag. 42)” que hay en el material. 15. Verificar que todas las actividades funcionen ejecutándolos desde emulador AVD de Android o importando archivo APK hacia dispositivo móvil.