안드로이드 앱개발 스터디9 - 01 (뒤로가기 두 번 눌러 앱 종료)

2021. 9. 4. 03:18Android Studio/안드로이드 스튜디오(JAVA)

반응형

https://www.youtube.com/watch?v=3jiQGrjOgMM&list=PLC51MBz7PMyyyR2l4gGBMFMMUfYmBkZxm&index=24 

안드로이드 앱 개발 강의

#23 뒤로가기 두 번 눌러 앱 종료

  앱을 종료하기 위해서는 보통 뒤로가기 버튼을 두 번 누른다. 앱 내부에서 이전으로 가기 위해 뒤로가기 버튼을 누른 것을 앱을 종료하기 위해 누른 것으로 받아들여 앱을 종료시키지 않기 위한 목적이 크다.

 

1. MainActivity.java

 뒤로가기 버튼을 조작하는 것이기 때문에 따로 화면을 구성해줄 필요는 없다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public class MainActivity extends AppCompatActivity {
 
    private long backBtnTime = 0;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);
    }
 
    @Override
    public void onBackPressed() {
        long curTime = System.currentTimeMillis();
        long gapTime = curTime - backBtnTime;
 
        if(0<=gapTime && 2000>=gapTime){ //뒤로가기 버튼을 두 번 누른 간격이 0초 이상 2초 이하라면
            super.onBackPressed(); //앱 종료
        }
        else {
            backBtnTime = curTime;
            Toast.makeText(this"한 번 더 누르면 종료됩니다.", Toast.LENGTH_SHORT).show();
        }
    }
}
cs
  • long : int와 같이 부호가 있는 정수이지만, int 보다 범위가 크다. (int : 32bits, long : 64bits)
  • 뒤로가기 버튼을 두 번 눌렀을 때, 시간 차이가 0초 이상 2초 이하라면 앱을 종료한다.
  • 그게 아니면 토스트 메시지를 띄운다.
반응형