ボタンをクリックするとクリック数をカウントし、15秒後にボタンガードが無効になり、その15秒間にどれくらいクリックしたかを知りたいクリッカープログラムを開発しましたハイスコアと私は高得点が同じ活動に私の新しいハイスコアショーを保存することを交差**私のアプリにデータを格納する(高得点)
答えて
私はお勧め:
public class MainActivity extends AppCompatActivity {
private int clicks = 0;
private TextView mTextView;
Button bt_restart;
int high;
public static final String MyPREFERENCES = "MyPrefs" ;
public static final String HIGHSCORE = "high" ;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SharedPreferences prefs = getSharedPreferences(MyPREFERENCES, MODE_PRIVATE);
high = prefs.getInt(HIGHSCORE, 0);
bt_restart = (Button)findViewById(R.id.restart);
bt_restart.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent restartIntent = getBaseContext().getPackageManager()
.getLaunchIntentForPackage(getBaseContext().getPackageName());
restartIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(restartIntent);
}
});
mTextView = (TextView) findViewById(R.id.total_textview);
mTextView.setVisibility(View.VISIBLE);
Button button = (Button) findViewById(R.id.count_button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(final View v) {
final Button b = (Button)v;
if (clicks == 0){
// Means its the first time that a user click the button
// Start a thread that is going to disable the button after 5 seconds from first click
new CountDownTimer(15000, 1000) {
public void onTick(long millisUntilFinished) {
b.setText(millisUntilFinished/1000 + " Seconds");
}
public void onFinish() {
b.setText("Time up");
b.setEnabled(false);
// Showing user clicks after button is disabled
showClicks();
}
}.start();
}
// Here we are just counting . . . . including the first click
countClicks();
}
});
}
private void countClicks(){
++clicks;
mTextView.setText(Integer.toString(clicks));
// You can update your text view here
}
private void showClicks(){
mTextView.setText(String.valueOf(clicks)+"Clicks");
mTextView.setVisibility(View.VISIBLE);
if(clicks > high){
SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE).edit();
editor.putInt(HIGHSCORE, clicks);
editor.commit();
high = prefs.getInt(HIGHSCORE, 0);
}
}
その後、あなたはハイスコアの使用にのTextViewを表示する場合とでsetTextはString.valueOf(high)を使用していますが、変数を変更するときにtextviewが変更されるかどうかわかりません。おそらくtextview.setText everyTima変数を編集する必要があります高い(コードをリンクに基づいて:Android Shared preferences example)
"+1"私はあなたのレスポンスをお詫びしていますerroに近づいていませんあなたは私にfaverをしてくださいちょうど私がコピーして過去に行うことができるGitHubホに教えてください – user3476090
何がエラーですか? – dpart
アプリケーションがクラッシュする? – dpart
あなたはsharedpreferencesを使用してあなたの最高得点を保存して確認することができます。 set_ContentViewの下
これらの行開始時:このよう
if (newrec>oldrec){
sp.edit().putInt("record",new rec).commit();
Toast.makeText(MainActivity.this,"your new record is :"+newrec, Toast.LENGTH_SHORT).show();
}
のリンクを含むあなたの答えを編集しました – user3476090
最初に置く新しいスコアと前のスコアを比較したいときは "Oncreate"の3行を "if"にします。 –
私はちょうどそれをコピーして害虫をかける完全なコードを書くことができますか?私はプログラムで新しいです – user3476090
- 1. Gsonデータの格納と取得。私のデータ格納クラスでは、整数
- 2. Androidアプリで最高得点を記録
- 3. OpenCVの:すべての "点" "マット" に格納された取得
- 4. データを格納するフレームワーク
- 5. SQLのようなデータベースにデータを格納する利点は何ですか?
- 6. jqueryのデータ格納
- 7. データの格納が
- 8. JTableにarrylistデータを格納
- 9. カスタムインデックスにデータを格納:GWLP_USERDATA_EX?
- 10. データをjavascriptに格納
- 11. BaseActivityにデータを格納
- 12. GeoDataFrameにnetCDFデータを格納
- 13. DynameriesDBにtimeseriesデータを格納
- 14. NsuserdefaultsにNSobjectデータを格納
- 15. 長い小数点をCに格納
- 16. PhonegapのAndroidアプリにデータをローカルに格納する方法(AngularJSの方法で)
- 17. .xlsxファイルからデータを取得してint []に格納する
- 18. numpy配列からデータを取得し、データフレームに格納する
- 19. バッファに格納されたデータを取得する方法
- 20. 変数にajaxデータを格納する
- 21. データをlaravelに格納する
- 22. 冗長データをcassandraに格納する
- 23. Android:AccountManagerにデータを格納する場所
- 24. プロジェクトにデータを格納する方法
- 25. プレハブにデータを格納するオプション
- 26. スキーマレスデータをスキーマを使用してデータを格納することの利点
- 27. 末尾のゼロのない小数点を格納するMySQLの列データ型
- 28. ループのデータを格納する
- 29. ゲームのintデータを格納するクラス
- 30. 複数のデータを格納するAndroid
を....と質問です:
その後、setOnclicklistenreにこのコードを書くのか? – Opiatefuchs
^^あなたはあなたが何を望んでいるのか、何を試しているのかを詳しく説明できますか? –
どういう意味ですか? – user3476090