2016-08-15 3 views
0

В настоящее время я изучаю разработку приложений для Android и на самой начальной фазе. Я построил эту игру, и теперь я хочу установить магазин и отобразить высокий балл как Textview на моем экране. Я бы очень признателен, если кто-нибудь сможет мне помочь. благодаря!Магазин Самый высокий результат и его отображение

package com.princeghimire.clickmeter; 

    import android.content.DialogInterface; 
    import android.media.MediaPlayer; 
    import android.os.Bundle; 
    import android.os.CountDownTimer; 
    import android.support.v7.app.AlertDialog; 
    import android.support.v7.app.AppCompatActivity; 
    import android.view.View; 
    import android.widget.Button; 
    import android.widget.TextView; 


    public class MainActivity extends AppCompatActivity{ 

    TextView tv_time, tv_clicks; 
    Button b_start, b_click; 

    CountDownTimer timer; 
    int time = 10; 
    int clicks = 0; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
     getSupportActionBar().setLogo(R.drawable.iconnn); 
     getSupportActionBar().setDisplayUseLogoEnabled(true); 
     tv_time = (TextView) findViewById(R.id.tv_time); 
     tv_clicks = (TextView) findViewById(R.id.tv_clicks); 
     b_start = (Button) findViewById(R.id.b_start); 
     b_click = (Button) findViewById(R.id.b_click); 

     b_start.setEnabled(true); 
     b_click.setEnabled(false); 

     timer = new CountDownTimer(10000, 1000) { 
      @Override 
      public void onTick(long millisUntilFinished) { 
       time--; 
       tv_time.setText("Time: " + time); 
      } 

      @Override 
      public void onFinish() { 
       b_start.setEnabled(true); 
       b_click.setEnabled(false); 
       tv_time.setText("Time: 10"); 
       AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); 
       builder.setTitle("Time's Up Buddy!"); 
       builder.setMessage("Your Score Is: " + clicks); 
       builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() { 
        @Override 
        public void onClick(DialogInterface dialogInterface, int which) { 
         dialogInterface.dismiss(); 
         // finish(); 
        } 
       }); 
       AlertDialog alertDialog = builder.create(); 
       alertDialog.show(); 
      } 
     }; 

     b_click.setOnClickListener(new View.OnClickListener(){ 
      public void onClick (View v){ 
       clicks++; 
       // switchh.start(); 
       tv_clicks.setText("Your Clicks: " + clicks); 
      } 
     }); 

     b_start.setOnClickListener(new View.OnClickListener(){ 
      public void onClick (View v){ 
       timer.start(); 
       b_start.setEnabled(false); 
       b_click.setEnabled(true); 
       clicks = 0; 
       time = 10; 
       tv_time.setText("Time: " + time); 
       tv_clicks.setText("Your Clicks: " + clicks); 
      } 
     }); 


    } 
    public void onBackPressed() 
    { 
     AlertDialog.Builder builder = new AlertDialog.Builder(this); 
     builder.setMessage("Are you sure you want to EXIT?") 
       .setCancelable(false) 
       .setPositiveButton("Yes", new DialogInterface.OnClickListener() { 
        public void onClick(DialogInterface dialog, int id) { 
         finish(); 
        } 
       }) 
       .setNegativeButton("No", new DialogInterface.OnClickListener() { 
        public void onClick(DialogInterface dialog, int id) { 
         dialog.cancel(); 
        } 
       }); 
     AlertDialog alert = builder.create(); 
     alert.show(); 
    } 
} 
+1

Просто используйте 'SharedPreferences' check this des. https://developer.android.com/reference/android/content/SharedPreferences.html –

+0

Проверьте этот код, это может помочь вам понять http://stackoverflow.com/a/37924565/5723796 –

ответ

0

В основном это процедура:

  1. Создать экземпляр SharedPreferences и SharedPreferences.Edit SharedPreferences sharedPref = .... AND SharedPreferences.Edit editor = .....
  2. вызова этого в том, где игра заканчивается if (sharedPref.getInt("highscore",0) < clicks) { editor.putInt("highscore",clicks).apply() }

Приведенный выше код первой проверьте последний балл, который вы сохранили в ключе «highscore», и если ваши текущие клики выше, он заменит его на него, и если это первая игра, поэтому значение по умолчанию будет приниматься за 0, поэтому оценка первой игры будет сохранена как рекорд, если не будет 0.

Я сделал почти ту же игру, ее Taplay и PlayStore кстати.

Удачи.

0

Вы можете использовать SharedPreferences, я предлагаю вам использовать Sqlite, если вы хотите отслеживать статистику пользовательской игры.

Смежные вопросы