Guten Tag,
ich bin totaler Anfänger im Android APKs Programmieren und hoffe auf eure hilfe.
Mein Problem ist, wenn man die App neu auf dem Handy hat & auf Laden drückt,
stürzt das Spiel ab, er soll aber lediglich eine Nachricht "Du hast keinen Spielstand gespeichert"
ausgeben. Ich hoffe ihr könnt mir helfen mfg. Jadeclon
Java
import android.content.SharedPreferences;
import android.provider.ContactsContract;
import android.support.v4.content.SharedPreferencesCompat;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;
import org.w3c.dom.Text;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
public Button btn_Gold;
public Button btn_save;
public Button btn_load;
public TextView tw_Gold;
public TextView tw_Gold_int;
public ProgressBar bar;
private SharedPreferences Safe;
private SharedPreferences.Editor editor;
int i_Gold = 0;
int i_Bar = 0;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn_Gold = (Button)findViewById(R.id.Gold_btn);
btn_save = (Button)findViewById(R.id.save_button);
btn_load = (Button)findViewById(R.id.load_button);
tw_Gold = (TextView)findViewById(R.id.Gold_textView);
tw_Gold_int = (TextView)findViewById(R.id.tw_Gold_int);
bar = (ProgressBar)findViewById(R.id.progressBar);
bar.setMax(100);
Safe = getApplicationContext().getSharedPreferences("Data", 0);
editor = Safe.edit();
btn_Gold.setOnClickListener(this);
btn_save.setOnClickListener(this);
btn_load.setOnClickListener(this);
}
@Override
public void onClick(View v) {
if (v == btn_Gold) {
i_Bar += 10;
if (i_Bar >= 100)
{
Toast.makeText(this, "Du hast +1 Gold erhalten!", Toast.LENGTH_LONG).show();
i_Gold += 1;
tw_Gold_int.setText("" + Integer.valueOf(i_Gold));
i_Bar = 0;
}
bar.setProgress(i_Bar);
}
if (v == btn_save) {
int i_gold = i_Gold;
SaveData(i_gold);
}
if (v == btn_load) {
LoadData();
}
}
private void LoadData()
{
if(Safe.getInt("Data1", 0) >= 0)
{
int goldInt = Safe.getInt("Data1", 0);
tw_Gold_int.setText("" + Integer.toString(goldInt));
i_Gold = goldInt;
Toast.makeText(this, "Du hast deinen letzten Spielstand geladen!", Toast.LENGTH_LONG).show();
}
else
{
Toast.makeText(this, "Du hast aktuell keinen gespeicherten Spielstand!", Toast.LENGTH_LONG).show();
}
}
private void SaveData(int inhalt)
{
if(inhalt != -1)
{
editor.putInt("Data1",inhalt);
editor.commit();
Toast.makeText(this, "Du hast das Spiel gespeichert!", Toast.LENGTH_LONG).show();
}
}
}
Alles anzeigen