
mainactivity
Log.i("MyTag", "hello world");


로그캣은 필터링 가능함
System.out.println("===============");

run창은 필터링 불가능함
백업(c에 있는 폴더로)한 뒤에 반드시 삭제(사용자의 androidproject폴더) 할것
Activity LifeCycle 메서드

MainActivity
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.i("MyTag", "onCreate호출");
}
@Override
protected void onStart() {
super.onStart();
Log.i("MyTag", "onStart 호출");
}
@Override
protected void onResume() {
super.onResume();
Log.i("MyTag", "onResume 호출");
}

@Override
protected void onStop() {
super.onStop();
Log.i("MyTag", "onStop 호출");
}
@Override
protected void onRestart() {
super.onRestart();
Log.i("MyTag", "onRestart호출");
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.i("MyTag", "onDestroy호출");
}

앱에서 뒤로가기 버튼 누르면


앱 다시 키면


홈 버튼 누르면


이전 창 탭에서 다시 앱 실행(재실행) 할 때

재실행 하는건 멤버 변수가 유지가 됨
이벤트 처리는 oncreate에서 많이 처리함

앞에 것들이 아이디 이것을 이용해서 main에서 연결 할 수 있음


constrainlayout은 상대적 거리를 지정하는 것
적어도 2개는 연결해야함

변경된 속성 만 뜸
이벤트 처리 방법
1. 컴포넌트 생성 + 발생 이벤트 : 처리함수를 직접 등록(attribute 속성 이용)
2 컴포넌트 생성 + activity.java에서 컴포넌트 아이디 지정해서 .addEventListner(처리 이벤트, 처리함수 등록)

onclick 이벤트 발생할 때 onButtonclicked 함수 실행
MainActivity
public void onButtonclicked(View v){
Log.i("MyTag", "이벤트 발생");
System.out.println("이벤트 발생");
Toast.makeText(this,"확인눌림", Toast.LENGTH_LONG).show();
}
ㅇ



가로형 세로형 작업을 따로 해야함

가로형 메인 파일을 만듬


가로 세로 돌리는 거에 따라 나오는 화면이 바뀜

화면 전환 켜놔야 적용됨
main
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.i("Mytag", "onCreate 호출됨");
}
@Override
protected void onStart() {
super.onStart();
// showToast("onStart 호출됨");
System.out.println("onStart 호출됨");
Log.i("Mytag", "onStart 호출됨");
}
@Override
protected void onStop() {
super.onStop();
// showToast("onStop 호출됨");
System.out.println("onStop 호출됨");
Log.i("Mytag", "onStop 호출됨");
}
@Override
protected void onDestroy() {
super.onDestroy();
// showToast("onDestroy 호출됨");
System.out.println("onDestroy 호출됨");
Log.i("Mytag", "onDestroy 호출됨");
}
@Override
protected void onResume() {
super.onResume();
Log.i("Mytag", "onResume 호출됨");
}

화면 변환을 할때 마다 화면을 새로 만듬
멤버변수에 저장한 것들은 다 날라감
private void showToast(String s){
Toast.makeText(this, s, Toast.LENGTH_LONG).show();
}
화면 돌릴때 마다 toast 뜨는 함수

main
public class MainActivity extends AppCompatActivity {
String name;
EditText editText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = findViewById(R.id.editText);
Button button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
//입력된 값 멤버 변수에 저장
name = editText.getText().toString();
showToast("입력된 값을 저장합니다"+name);
//화면 전환 버튼 클릭
}//end method
});//button event 처리 끝
}
private void showToast(String s) {
Toast.makeText(this, s, Toast.LENGTH_LONG).show();
}
}
버튼 누를때 plaintext창의 문자열 toast 창으로 보여줌
R.id.editText
id가 editText 인녀석 찾음
new View.OnClickListener()
익명 변수로 저장함
