티스토리 뷰

App을 개발하다가 보면 사용자가 이 앱을 설치하고 첫 실행하는지 체크해야 하는 경우가 생깁니다.


저 같은 경우는 사용자가 첫 실행 했을때 가이드 화면을 보여주기 위해서 입니다. 또 다른 경우 같은경우엔............. 흠 하여튼 다른 경우가 많이 있을겁니다!



첫 실행 체크는 SharedPreferences를 사용합니다. SharedPreferences를 지금 자세히 설명 하려면 글이 길어지기때문에 간단히 설명하자면 메모리에 값을 저장 해두기 위해서 사용하는 클래스입니다.


Device의 메모리에 값을 저장해두고 그 값을 바탕으로 첫 실행인지아닌지를 판단하는 겁니다.


먼저 코드를 보겠습니다.



선언부

public SharedPreferences prefs;

SharedPreferences를 선언해줍니다.



정의부

prefs = getSharedPreferences("Pref", MODE_PRIVATE);

pref라는 이름으로 SharedPreferences를 만들어줍니다.




사용

public void checkFirstRun(){
boolean isFirstRun = prefs.getBoolean("isFirstRun",true);
if(isFirstRun)
{
Intent newIntent = new Intent(MapsActivity.this, GuideActivity.class);
startActivity(newIntent);

prefs.edit().putBoolean("isFirstRun",false).apply();
}
}

먼저 전체적인 코드입니다.


전체적인 코드 설명은, 첫 실행이면 GuideActivity 를 실행시키고 메모리의 값을 false로 바꾸는 간단한 동작입니다.




설명


하나하나 살펴보면

boolean isFirstRun = prefs.getBoolean("isFirstRun",true);

메모리에서 isFirstRun이라는 값을 가져옵니다. 2번째 파라메터로 true가 들어가는것은 만약 isFirstRus이 NULL값이면 true를 가져와라 라는 뜻입니다.


NOTE. 처음 앱을 실행하면 메모리에 isFirstRun이라는 값이 없기때문에 NULL이 들어가 있을 것입니다. 그래서 자동적으로 true를 가져와서 isFirstRun변수에 true가 들어가게 됩니다.



if문 안에는 원하는 동작을 수행하시면 됩니다.


prefs.edit().putBoolean("isFirstRun",false).apply();

원하는 작업이 끝나고 나면 isFirstRun의 값을 false로 바꿔주어 다음부터는 첫실행의 조건문으로 들어가지 않도록 만들어 주면 됩니다.




저 처럼 가이드페이지를 만드시는 분들에게 좋은 방법이 될 것 같아 작성했습니다.


:)

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함