Banco Infantil
En esta práctica vamos a crear un minibanco donde los niños muy peques puedan
ingresar y retirar sus ahorros y practicar con los euros y céntimos de euro.
Para ello desde Eclipse una nueva App Android.
MiniBanco.java
package es.bitcoach.appbancorita;
import java.text.DecimalFormat;
import
import
import
import
import
import
import
import

android.os.Bundle;
android.view.View;
android.widget.Button;
android.widget.EditText;
android.widget.TextView;
android.widget.Toast;
android.app.Activity;
android.content.SharedPreferences;

public class MiniBanco extends Activity {
public static final String MISPREFERENCIAS = "MyPrefsFile";
float cantidad = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mini_banco);
final
final
final
final
final

DecimalFormat formateador = new DecimalFormat("#####0.00");
Button btnIngresar = (Button)findViewById(R.id.btnIngresar);
Button btnRetirar = (Button)findViewById(R.id.btnRetirar);
TextView lblTotal = (TextView)findViewById(R.id.lblTotal);
EditText txtImporte = (EditText)findViewById(R.id.txtImporte);

// Restore preferences
SharedPreferences settings = getSharedPreferences(MISPREFERENCIAS, 0);
cantidad = settings.getFloat("CANTIDAD", 0);

lblTotal.setText(formateador.format (cantidad) + " ");

//-- Ingresar -------------------------------------------------btnIngresar.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
if(txtImporte.length() == 0){
Toast notificacion = Toast.makeText(getApplicationContext(),
"Pero RITA: Teclea una cantidad en Euros ...",
Toast.LENGTH_SHORT);
notificacion.show();
}else{
cantidad = cantidad + Float.parseFloat(txtImporte.getText().toString());
lblTotal.setText(formateador.format (cantidad) + " ");
txtImporte.setText("");
}
}
});
//-- Ingresar --------------------------------------------------
//-- Retirar --------------------------------------------------btnRetirar.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
if(txtImporte.length() == 0){
Toast notificacion = Toast.makeText(getApplicationContext(),
"Pero RITA: Teclea una cantidad en Euros ...",
Toast.LENGTH_SHORT);
notificacion.show();
}else{
cantidad = cantidad - Float.parseFloat(txtImporte.getText().toString());
lblTotal.setText(formateador.format (cantidad) + " ");
txtImporte.setText("");
}
}
});
//-- Retirar --------------------------------------------------}
@Override
protected void onStop(){
super.onStop();
SharedPreferences settings = getSharedPreferences(MISPREFERENCIAS, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putFloat("CANTIDAD", cantidad);
editor.commit();
}
}

En los métodos onCreate (recuperamos) y onStop (almacenamos), configuramos
nuestras preferencias, utilizando la clase SharedPreferences, para almacenar
el valor de la variable “cantidad” que representa la cantidad de euros
disponible en el banco. De esta forma el almacenamiento de este dato será
permanente (no se perderá al apagar la aplicación).
El dato se almacena en el archivo MyPrefsFile.xml que podemos localizar en
Eclipse en la vista DDMS, seleccionando el device correspondiente y
situándose en la pestaña File Explorer:
La ruta: data/data/(paquete)es.bitcoach.appbancorita/shared_prefs.

MyPrefsFile.xml
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<float name="CANTIDAD" value="10.0" />
</map>
mini_banco.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:orientation="vertical">
<TextView
android:layout_marginTop="25dip"
android:textSize="12sp"
android:text="@string/lblBanco"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:typeface="normal"
android:layout_gravity="center" />
<TextView
android:layout_marginTop="25dip"
android:textSize="12sp"
android:text="(Rita Cascallar Agra)"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:typeface="normal"
android:layout_gravity="center" />
<TextView
android:id="@+id/lblTotal"
android:textSize="80sp"
android:textColor="@color/azul"
android:text="0.00 "
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:typeface="serif"
android:layout_gravity="center" />
<View
android:layout_width="fill_parent"
android:layout_height="5dip"
android:background="#ff0000" />
<TextView
android:layout_marginTop="10dip"
android:textSize="12sp"
android:text="@string/lblCajero"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:typeface="normal"
android:layout_gravity="center" />
<EditText
android:id="@+id/txtImporte"
android:inputType="number|numberDecimal"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<LinearLayout android:id="@+id/linearLayout2"
android:layout_width="match_parent" android:orientation="horizontal"
android:layout_height="wrap_content">
<Button android:id="@+id/btnIngresar" android:layout_width="100sp"
android:layout_height="100sp" android:text="Ingresar" />
<Button android:id="@+id/btnRetirar" android:layout_width="100sp"
android:layout_height="100sp" android:text="Retirar" />
</LinearLayout>
</LinearLayout>
strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">AppBancoRita</string>
<string name="action_settings">Settings</string>
<string name="lblBanco">DINERO QUE TENGO EN EL BANCO</string>
<string name="lblCajero">CAJERO AUTOMÁTICO</string>
</resources>

colores.xml
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<color name="rojo">#ff0000</color>
<color name="verde">#00ff00</color>
<color name="azul">#0000ff</color>
</resources>

Resultado de la ejecución y estructura de la aplicación en Eclipse.

App Android MiniBanco

  • 1.
    Banco Infantil En estapráctica vamos a crear un minibanco donde los niños muy peques puedan ingresar y retirar sus ahorros y practicar con los euros y céntimos de euro. Para ello desde Eclipse una nueva App Android.
  • 2.
    MiniBanco.java package es.bitcoach.appbancorita; import java.text.DecimalFormat; import import import import import import import import android.os.Bundle; android.view.View; android.widget.Button; android.widget.EditText; android.widget.TextView; android.widget.Toast; android.app.Activity; android.content.SharedPreferences; publicclass MiniBanco extends Activity { public static final String MISPREFERENCIAS = "MyPrefsFile"; float cantidad = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.mini_banco); final final final final final DecimalFormat formateador = new DecimalFormat("#####0.00"); Button btnIngresar = (Button)findViewById(R.id.btnIngresar); Button btnRetirar = (Button)findViewById(R.id.btnRetirar); TextView lblTotal = (TextView)findViewById(R.id.lblTotal); EditText txtImporte = (EditText)findViewById(R.id.txtImporte); // Restore preferences SharedPreferences settings = getSharedPreferences(MISPREFERENCIAS, 0); cantidad = settings.getFloat("CANTIDAD", 0); lblTotal.setText(formateador.format (cantidad) + " "); //-- Ingresar -------------------------------------------------btnIngresar.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // Perform action on click if(txtImporte.length() == 0){ Toast notificacion = Toast.makeText(getApplicationContext(), "Pero RITA: Teclea una cantidad en Euros ...", Toast.LENGTH_SHORT); notificacion.show(); }else{ cantidad = cantidad + Float.parseFloat(txtImporte.getText().toString()); lblTotal.setText(formateador.format (cantidad) + " "); txtImporte.setText(""); } } }); //-- Ingresar --------------------------------------------------
  • 3.
    //-- Retirar --------------------------------------------------btnRetirar.setOnClickListener(newView.OnClickListener() { public void onClick(View v) { // Perform action on click if(txtImporte.length() == 0){ Toast notificacion = Toast.makeText(getApplicationContext(), "Pero RITA: Teclea una cantidad en Euros ...", Toast.LENGTH_SHORT); notificacion.show(); }else{ cantidad = cantidad - Float.parseFloat(txtImporte.getText().toString()); lblTotal.setText(formateador.format (cantidad) + " "); txtImporte.setText(""); } } }); //-- Retirar --------------------------------------------------} @Override protected void onStop(){ super.onStop(); SharedPreferences settings = getSharedPreferences(MISPREFERENCIAS, 0); SharedPreferences.Editor editor = settings.edit(); editor.putFloat("CANTIDAD", cantidad); editor.commit(); } } En los métodos onCreate (recuperamos) y onStop (almacenamos), configuramos nuestras preferencias, utilizando la clase SharedPreferences, para almacenar el valor de la variable “cantidad” que representa la cantidad de euros disponible en el banco. De esta forma el almacenamiento de este dato será permanente (no se perderá al apagar la aplicación). El dato se almacena en el archivo MyPrefsFile.xml que podemos localizar en Eclipse en la vista DDMS, seleccionando el device correspondiente y situándose en la pestaña File Explorer: La ruta: data/data/(paquete)es.bitcoach.appbancorita/shared_prefs. MyPrefsFile.xml <?xml version='1.0' encoding='utf-8' standalone='yes' ?> <map> <float name="CANTIDAD" value="10.0" /> </map>
  • 4.
    mini_banco.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="fill_parent" android:layout_width="fill_parent" android:orientation="vertical"> <TextView android:layout_marginTop="25dip" android:textSize="12sp" android:text="@string/lblBanco" android:layout_height="wrap_content" android:layout_width="wrap_content" android:typeface="normal" android:layout_gravity="center"/> <TextView android:layout_marginTop="25dip" android:textSize="12sp" android:text="(Rita Cascallar Agra)" android:layout_height="wrap_content" android:layout_width="wrap_content" android:typeface="normal" android:layout_gravity="center" /> <TextView android:id="@+id/lblTotal" android:textSize="80sp" android:textColor="@color/azul" android:text="0.00 " android:layout_height="wrap_content" android:layout_width="wrap_content" android:typeface="serif" android:layout_gravity="center" /> <View android:layout_width="fill_parent" android:layout_height="5dip" android:background="#ff0000" /> <TextView android:layout_marginTop="10dip" android:textSize="12sp" android:text="@string/lblCajero" android:layout_height="wrap_content" android:layout_width="wrap_content" android:typeface="normal" android:layout_gravity="center" /> <EditText android:id="@+id/txtImporte" android:inputType="number|numberDecimal" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <LinearLayout android:id="@+id/linearLayout2" android:layout_width="match_parent" android:orientation="horizontal" android:layout_height="wrap_content"> <Button android:id="@+id/btnIngresar" android:layout_width="100sp" android:layout_height="100sp" android:text="Ingresar" /> <Button android:id="@+id/btnRetirar" android:layout_width="100sp" android:layout_height="100sp" android:text="Retirar" /> </LinearLayout> </LinearLayout>
  • 5.
    strings.xml <?xml version="1.0" encoding="utf-8"?> <resources> <stringname="app_name">AppBancoRita</string> <string name="action_settings">Settings</string> <string name="lblBanco">DINERO QUE TENGO EN EL BANCO</string> <string name="lblCajero">CAJERO AUTOMÁTICO</string> </resources> colores.xml <?xml version="1.0" encoding="UTF-8"?> <resources> <color name="rojo">#ff0000</color> <color name="verde">#00ff00</color> <color name="azul">#0000ff</color> </resources> Resultado de la ejecución y estructura de la aplicación en Eclipse.