
안드로이드 어플리케이션을 만들 때 사용하는 Android Studio를 통해 UI 및 프론트에 대한 공부를 하며 그 내용들을 기록하고자 이렇게 글을 작성한다.
개발언어는 Java와 Kotlin 중 Java를 채택하여 학습하였다. Kotlin은 사용해 본 적이 없으나 Java의 경우 기본적인 기능들을 사용해 본 적이 있어 이를 선택하게 되었다.

4번까지는 버튼 1부터 6까지를 수행하며 이전에 했던 이벤트 처리의 복습과 토글 버튼의 이벤트 처리에 대해서 공부 해 보았다.
토글 버튼은 하나의 버튼을 가지고 두 가지의 기능을 수행할 수 있다는 점에서 기존에 사용하던 버튼과 차이가 존재하는 것을 알 수 있었다. 이번에 해 볼 메인 기능은 '토스트'와 종료 버튼이다.
이미지 버튼에 대해서는 아직 학습이 부족하여 작성을 할 수 없는 관계로, 추후 해당 부분에 대해 학습이 완료된다면 여기다가 내용을 추가할 생각이다.
토스트(Toast) 란 안드로이드 스튜디오에서 사용할 수 있는 간단한 팝업 메세지의 이름이다. 임시적인 메세지 표시의 기능을 한다.
최대 두 문장 정도의 길이를 지원하고 있는 것으로 보이며, 사용자에게 길지 않은 정보를 제공할 때 사용할 수 있을 것으로 보인다.일반적으로 안드로이드 디바이스의 화면 하단부 중앙에 생성되며 짧은 시간동안만 메세지를 띄워주고 자동으로 사라진다.
토스트를 만들기 위해선 아래와 같이 문장을 구성한다.
Toast.makeText(context, text, duration).show();
이제 간단하게 토스트에 대한 의미를 알아 보았으니 버튼 7번, 8번을 누르게 되면 토스트 메세지가 나타나도록 만들어 보자.
우선 토스트 메세지를 띄울 버튼에 대한 객체참조변수를 생성한다.
public class MainActivity extends AppCompatActivity {
Button btnToast1, btnToast2;
...
토스트를 1, 2로 나눈 이유는 토스트 메세지가 떠 있는 시간을 짧게(short) 또는 길게(long)로 띄워져 있는 시간을 별도로 정할 수 있기에 이를 비교하기 위해 둘로 나누어 확인하고자 한 것이다.
btnToast1 = (Button) findViewById(R.id.button6);
btnToast2 = (Button) findViewById(R.id.button7);
btnToast1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String message = "Test Message";
// toast는 클래스 메소드로 객체생성 없이 사용
Toast toastMessage;
// makeText라는 정적 메서드를 사용
// Context: 메세지를 출력할 컨텍스트(화면/액티비티)
// + 문자열, 표시시간(짧게 길게로 지정 가능, 직접 지정은 하지 못함) 입력
toastMessage = Toast.makeText(MainActivity.this, message, Toast.LENGTH_SHORT);
// 토스트 실행
toastMessage.show();
}
});
이렇게 하면 버튼의 리스너를 무명 클래스로 처리하여 토스트 메세지 기능을 간단하게 확인 해 볼 수 있는 버튼이 완성된다.
위에서 작성했듯이 토스트를 만들기 위해서는 아래 문장처럼 구성해야 토스트 메세지를 생성할 수 있다.
Toast.makeText(context, text, duration).show();
위의 코드박스에서 주석을 통해 설명하긴 했지만, 여기서 makeText() 에 들어가는 세 매개변수에 대해서 설명하고자 한다.
makeText()의 매개변수들 설명
- context: 메세지를 출력하게 될 컨텍스트(= 화면(액티비티))
- text: 메세지에 들어가게 될 문자
- duration: 메세지가 출력되는 기간
이번에는 1번보다 좀 더 길게 나타나는 토스트 메세지 생성 버튼을 만들어 볼 것이다.
앞에서 설명한 것과 같이 makeText()의 duration을 고치면 토스트 메세지가 띄워지는 길이가 달라진다.
btnToast2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String message = "Test Message";
Toast toastMessage;
toastMessage = Toast.makeText(MainActivity.this, message, Toast.LENGTH_LONG);
toastMessage.show();
}
});
이번에는 어플리케이션 종료 버튼을 만들어 보고자 한다.
어플리케이션 종료 버튼에는 토스트 메세지를 이용해 종료함을 알려주고 나서 어플리케이션이 종료되도록 만들 것이다.
public class MainActivity extends AppCompatActivity {
Button btnExit;
...
btnExit = (Button) findViewById(R.id.button8);
btnExit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(MainActivity.this, "어플리케이션 종료", Toast.LENGTH_SHORT).show();
finish();
}
});
토스트 메세지를 만드는 Toast.makeText(context, text, duration) 문장 뒤에 .show를 붙이면 별도로 토스트를 만들지 않더라도 토스트 메세지를 생성할 수 있다.
그리고 makeText() 문장 아래에 있는 finish(); 는 어플리케이션을 종료시켜주는 명령어 문장이다. 해당 문장을 통해서 어플리케이션을 종료할 수 있다.
이번에는 토스트 메세지의 생성과 어플리케이션을 종료하는 방법에 대해서 알아 보았다.
토스트 메세지는 간단한 정보를 전달하기 좋을 것으로 보이고, 어플리케이션의 종료 버튼은 기본적인 기능이니만큼 숙지해 두는 편이 좋을 것으로 보인다.
UI 구조에는 나타나 있지만, 이번에 구현하지 않은 이미지 관련 버튼에 대해서는 공부를 완료하고 나서 추가를 하고자 한다.