안드로이드 스튜디오
[Android] Activity
냠냠쿠
2025. 6. 17. 21:55
728x90
안드로이드 4대 구성요소
- 안드로이드 애플리케이션은 독립적인 다양한 실행단위를 하나로 묶어서 관리하는 개념임
- Activity : 눈에 보이는 화면을 나타내는 실행단위 (10개 화면 -> 10개 액티비티)
- Service : 화면을 가지지 않는 실행단 (백그라운드 프로세싱)
- Broadcast Receiver : 어떤 사건을 대기하고 있다가 발생하게되면 코드 발생 (ex. 결제문자 가계부 자동 반영 등)
- Contetn Provider : A 어플리케이션이 저장한 데이터를 다른 어플리케이션이 제공할 수 있음
- 안드로이드 4대 구성요소는 Manifest에 추가 되어 있어야 함
Activity
- 보이는 화면을 관리하는 실행 단위
Activity 생명주기
- onCreate() : Activitiy가 처음 생성 될 때 자동으로 호출 됨, 하나 더 있는데 그건 뒤에서 ,
- onResume() : 액티비티가 실행이 되거나 재실행되거나 할 때 무조건 거쳐감
- Activity : 사용중인 상태
- OnPause() : Activity 사용 중 다이얼로그를 띄우거나 전화가오는 등의 화면이 다 가려지는 상태가 되어 멈추거나 일시정지되는 상황이 벌어지면 무조건 호출함
- onDestory() : 해당 액티비티가 완전히 사라질 때 호출
예제
package kr.co.softcampus.activity;
import android.os.Bundle;
import android.util.Log;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import kr.co.softcampus.activity.databinding.ActivityMainBinding;
public class MainActivity extends AppCompatActivity {
// 액티비티가 생성 될 때 자동으로 호출, 화면 전환이 발생했을 때 자동으로 호출
ActivityMainBinding activityMainBinding;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
activityMainBinding = ActivityMainBinding.inflate(getLayoutInflater());
setContentView(activityMainBinding.getRoot());
Log.d("test", "onCreate");
}
// onCreate 메서드 호출 후 자동으로 호출
// 액티비티가 정지 상태 -> 활동 상태로 돌아올 때 호출 (쪼그라지거나 다른화면 갔다 왔을 때
@Override
protected void onStart() {
super.onStart();
Log.d("test","onStart");
}
// onStart 메서드 호출 후 자동으로 호출
// 액티비티가 일시정지 되었다가 다시 돌아옴
@Override
protected void onResume() {
super.onResume();
Log.d("test","onResume");
}
// 액티비티가 정지상태가 되었다가 활동상태로 돌아갈 때 onStart 전에 호출
@Override
protected void onRestart() {
super.onRestart();
Log.d("test","onRestart");
}
// 액티비티가 일시정지가 될 때 호출
// 화면상에서 완전히 사라지거나 화면 위에 작은 팝업 창이 나타날 때 호출
@Override
protected void onPause() {
super.onPause();
Log.d("test","onPause");
}
//액티비티가 완전히 화면에서 사라질때 호출
@Override
protected void onStop() {
super.onStop();
Log.d("test","onStop");
}
//액티비티의 수행이 완전히 종료되어 메모리 상에서 제거될 때 호출
@Override
protected void onDestroy() {
super.onDestroy();
Log.d("test","onDestroy");
}
}
728x90