목차
- 안드로이드 스튜디오 앱 프로젝트 생성 예제 이전 포스팅 참고 학습
- 안드로이드 Shared Perference 데이터 가져오기 예제 이전 포스팅 참고
- 안드로이드 다이얼로그 생성 및 띄우기 예제 이전 포스팅 참고
- 안드로이드 SharedPreference 값 가져와 앱 최초 실행 확인 예제
- 안드로이드 최초 실행시 다이얼로그 생성 및 띄우기 예제
- 안드로이드 최초 실행 완료 여부를 SharedPreference에 저장하기 예제
안드로이드 스튜디오 앱 프로젝트 생성 예제 이전 포스팅 참고 학습
안드로이드 스튜디오에서 앱 프로젝트를 생성하는 방법은 쉽습니다. 프로젝트 생성 마법사를 따라가면 됩니다. 프로젝트 생성 마법사에서는 앱의 이름, 패키지명, 프로젝트 경로 등을 설정할 수 있습니다.
오늘 포스팅은 앱 최초 실행 여부를 판단하여 최초 실행시에만 다이얼로그를 띄우고 이외에는 그냥 보통 평소처럼 앱을 실행시키는 예제입니다. 따라서 신규 앱 프로젝트를 생성하여 진행해야합니다.
아직 앱 신규 프로젝트 생성 방법을 잘 모르신다면 아래 링크를 참고하여 학습해주세요.
2023.08.22 - [Android] - [안드로이드] 프로젝트 생성 예제(로그출력, TextView)
안드로이드 Shared Perference 데이터 가져오기 예제 이전 포스팅 참고
안드로이드에서 Shared Preference는 간단한 데이터를 저장하고 불러올 수 있는 기능입니다. 앱을 설치하고 삭제하기까지는 내가 저장한 값들이 유지됩니다. 이러한 기능을 활용하여 최초 실행 여부를 알 수 있습니다.
아직 안드로이드에서 Shared Preference 사용 방법을 잘 모르신다면 이전 포스팅을 참고하여 데이터를 저장하고 가져오는 방법을 배울 수 있습니다.
2023.07.23 - [Android] - [안드로이드] SharedPerference 활용 예제 - 2(객체, 배열 저장)
안드로이드 다이얼로그 생성 및 띄우기 예제 이전 포스팅 참고
오늘 포스팅에서는 최초 실행 여부를 판단하고 최초 실행시에만 사용자에게 다이얼로그를 생성하여 화면에 보여줄 것입니다. 따라서 아직 안드로이드에서 AlertDialog 생성 방법을 잘 모르신다면 이전 포스팅을 통해 간단한 다이얼로그 생성 및 띄우기 방법을 익혀주세요.
2023.08.23 - [Android] - [안드로이드] 확인, 취소 버튼 다이얼로그 생성 및 띄우기 예제(AlterDialog, DialogInterface)
안드로이드 SharedPreference 값 가져와 앱 최초 실행 확인 예제
아래는 앱이 최초 실행될 때 Shared Preference를 이용하여 최초 실행 여부를 확인하는 예제입니다. 특정 Key값이 존재하는지 아닌지 여부로 실행여부를 확인할 수 있습니다. Key가 없는경우 어떻게 대응할 것인지 Default 값을 저장하고 사용합니다.
package com.example.blog_test_app;
import androidx.appcompat.app.AppCompatActivity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.util.Log;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// SharedPreferences 객체 생성
SharedPreferences sharedPreferences = getSharedPreferences("MyPrefs", MODE_PRIVATE);
// "isInit" 값 가져오기 (기본값은 false)
boolean isInit = sharedPreferences.getBoolean("isInit", false);
if (!isInit) {
// 최초 실행 시 다이얼로그 생성 및 띄우기
Log.d("test-log", "최초 실행");
}
}
}
안드로이드 최초 실행시 다이얼로그 생성 및 띄우기 예제
아래는 최초 실행 여부에 따라 다이얼로그를 띄우는 예제입니다. 이전 포스팅에서 다뤘던 예제입니다.
package com.example.blog_test_app;
import androidx.appcompat.app.AppCompatActivity;
import android.app.AlertDialog;
import android.content.SharedPreferences;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// SharedPreferences 객체 생성
SharedPreferences sharedPreferences = getSharedPreferences("MyPrefs", MODE_PRIVATE);
// "isInit" 값 가져오기 (기본값은 false)
boolean isInit = sharedPreferences.getBoolean("isInit", false);
if (!isInit) {
// 최초 실행 시 다이얼로그 생성 및 띄우기
showAlertDialog();
}
}
private void showAlertDialog() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("알림")
.setMessage("앱을 처음 실행하셨습니다.")
.setPositiveButton("확인", null)
.show();
}
}
안드로이드 최초 실행 완료 여부를 SharedPreference에 저장하기 예제
마지막으로 앱의 최초 실행 여부를 Shared Preference를 이용하여 저장하는 예제입니다. 4번 항목에서 확인한 Key 값으로 True 혹은 1을 저장하여 다음 앱 실행시에는 최초 실행이 아니도록 설정합니다.
package com.example.blog_test_app;
import androidx.appcompat.app.AppCompatActivity;
import android.app.AlertDialog;
import android.content.SharedPreferences;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// SharedPreferences 객체 생성
SharedPreferences sharedPreferences = getSharedPreferences("MyPrefs", MODE_PRIVATE);
// "isInit" 값 가져오기 (기본값은 false)
boolean isInit = sharedPreferences.getBoolean("isInit", false);
if (!isInit) {
// 최초 실행 시 다이얼로그 생성 및 띄우기
showAlertDialog();
// "isInit" 값을 true로 설정하여 최초 실행으로 표시
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putBoolean("isInit", true);
editor.apply();
}
}
private void showAlertDialog() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("알림")
.setMessage("앱을 처음 실행하셨습니다.")
.setPositiveButton("확인", null)
.show();
}
}