Hoy veremos otro ejercicio básico como determinar si un año es bisiesto o no, sera una guía super básica y fácil de entender para todos los que empiezan en el mundo de la programación en Android.
Como hacer una aplicación en android que determine si un año es bisiesto
Cosas que debemos saber de los años bisiestos
Un año bisiesto es un año con 366 días en vez de 365. Cada
4 años, febrero tiene un día más. Esto se hace porque un año oficialmente
no tiene 365 días, sino 365,25 días.
Ahora empezaremos con la parte gráfica donde crearemos como se muestra en la imagen que esta arriba, solo utilizaremos:
- 3 textView
- 1 editText
- 1 Button
A continuación te dejo el código del modo gráfico:
activity_main
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <TextView android:id="@+id/textView" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentStart="true" android:layout_alignParentTop="true" android:gravity="center" android:text="Año Bisiesto" android:textAppearance="?android:attr/textAppearanceLarge" /> <EditText android:id="@+id/edtxtAnio" android:layout_width="90dp" android:layout_height="wrap_content" android:layout_alignStart="@+id/btnVerificar" android:layout_below="@+id/textView" android:layout_marginStart="12dp" android:layout_marginTop="46dp" android:ems="10" android:gravity="center" android:inputType="number" android:maxLength="4" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/edtxtAnio" android:layout_alignBottom="@+id/edtxtAnio" android:layout_alignParentStart="true" android:layout_marginStart="103dp" android:gravity="center|right" android:text="Año : " android:textAppearance="?android:attr/textAppearanceLarge" android:textSize="17dp" /> <Button android:id="@+id/btnVerificar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@+id/resultado" android:layout_marginBottom="29dp" android:layout_marginStart="17dp" android:layout_toEndOf="@+id/textView2" android:background="#3F51B5" android:text="VERIFICAR" android:textColor="#FFFFFF" /> <TextView android:id="@+id/resultado" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentEnd="true" android:layout_centerVertical="true" android:gravity="center" android:textAppearance="?android:attr/textAppearanceLarge" /> </RelativeLayout>
Ahora nos vamos a la parte del código en nuestro MainActivity:
MainActivity
public class MainActivity extends AppCompatActivity { EditText Anio; Button verificar; TextView respuesta; AlertDialog.Builder dialogo; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Anio = (EditText) findViewById(R.id.edtxtAnio); verificar = (Button) findViewById(R.id.btnVerificar); respuesta = (TextView) findViewById(R.id.resultado); verificar.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(verificar.getText().toString().equals("Limpiar")){ Anio.setText(""); respuesta.setText(""); Anio.setEnabled(true); Anio.requestFocus(); verificar.setText("Verificar"); }else{ if(Anio.getText().length() == 0){ dialogo = new AlertDialog.Builder(MainActivity.this); dialogo.setTitle("Error"); dialogo.setMessage("Debe ingresar el cociente 'año'"); dialogo.setCancelable(false); dialogo.setPositiveButton("Cerrar", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialogo, int id) { dialogo.cancel(); Anio.setText(""); Anio.requestFocus(); } }); dialogo.show(); }else{ int anio = Integer.parseInt(Anio.getText().toString()); if(anio % 4 == 0 && (anio % 100 != 0 || anio % 400 == 0)){ respuesta.setText("El año " + Anio.getText() + " es bisiesto"); }else{ respuesta.setText("El año " + Anio.getText() + " no es bisiesto"); } } Anio.setEnabled(false); verificar.setText("Limpiar"); } } }); } }
Con eso hemos terminado, así que les voy dejar a continuación el enlace de descarga, pero recuerda. Copiar no es lo mismo que comparar. Como dato extra al momento de correr tu aplicación puedes ingresar el año 2016 que si es un bisiesto y luego otros años, donde la aplicación te indicara que no es un año bisiesto.
Nota:
Si vas a descargar la aplicación de ejemplo te sugiero que primero observes si tienes tu IDE actualizado, pues para este ejercicio nosotros utilizamos Android Studio 3.0.1.
Si usas una versión inferior tal vez tengas problemas al momento de ejecutarlo.
Descargar Aquí.
También te puede interesar como calcular el área de un circulo.
Como calcular el área de un rectángulo
Hola soy Alex Céspedes fundador de ANDROFAST, programo algunas cosas por diversión, me gusta aprender cosas nuevas y estoy pendiente de todo lo que tenga que ver con tecnología. Este blog lo cree para todas las personas que tengan dificultades en la programación, para ser sincero nunca fui bueno y reprobé algunos cursos de programación, pero mis ganas de aprender pudieron más. SI YO PUEDO TU PUEDES ANIMO!