관리 메뉴

파이티스

Android Studio 메세지 알림 띄우는 방법 - Snackbar / Toast 본문

Android/Android Studio 기능

Android Studio 메세지 알림 띄우는 방법 - Snackbar / Toast

파이티스 2023. 8. 20. 14:13
반응형

 

안드로이드 스튜디오에서 앱을 개발하다보면 사용자에게 특수한 경우에 메세지를 보여주는 상황이 발생한다. 가장 대표적인 예제가 아마도 필수입력사항을 입력하지 않고 버튼을 눌러 다음단계로 넘어갈때 모든 필수사항을 입력하도록 사용자에게 알려주는 메세지가 아닐까 생각된다.

 

Snackbar VS Toast

안드로이드 스튜디오에서 사용자에게 메세지를 띄우기 위해서는 스낵바(Snackbar)와 토스트(Toast)를 사용할 수 있다.

 

Snackbar : 스낵바는 사용자에게 간단한 메시지나 액션을 알리거나 제공하는 데 사용된다. 주로 잠깐 보여지다가 사라지는 방식으로 동작하며, 화면 하단에 표시된다. 스낵바는 일시적인 정보나 경고를 전달하거나, 사용자가 특정 작업을 수행하도록 유도하는 등의 용도로 사용

 

주요 특징:

 

  • 액션 버튼을 포함할 수 있어 사용자가 특정 작업을 수행할 수 있습니다.
  • 스낵바의 표시 시간은 제한되어 있으며 일정 시간 후에 자동으로 사라집니다.
  • 사용자 경험을 방해하지 않고, 보통 간단한 알림을 위해 사용됩니다.
  • 디자인적으로 다양한 스타일과 옵션을 적용할 수 있습니다.

 

Toast : 토스트는 스낵바와 마찬가지로 사용자에게 간단한 정보나 알림을 제공하는 데 사용됩니다. 하지만 토스트는 화면 상단 중앙에 위치하여 스낵바보다 덜 주목받는 특성을 가지고 있다.

 

주요 특징:

 

  • 스낵바와 달리 액션 버튼을 직접 추가할 수 없습니다.
  • 토스트 역시 일정 시간 후에 자동으로 사라집니다.
  • 사용자 경험을 크게 방해하지 않고, 주로 간단한 정보 전달을 위해 사용됩니다.
  • 스낵바에 비해 디자인적인 커스터마이징 옵션이 적습니다.

 

▣ 요약 

 

스낵바와 토스트는 모두 간단한 정보나 알림을 제공하는 데 사용되는 요소입니다. 스낵바는 더 많은 유연성과 액션 버튼 추가가 가능하며, 화면 하단에 위치하여 사용자의 주의를 끌 수 있습니다. 토스트는 스낵바에 비해 주의를 덜 받고 더 빠르게 사라지며, 주로 간단한 정보 전달을 위해 사용됩니다.

실습하기


 

아래와 같이 화면개발을 먼저 하였다. 입력항목은 "이름", "비밀번호", "이메일" 으로 총 3가지 이다. 이중에서 하나라도 빼놓고 BUTTON을 클릭하면 사용자에게 "모든 항목을 입력하세요" 라는 메세지를 띄우는 실습을 하려고 한다.

 

 

멤버변수 만들기

 

화면개발을 할때 TEXT를 입력하기 위해서 EditText 3개를 사용하고 Button을 1개 사용한다.

 

    EditText editName;
    EditText editpassword;
    EditText editEmail;
    Button btnSave;

 

화면연결하기

 

editName = findViewById(R.id.editTextText);
editpassword = findViewById(R.id.editTextTextPassword);
editEmail = findViewById(R.id.editTextTextEmailAddress);
btnSave = findViewById(R.id.button);

 

버튼 클릭시 이벤트 처리

 

▶ btnSave가 실행되었을때의 이벤트 처리하는 로직을 구현한다.

 

▶ String name = editName.getText().toString().trim();

getText() 사용자가 입력한 텍스트를 가져와서 toString 텍스트를 문자열로 변환하고 trim() 문자열의 앞뒤의 공백을 제거.

최종 처리한 데이터를 name 변수에 저장.

 

▶ String password와 String email 도 같은방식으로 로직 구현

 

btnSave.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {

        String name = editName.getText().toString().trim();

        String password = editpassword.getText().toString().trim();

        String email = editEmail.getText().toString().trim();

    }
});

Toast 메시지 띄우기

 

▶ "이름", "비밀번호", "이메일" 중 하나라도 입력이 되지 않는다면..... if문 로직 구현

 

 소스코드는 onClick 메서드 안에 입력한다.

 

    if( name.isEmpt() || password.isEmpt() || email.isEmpt() ) {  Toast  }  <== Toast로 메세지 뛰우기

 

        if (name.isEmpty() || password.isEmpty() || email.isEmpty()) {
 
        Toast.makeText(MainActivity.this,"필수항목 모두 입력해주세요!",Toast.LENGTH_SHORT).show();
                
       }

 


Snackbar 메시지 띄우기

 

▶ "이름", "비밀번호", "이메일" 중 하나라도 입력이 되지 않는다면..... if문 로직 구현

 

★ 소스코드는 onClick 메서드 안에 입력한다.

 

    if( name.isEmpt() || password.isEmpt() || email.isEmpt() ) {  Snackbar  }  <== Snackbar로 메세지 뛰우기

 

        if (name.isEmpty() || password.isEmpty() || email.isEmpty()) {

           Snackbar.make(btnSave,"필수항목 모두 입력해주세요!",Snackbar.LENGTH_SHORT).show();
           
          }

 


 

반응형