안드로이드 스튜디오 최고 기록 구현 오류 질문 드립니다

조회수 476회
button1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View _view) {
            if (Double.parseDouble(sharedpreferences.getString("s", "")) == 0) {
                sharedpreferences.edit().putString("s", "1").commit();
                calendar = Calendar.getInstance();
                sharedpreferences.edit().putString("t", String.valueOf((long)(calendar.getTimeInMillis()))).commit();
                button1.setText("종료");
                if (record < ((((day * 1000000) + (hour * 10000)) + (minutes * 100)) + second)) {
                    record = (((day * 1000000) + (hour * 10000)) + (minutes * 100)) + second;
                    FileUtil.writeFile("storage/emulated/0/folder/timerecord", textview1.getText().toString());
                }
                FileUtil.writeFile("storage/emulated/0/folder/timer", textview1.getText().toString());
                timer = new TimerTask() {
                    @Override
                    public void run() {
                        runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                calendar = Calendar.getInstance();
                                ToTimeToMos = Double.parseDouble(String.valueOf((long)(calendar.getTimeInMillis() - Double.parseDouble(sharedpreferences.getString("t", "")))));
                                day = Double.parseDouble(String.valueOf((long)(ToTimeToMos / 86400000)));
                                hour = Double.parseDouble(String.valueOf((long)((ToTimeToMos / 3600000) - (day * 24))));
                                minutes = Double.parseDouble(String.valueOf((long)((ToTimeToMos / 60000) - ((day * 1440) + (hour * 60)))));
                                second = Double.parseDouble(String.valueOf((long)((ToTimeToMos / 1000) - ((day * 86400) + ((hour * 3600) + (minutes * 60))))));
                                textview1.setText(new DecimalFormat("00").format(day).concat("일 ").concat(new DecimalFormat("00").format(hour).concat("시간 ")).concat(new DecimalFormat("00").format(minutes).concat("분 ")).concat(new DecimalFormat("00").format(second).concat("초 ")));
                            }
                        });

                    }
                };
                _timer.scheduleAtFixedRate(timer, (int)(10), (int)(10));
            }
            else {
                timer.cancel();
                sharedpreferences.edit().putString("s", "0").commit();
                button1.setText("시작");

            }
        }
    });

최고 기록을 if (record < ((((day * 1000000) + (hour * 10000)) + (minutes * 100)) + second)) { record = (((day * 1000000) + (hour * 10000)) + (minutes * 100)) + second; FileUtil.writeFile("storage/emulated/0/folder/timerecord", 이런 식으로 구현했는데 타이머 종료를 누르고 앱을 나갔다가 들어오면 최고 기록이 리셋되러 있습니다 ㅠㅠ 어떻게 고쳐야 할까요 도와주세요

  • (•́ ✖ •̀)
    알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)