存储最高分并显示它

时间:2016-08-15 12:59:07

标签: java android android-studio-2.1 android-app-ops

我目前正在学习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();
    }
}

2 个答案:

答案 0 :(得分:0)

基本上这是程序:

  1. 创建SharedPreferences和SharedPreferences.Edit SharedPreferences sharedPref = .... AND SharedPreferences.Edit editor = .....
  2. 的实例
  3. 在游戏结束if (sharedPref.getInt("highscore",0) < clicks) { editor.putInt("highscore",clicks).apply() }
  4. 的地方拨打此电话

    上述代码将首先检查您在&#34;高分&#34;中保存的最后得分。如果您当前的点击次数较高,它将替换它,如果这是第一个游戏,则默认值将被视为0,因此第一个游戏的得分将被保存为高分,除非它再次为0。

    我已经制作了几乎相同的游戏,Taplay和PlayStore btw。

    祝你好运。

答案 1 :(得分:0)

您可以使用SharedPreferences,如果您想跟踪用户游戏统计信息,建议您使用Sqlite