Possible Duplicate:
How do I save an Android application's state?
I am new to Java and Android and building some small projects to learn. I made a money tracking app which allows the user to input values and it simply continues to subtract it. Everything works fine but I wanted the values to save or cache when the app is closed and reopened. Reading, I found maybe a OnPause would do the trick, but still not 100% understanding it.
Can anyone recommend how to do this and how to apply to my code?
Thank you so much for your help!!
package ps.age.sl;
import java.text.NumberFormat;
import java.util.Locale;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.TextView;
public class MoneyTrackerActivity extends Activity {
    /** Called when the activity is first created. */
        ImageButton subtract;
        EditText startingmoney,submoney, endmoney, tracker;
        Locale currentLocale = Locale.getDefault();
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
     //   startingmoney = (EditText) findViewById (R.id.firstmoney);
      //  submoney = (EditText) findViewById (R.id.submoney);
       // subtract = (ImageButton) findViewById (R.id.subbutton);
       // endmoney = (EditText) findViewById (R.id.endtv);
       // tracker = (EditText) findViewById (R.id.trackertv);
        startingmoney.setText("");
        submoney.setText("");
        endmoney.setText("");
subtract.setOnClickListener(new View.OnClickListener() {
         double currentValue=0;       
         double startValue=0;       
            public void onClick(View v) throws  NumberFormatException {
                    if (v == subtract)
                {
                NumberFormat currencyFormatter;
                currencyFormatter = NumberFormat.getCurrencyInstance(currentLocale);
                    String totalString;
                    String x = startingmoney.getText().toString();
                    String y = submoney.getText().toString ();
                            double total;
                        double xm = 0.00;
                        double ym =0.00;
                         try
                          {
                              xm = Double.parseDouble(x);
                          }
                         catch(NumberFormatException n)
                          {
                              xm = 0.00;
                          }
                         try
                         {
                                 ym = Double.parseDouble(y);
                         }
                        catch(NumberFormatException n)
                         {
                                ym = 0.00;
                         }
                   if(startValue!=xm){
                       startValue=xm;
                       currentValue=xm;
                   }
                   currentValue = currentValue -ym;
                    totalString = currencyFormatter.format(currentValue);
                    endmoney.setText(totalString);
                    tracker.setText("you have entered " + totalString +"\n" + tracker.getText().toString());
              }
                    }
                                        });
    }
                }
 
     
     
    