F
Falonex
Neues Mitglied
- 0
Folgendes Problem, ich bastel mir gerade meine erste eigene kleine App, bin nun auch fast soweit fertig wie ich denke, nur habe ich jetzt ein Problem damit die Daten zu speichern.
Wenn ich auf Home drücke und dann die app starte hat ers gespeichert, aber wenn ich auf zurück klicke ich auf den homebildschirm komme ich dann die app wieder starte ist alles wieder bei 0.
Ich hab mir das halt so gedacht, wenn per knopfdruck die werte geändert werden, das er dann auch gleich die werte abspeichert
Ich weiß jetzt leider nicht mehr weiter und hoffe mir kann wer helfen.
Hier der Code
Wenn ich auf Home drücke und dann die app starte hat ers gespeichert, aber wenn ich auf zurück klicke ich auf den homebildschirm komme ich dann die app wieder starte ist alles wieder bei 0.
Ich hab mir das halt so gedacht, wenn per knopfdruck die werte geändert werden, das er dann auch gleich die werte abspeichert
Ich weiß jetzt leider nicht mehr weiter und hoffe mir kann wer helfen.
Hier der Code
Code:
package com.example.shishacount;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends Activity
implements OnClickListener
{
private Button btn_morehead;
private Button btn_lesshead;
private Button btn_moretime;
private Button btn_lesstime;
private Button btn_reset;
private TextView txtview_time;
private TextView txtview_head;
private EditText edit_min;
private int counthead;
private double counttime;
final String ShishaHeads="ShishaHeads";
String countheadhilf="";
final String ShishaTime="ShishaTime";
String counttimehilf="";
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn_morehead = (Button) findViewById(R.id.btn_morehead);
btn_lesshead = (Button) findViewById(R.id.btn_lesshead);
btn_moretime = (Button) findViewById(R.id.btn_moretime);
btn_lesstime = (Button) findViewById(R.id.btn_lesstime);
btn_reset = (Button) findViewById(R.id.btn_reset);
txtview_time = (TextView) findViewById(R.id.txtview_time);
txtview_head = (TextView) findViewById(R.id.txtview_head);
edit_min = (EditText) findViewById(R.id.edit_min);
btn_morehead.setOnClickListener(this);
btn_lesshead.setOnClickListener(this);
btn_moretime.setOnClickListener(this);
btn_lesstime.setOnClickListener(this);
btn_reset.setOnClickListener(this);
countheadhilf=getSharedPreferences(ShishaHeads,MODE_PRIVATE).getString(countheadhilf,"0");
txtview_head.setText(countheadhilf);
counttimehilf=getSharedPreferences(ShishaTime,MODE_PRIVATE).getString(counttimehilf,"0");
txtview_time.setText(counttimehilf);
}
protected void onStart(Bundle savedInstanceState)
{
super.onStart();
countheadhilf=getSharedPreferences(ShishaHeads,MODE_PRIVATE).getString(countheadhilf,"0");
txtview_head.setText(countheadhilf);
counttimehilf=getSharedPreferences(ShishaTime,MODE_PRIVATE).getString(counttimehilf,"0");
txtview_time.setText(counttimehilf);
}
protected void onResume(Bundle savedInstanceState)
{
super.onResume();
countheadhilf=getSharedPreferences(ShishaHeads,MODE_PRIVATE).getString(countheadhilf,"0");
txtview_head.setText(countheadhilf);
counttimehilf=getSharedPreferences(ShishaTime,MODE_PRIVATE).getString(counttimehilf,"0");
txtview_time.setText(counttimehilf);
}
protected void onRestart(Bundle savedInstanceState)
{
super.onRestart();
countheadhilf=getSharedPreferences(ShishaHeads,MODE_PRIVATE).getString(countheadhilf,"0");
txtview_head.setText(countheadhilf);
counttimehilf=getSharedPreferences(ShishaTime,MODE_PRIVATE).getString(counttimehilf,"0");
txtview_time.setText(counttimehilf);
}
public boolean onCreateOptionsMenu(Menu menu)
{
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
double rechner;
@Override
public void onClick(View v)
{
if(v==btn_morehead)
{
counthead=counthead+1;
txtview_head.setText(Integer.toString(counthead));
countheadhilf=Integer.toString(counthead);
getSharedPreferences(ShishaHeads,MODE_PRIVATE).edit().putString(countheadhilf, countheadhilf.toString()).commit();
}
else if(v==btn_lesshead)
{
final AlertDialog alertDialogLessHead= new AlertDialog.Builder(this).create();
alertDialogLessHead.setTitle("-1 Kopf");
alertDialogLessHead.setMessage("Sie können nicht weniger als 0 Köpfe geraucht haben.");
alertDialogLessHead.setButton("schließen", new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which)
{
alertDialogLessHead.cancel();
}});
if(counthead>0)
{
counthead=counthead-1;
txtview_head.setText(Integer.toString(counthead));
countheadhilf=Integer.toString(counthead);
getSharedPreferences(ShishaHeads,MODE_PRIVATE).edit().putString(countheadhilf, countheadhilf.toString()).commit();
}
else alertDialogLessHead.show();
}
try{
if(v==btn_moretime)
{
rechner = Float.valueOf(edit_min.getText().toString());
rechner=rechner/60;
counttime=counttime + rechner;
counttime=(double)Math.round(counttime*100)/100;
txtview_time.setText(Double.toString(counttime));
counttimehilf=Double.toString(counttime);
getSharedPreferences(ShishaTime,MODE_PRIVATE).edit().putString(counttimehilf, counttimehilf.toString()).commit();
}
else if(v==btn_lesstime)
{
rechner = Float.valueOf(edit_min.getText().toString());
rechner=rechner/60;
if(counttime>=rechner)
{
counttime=counttime-rechner;
counttime=(double)Math.round(counttime*100)/100;
txtview_time.setText(Double.toString(counttime));
counttimehilf=Double.toString(counttime);
getSharedPreferences(ShishaTime,MODE_PRIVATE).edit().putString(counttimehilf, counttimehilf.toString()).commit();
}
else
{
final AlertDialog alertDialogLessTime= new AlertDialog.Builder(this).create();
alertDialogLessTime.setTitle("-1 Kopf");
alertDialogLessTime.setMessage("Sie können nicht weniger als 0,0 Stunden geraucht haben.");
alertDialogLessTime.setButton("schließen", new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which)
{
alertDialogLessTime.cancel();
}});
alertDialogLessTime.show();
}
}
}
catch(NumberFormatException n)
{
final AlertDialog alertDialogEdit= new AlertDialog.Builder(this).create();
alertDialogEdit.setTitle("-1 Kopf");
alertDialogEdit.setMessage("Bitte geben Sie einen Wert bei der Minuteneingabe ein.");
alertDialogEdit.setButton("schließen", new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which)
{
alertDialogEdit.cancel();
}});
alertDialogEdit.show();
}
if(v==btn_reset)
{
final AlertDialog alertDialogReset= new AlertDialog.Builder(this).create();
alertDialogReset.setTitle("Reset");
alertDialogReset.setMessage("Wollen Sie alle Werte wieder auf 0 setzen?");
alertDialogReset.setButton("Ja", new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which)
{
counttime = 0;
counthead = 0;
txtview_time.setText(Double.toString(counttime));
txtview_head.setText(Integer.toString(counthead));
counttimehilf=Double.toString(counttime);
getSharedPreferences(ShishaTime,MODE_PRIVATE).edit().putString(counttimehilf, counttimehilf.toString()).commit();
countheadhilf=Integer.toString(counthead);
getSharedPreferences(ShishaHeads,MODE_PRIVATE).edit().putString(countheadhilf, countheadhilf.toString()).commit();
}});
alertDialogReset.setButton2("Nein", new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which)
{
alertDialogReset.cancel();
}});
alertDialogReset.show();
}
}
}