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()); } } }); } }