2017-01-22 29 views
0

私はAndroid Studioを使ってアンドロイドでプログラミングする方法を学び始めるのに役立つCookie Clickerアプリを作った。
しかし、私はプレイヤーが持っているクッキーの量を節約する方法が必要なので、彼がゲームを終了し、戻ってくると、彼らは保存されます。
これは私が現在持っているコードです: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" /> 

感謝:)

+0

ちょうどGoogleや他の検索エンジンをご覧ください。それについて少なくとも50000の記事があります。 – creativecreatorormaybenot

+0

この[SharedPref](http://stackoverflow.com/questions/3624280/how-to-use-sharedpreferences-in-android-to-store-fetch-and-edit-values)をお読みください。 – MohammedAlSafwan

答えて

1

することができます少量のデータを保存するには、共有環境設定を使用します。

書き込み

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

読む

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); 
関連する問題