Anda di halaman 1dari 6

Informe Exposicin RAD implementando la TIC Android Studio

Ivan Gomez Vega

Informe Exposicin de modelo RAD implementando la TIC Android Studio


En la exposicin se present el proyecto en el programa Android Studio para implementar
una aplicacin de clculo de edad, lo que vamos a ingresar nombre, fecha de nacimiento con
un spinner que se configuro para que se mostrara fecha calendario.
Se hizo una interfaz agradable nicamente como se muestra en la captura.

El cdigo se realiz en 3 archivos .java en donde con lgica de programacin pasamos


parmetros con this para redireccionarnos a otra ventana con el resultado propuesto,
podemos hacer aplicaciones de gran robustez como poder vincular con bases de datos, uno
de los asistentes que podemos usar de manera grfica es a travs del explorador Fire-Fox
con un plug in que tiene esta herramienta. En este caso nicamente utilizamos variables
especificas para involucar la fecha calendario.

El cdigo siguiente mostramos los 3 archivos java donde se configuro todo:

Herramientas automatizadas

2CM40

Informe Exposicin RAD implementando la TIC Android Studio


Ivan Gomez Vega

MainActivity.java
public class MainActivity extends Activity {
private TextView mDateDisplay;
private Button mPickDate;
int cyear;
int cmonth;
int cday;
static final int Date_Dialog_ID=0;
Calendar c = Calendar.getInstance();
Button regis;
EditText edt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Preferencias prefs= new Preferencias(this);
if(!(prefs.CargarPreferencias().equals(""))) {
startActivity(new Intent(this,Resultado.class));
finish();
}
mDateDisplay = (TextView) findViewById(R.id.dateDisplay);
mPickDate = (Button) findViewById(R.id.pickDate);
regis = (Button) findViewById(R.id.registrar);
edt = (EditText) findViewById(R.id.edt1);
mPickDate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
new DatePickerDialog(MainActivity.this, d,
c.get(Calendar.YEAR), c.get(Calendar.MONTH), c
.get(Calendar.DAY_OF_MONTH)).show();
}
});

regis.setOnClickListener(new View.OnClickListener() {

Herramientas automatizadas

2CM40

Informe Exposicin RAD implementando la TIC Android Studio


Ivan Gomez Vega

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String nombre= edt.getText().toString();
validar();
if (validar()==false)
{
}
else {
btn_Click(v, nombre);
}
}
});
}
DatePickerDialog.OnDateSetListener d = new OnDateSetListener(){
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
cday = dayOfMonth;
cmonth = monthOfYear + 1;
cyear = year;
mDateDisplay.setText("" + cday + "/" + cmonth + "/"
+ cyear);
}
};
private void btn_Click(View sender, String nombre)
{
Preferencias prefs= new Preferencias(this);
prefs.GuardarPreferencias(nombre);
prefs.GuardarEdad(calcularE());
startActivity(new Intent(this,Resultado.class));
finish();
}
public int calcularE() {
int edad = 0;
Calendar c= Calendar.getInstance();
int mYear= c.get(Calendar.YEAR);
Herramientas automatizadas

2CM40

Informe Exposicin RAD implementando la TIC Android Studio


Ivan Gomez Vega

int mMonth= c.get(Calendar.MONTH) + 1;


int mDay= c.get(Calendar.DAY_OF_MONTH);
if(mMonth > cmonth) {
edad = mYear - cyear;
}
else if (mMonth == cmonth && mDay > cday) {
edad = mYear - cyear;
}
else {
edad = (mYear - cyear) - 1;
}
return edad;
}
public boolean validar()
{
boolean verificar=true;
if(edt.getText().toString().equals("")) {
verificar = false;
}
if(mDateDisplay.getText().toString().equals(""))
{
verificar= false;
}
return verificar;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}

Esta parte que acabamos de ver es la parte principal del cdigo, en Preferencias.java
configuramos que una vez que nosotros salgamos de la aplicacin se guarden los datos y no
se borren como lo hacen las aplicaciones actuales que se usan en 2 plano y no borran los
datos insertados.
public class Preferencias {
Herramientas automatizadas

2CM40

Informe Exposicin RAD implementando la TIC Android Studio


Ivan Gomez Vega

private Activity contexto;


public Preferencias (Activity contexto) {
this.contexto = contexto;
}
public String CargarPreferencias(){
SharedPreferences mispreferencias=
PreferenceManager.getDefaultSharedPreferences (contexto.getBaseContext());
String nombre= mispreferencias.getString("Nombre","");
return nombre;
}
public int CargarEdad(){
SharedPreferences mispreferencias=
PreferenceManager.getDefaultSharedPreferences (contexto.getBaseContext());
int edad= mispreferencias.getInt("Edad",-1);
return edad;
}
public boolean GuardarPreferencias(String nombre)
{
SharedPreferences prefs=
PreferenceManager.getDefaultSharedPreferences(contexto.getBaseContext());
SharedPreferences.Editor editor=prefs.edit();
try{
editor.putString("Nombre", nombre);
editor.commit();
return true;
}
catch (Exception ex){
ex.printStackTrace();
return false;
}
}
public boolean GuardarEdad(int edad)
{
SharedPreferences prefs=
PreferenceManager.getDefaultSharedPreferences(contexto.getBaseContext());
SharedPreferences.Editor editor=prefs.edit();
try{
editor.putInt("Edad", edad);
editor.commit();
return true;

Herramientas automatizadas

2CM40

Informe Exposicin RAD implementando la TIC Android Studio


Ivan Gomez Vega

}
catch (Exception ex){
ex.printStackTrace();
return false;
}
}
}

Y en Resultado.java nicamente se configuro la parte de mostrar el resultado y paso de


parmetros:

import
import
import
import
import

android.app.Activity;
android.content.Context;
android.content.SharedPreferences;
android.os.Bundle;
android.widget.TextView;

public class Resultado extends Activity {


TextView txt, txt2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Preferencias prefs= new Preferencias(this);
setContentView(R.layout.activity_resultado);
txt = (TextView) findViewById(R.id.saludo);
txt2 = (TextView) findViewById(R.id.edad);
txt.setText("Hola un gusto " +prefs.CargarPreferencias());
txt2.setText("Tienes "+prefs.CargarEdad()+" aos");
}
}

Herramientas automatizadas

2CM40

Anda mungkin juga menyukai