Академический Документы
Профессиональный Документы
Культура Документы
También puedes borrar el código del Texview (tecto seleccionado con azul) para
borrar el objeto
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.example.ramiroespejo.myapplication.MainActivity">
</LinearLayout>
El resto del código lo dejaremos como esta, puesto que son atributos que indican
la ubicación donde se ensambla el objeto..
Ahora vamos a escribir código para diseñar la interfaz necesitamos dos controles
detipo EditText, un control de tipo Button y un control de tipo TextView
El código queda de la siguiente manera:
<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="com.example.ramiroespejo.myapplication.MainActivity">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Escriba el primer numero entero"
android:id="@+id/et1"
/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Escribe el segundo numero entero"
android:id="@+id/et2"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Sumar"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Resultado"
android:id="@+id/tv1"/>
</LinearLayout>
Observe los nombres de los objetos EditText et1 y et2 y TextView tv1 son los
nombres con los que haremos referencia a estos objetos mediante código
Hasta ahora hemos trabajado solo con el archivo xml (activity_main.xml) donde
se definen los controles visuales de la ventana que estamos creando.
Abrimos seguidamente el archivo MainActivity.java que lo podemos ubicar en la
carpeta src:
@Override
protected void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu
menu) {
// Inflate the menu; this adds items to
the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main,
menu);
return true;
}
}
Como mínimo se debe sobrescribir el método onCreate heredado de la clase
Activity donde procedemos a llamar la método setContentView pasando como
referencia una valor almacenado en una constante llamada activity_main
contenida en una clase llamada layout que a su vez la contiene una clase
llamada R (veremos más adelante que el ADT se encarga de crear la clase R en
forma automática y sirve como puente entre el archivo xml y nuestra clase
MainActivity)
Luego veremos el otro método onCreateOptionsMenu.
Captura de eventos.
Ahora viene la parte donde definimos variables en java donde almacenamos las
referencias a los objetos definidos en el archivo XML.
Definimos tres variables, dos de tipo EditText y finalmente una de tipo TextView
(estas dos clases se declaran en el paquete android.widget, es necesario
importar dichas clases para poder definir las variables de dichas clases):
package com.javaya.proyecto002;
@Override
protected void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu
menu) {
// Inflate the menu; this adds items to
the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main,
menu);
return true;
}
}
La forma más fácil de importar las clases EditText y TextView es tipear las dos
líneas:
private EditText et1,et2;
private TextView tv3;
y luego presionar las teclas Control-Shift-O
Esto hace que se escriban automáticamente los dos import:
import android.widget.EditText;
import android.widget.TextView;
Los nombres que le dí a los objetos en este caso coinciden con la propiedad id
(no es obligatorio):
private EditText et1,et2;
private TextView tv3;
No definimos TextView para los dos mensajes "Ingrese el primer valor" e "Ingrese
el segundo valor" ya que no necesitaremos interactuar con ellos. También
et1=(EditText)findViewById(R.id.et1);
et2=(EditText)findViewById(R.id.et2);
tv3=(TextView)findViewById(R.id.tv3);
}
Al método findViewById debemos pasar la constante creada en la clase R
(recordemos que se crea automáticamente esta clase) el nombre de la constante
si debe ser igual con el nombre de la propiedad del objeto creado en el archivo
XML. Como la clase findViewById retorna una clase de tipo View luego debemos
utilizar el operador cast (es decir le antecedemos entre paréntesis el nombre de
la clase)
Ya tenemos almacenados en las variables las referencias a los tres objetos que
se crean al llamar al método:setContentView(R.layout.main); .
Ahora planteamos el método que se ejecutará cuando se presione el botón (el
método debe recibir como parámetro un objeto de la clase View) En nuestro
ejemplo lo llamé sumar:
package com.javaya.proyecto002;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
@Override
protected void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et1=(EditText)findViewById(R.id.et1);
et2=(EditText)findViewById(R.id.et2);
tv3=(TextView)findViewById(R.id.tv3);
@Override
public boolean onCreateOptionsMenu(Menu
menu) {
// Inflate the menu; this adds items to
the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main,
menu);
return true;
}
}
Debemos importar lar clase View (Control-Shift-O)
Ahora debemos ir al archivo XML e inicializar la propiedad OnClick del objeto
button1 con el nombre del método que acabamos de crear (este paso es
fundamental para que el objeto de la clase Button pueda llamar al método sumar
que acabamos de crear):
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
@Override
protected void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et1=(EditText)findViewById(R.id.et1);
et2=(EditText)findViewById(R.id.et2);
tv3=(TextView)findViewById(R.id.tv3);
}
@Override
public boolean onCreateOptionsMenu(Menu
menu) {
getMenuInflater().inflate(R.menu.activity_main,
menu);
return true;
}
}
Si ejecutamos nuestro programa podemos ver ahora que luego de cargar dos
valores al presionar el botón aparece en el tercer TextView el resultado de la
suma de los dos EditText:
PRACTICA #1
CADA EJERCICIOS TIENE UN VALOR DE 1PTS.
Área Presupuesto
Urgencias 37%
Pediatría 42%
Traumatología 21%
Obtener la cantidad de dinero que recibirá cada área para cualquier monto
presupuestal.
10. Un constructor sabe que necesita 0,5 metros cúbicos de arena por metro cuadrado
de revoque a realizar. Hacer un programa donde ingrese las medidas de una pared
ANEXO
Estructuras De Control
Las estructuras de control, como mencionamos arriba, nos permiten cambiar el orden de
las declaraciones en nuestros programas. Hay dos tipos de estructuras de control:
1. Estructuras de selección; Nos permite ejecutar una sección específica a partir de una
condición.
2. Estructuras de iteración; Nos permite ejecutar código una determinada cantidad de
veces (un ejemplo sería el for, como mencioné en la cabecera).
Estructuras de selección
Son declaraciones que nos permiten seleccionar y ejecutar blockes específicos mientras otras
partes son ignoradas. Dependiendo de si la condición (lógica) se cumple o no.
if
"If simple", en este if, el código solamente se ejecuta si la condición se cumple. Si no se
cumple, simplemente lo ignora.
if (Condicion_Booleana)
...[Código si la condición se cumple]...;
//o...
if (Condicion_booleana) {
...[Código si la condición se cumple]...;
}
"if + else". En este if, si se cumple la condición, se ejecuta sólo el código que esta adentro
del if (no la del else). Y si no se cumple, se ejecuta la del else (y no la del if).
if (Condicion_Booleana) {
...[Código si se cumple la condición]...
} else {
...[Código si no se cumple la condición del if]...
}
// Ejemplo:
if (x > 10) {
System.out.println("x es mayor a 10");
} else if (x < 10) {
System.out.println("x es menor a 10");
} else if (x == 10) {
System.out.println("x es igual a 10");
}
if (x > 10) {
System.out.println("x es mayor a 10");
} else if (x < 10) {
System.out.println("x es menor a 10");
} else {
System.out.println("x es igual a 10");
}
switch
También esta el "switch", una sentencia muy parecida al if. Esta puede manejar un número
infinito de posibilidades con más facilidad que el if.También se diferencian que la
expresión en el switch puede ser byte, char, short o int. Cuando en el if sólo bool. Cuando el
switch evalúa la expresión, busca por una constante igual a ella. Si la encuentra, ejecuta la
sentencia hasta encontrar un break. Si no encuentra ninguna equivalente, busca la linea
default. Si la encuentra, ejecuta la sentencia en ella. Sino, simplemente continúa la ejecución
del programa (como se deduce, la linea default es opcional).
switch (expresión) {
case 1:
Sentencia_1;
break;
case X:
SentenciaX;
break;
default:
Sentencia;
break;
}
Aquí un pequeño ejemplo del uso del switch:
int x = 5;
switch(x) {
case 1:
System.out.println("x vale 1");
break;
case 2:
//Code by joserc87
Estructuras de iteración
Son las que nos permiten ejecutar secciones específicas de código una cantidad determinada
de veces. De este modo, podemos optimizar la velocidad y desempeño del programa (y el
código también). Hay 3:
1. El while
2. El while-do
3. Y el for
while
El bucle while nos permite ejecutar un código determinado hasta que la condición sea falsa.
Ejemplo de declaración de un while:
while (Exprecion_booleana) {
...
}
Ejemplo de uso:
int x = 0;
do-while
También esta el bucle do-while. Este bucle tiene la característica de que si la expreción del
while es falsa, el código se ejecutará una vez antes de continuar. La sintaxis de este bucle es
la siguiente:
do {
...
} while (exprecion_booleana);
Un ejemplo de su uso podría ser:
int x = 0;
do {
System.out.println("x = " + x);
x++;
} while (x < 10);
Ese código, al igual que el ejemplo del bucle while, escribirá el valor de x mientras sea
menor a 10.
int x = 0;
do {
System.out.println("x = " + x);
x++;
while (x == 100);
Solamente escribiría "x = 0" una vez antes de continuar con el código.
for
El bucle for nos permite ejecutar un bloque de código un número determinado de veces.
Al igual que el do-while, el bucle for suele ser más compacto que un while. Sintaxis del bucle
y un ejemplo de su uso:
// Ejemplo:
int i;