2017-01-22 7 views
0

Also machte ich eine Cookie-Clicker-App, um mir zu helfen, zu lernen, wie man auf Android mit Android Studio programmiert.
Aber ich brauche einen Weg, um die Menge der Cookies zu speichern, die der Spieler hat, also wenn er das Spiel beendet und zurückkommt, werden sie gespeichert.
Dies ist der Code, den ich derzeit haben:Wie speichere ich Daten in Android?

MainActivity.java:

package com.android.example; 

import android.media.MediaPlayer; 
import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.view.View; 
import android.widget.ImageButton; 
import android.widget.TextView; 

public class MainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

      /* Sound */ 
     final MediaPlayer cookieSound = MediaPlayer.create(this, R.raw.cookie_eat_short); 

     ImageButton playCookieSound = (ImageButton) this.findViewById(R.id.cookie_button); 

     playCookieSound.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       cookieSound.start(); 
       /* End of Sound */ 

       /* The following lines add 1 to the score and then display it. */ 
       scoreCookies++; 
       display(scoreCookies); 
      } 

     }); 

    } 

    /* Initializing the score to 0 
    * This is also what I want to change, make it set the score to the saved score.*/ 
    int scoreCookies = 0; 

    /* This method displays the score on the screen. */ 
    private void display(int number) { 
     TextView quantityTextView = (TextView) findViewById(R.id.score_text_view); 
     quantityTextView.setText("" + number); 
    } 
} 

activity_main.xml:

<ImageButton 
    android:id="@+id/cookie_button" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" 
    android:layout_marginBottom="124dp" 
    android:background="@android:color/transparent" 
    android:scaleType="fitStart" 
    app:srcCompat="@drawable/cookiepic" /> 

<TextView 
    android:id="@+id/score_text_view" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_centerHorizontal="true" 
    android:layout_marginBottom="52dp" 
    android:text="0" 
    android:textSize="42sp" 
    android:textAppearance="@style/TextAppearance.AppCompat.Headline" /> 

Vielen Dank im Voraus für mich zu helfen :)

+0

Bitte schauen Sie einfach bei Google oder eine andere Suchmaschine. Es gibt mindestens 50000 Artikel darüber. – creativecreatorormaybenot

+0

sollten Sie dies lesen [SharedPref] (http://stackoverflow.com/questions/3624280/how-to-use-sharedpreferences-in-android-to-store-fetch-and-edit-values) – MohammedAlSafwan

Antwort

1

Sie können Verwenden Sie gemeinsame Einstellungen, um eine kleine Datenmenge zu speichern.

schreiben

SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE); 
SharedPreferences.Editor editor = sharedPref.edit(); 
editor.putInt(getString(R.string.saved_high_score), newHighScore); 
editor.commit(); 

lesen

SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE); 
int defaultValue = getResources().getInteger(R.string.saved_high_score_default); 
long highScore = sharedPref.getInt(getString(R.string.saved_high_score), defaultValue); 
Verwandte Themen