개발 노트/Kotlin (96) 썸네일형 리스트형 [Android] 엑티비티 생명주기(Activity Life Cycle) 생명주기의 사전적 정의를 살펴보면 "어떤것이 태어나고 죽기까지의 기간"을 말한다고 나와있다 사람으로 예를들어보면, 사람은 태어나고 죽기까지의 생명주기를 가지며 이 생명주기동안 사람은 어린아이에서 어른이, 어른에서 노인이되는 과정을 거치게된다 그런데 안드로이드의 Activity도 이렇게 생성되고 소멸되기까지의 생명주기를 가지고있다 이런과정은 여러함수들로 구성이 되어있는데 이런 함수들을 총칭해서 Activity 생명주기라고 부른다 그래서 이런 Activity 생명주기를 사용하면 프로그램을 더욱 안정적으로 구현할수있게된다 먼저 이런 Activity 생명주기를 왜 사용해야되는지 예를 들어서 설명해보면 휴대폰으로 게임을하고있는 도중에 전화가 왔다고 해보자 그러면 보통 게임이 일시정지가 되고, 전화를 마치게되면 다.. 프로그래밍 기초 과제 - 계산기 - 필수구현 기능 - 선택 구현 기능 LV4까지 진행해주었다 먼저 추상클래스를 만들어서 클래스를 추상화해준다 추상화는 클래스의 이름과 클래스 안에 있음직한 기능을 유추해서 메서드 이름으로만 먼저 나열하는것이다 그런다음 추상클래스를 상속받은 클래스에서는 오버라이딩을 통해 구현해줘야한다!! // 추상메소드로 만들기 abstract class AbstractOperation { abstract fun calculator(x: Int, y: Int) : Int } AbstractOperation.kt abstract 키워드를 사용해서 추상화를 시켜줬고, 입력값과 반환값이 Int인 간단한 추상메소드를 만들었다 class AddAbstractOperation: AbstractOperation() { override.. 버튼에 elevation 속성값을 지정했음에도 그림자가 안보일때 나는 이런식으로 버튼을 디자인했고, Register버튼에 그림자값을 적용해주고싶었다 그래서 elevation값을 적용했는데도 그림자 적용이 안됐다!!ㅜㅜㅜ 찾아보니깐 그림자가 생길공간이 없는 경우에 적용이 안된다고 한다 그림자 생길공간이 없었기 때문에 padding값을 8정도로줘서 공간을 만들어줬다 근데 이런식으로해도 아직도 안됐다... 부모 컴포넌트의 padding을 적용해줬기때문에 이에 의해서 그림자가 잘리는경우가 발생한다고한다 부모 컴포넌트에 android:clipToPadding="false" 이값을 적용해주면 잘 적용이되는것을 확인할 수 있다 정리해보면 elevation을 적용했는데도 그림자가 적용이 안된다면?? 1. 배경색이 있는지 확인!! 2. 그림자가 생길 공간이 있는지 확인!! 3. 부모.. ConstraintLayout - chain, bias ConstraintLayout으로 레이아웃을 그릴때 다양한 방법이 있는데 Chain과 Bias위주로 살펴볼것이다 1. Chain 크게 이렇게 두개로 나눌수있다 - layout_constraintHorizontal_chainStyle : 수평 방향 체인 스타일 결정 - layout_constraintVertical_chainStyle : 수직 방향 체인 스타일 결정 체인은 spread / spread inside / packed 유형으로 나눌 수 있다. 체인 헤드부분에만 체인속성을 적용하면 된다! 각 속성의 차이를 알아보자 # layout_constraintHorizontal_chainStyle = "spread" -> 각각의 뷰를 균등하게 분산 android:id="@+id/google" android:.. registerForActivityResult() 사용법 registerForActivityResult()는 양방향으로 데이터를 주고받는 경우에 주로 사용한다 StartActivity(intent)로 계속해서 엑티비티 호출을 반복하게되면, 엑티비티 스택에 계속해서 엑티비티가 쌓이는 문제가 생기는데 이를 방지하기위해 registerForActivityResult()를 사용한다!! 내가 지금 구현하고자하는 것은 첫번째 페이지에서 이름,아이디,비밀번호값을 입력하고 회원가입버튼을 누르면 두번째화면으로 이동하면서 첫번째화면에서 입력했던 아이디,비밀번호값이 해당화면에 반영이 되고 두번째화면에서 회원가입버튼을 누르면 다시 첫번째화면으로 돌아가도록 하는것이다 여기에서도 볼때 회원가입화면에서 로그인화면으로 돌아갈때마다 매번 로그인화면이 생성이 되므로 엑티비티 스택에 계속 엑티.. Android 앱개발 입문과제(LV4) - 추가구현 # 구현사항 회원 가입 페이지에서 입력한 아이디/비밀번호가 회원 가입 버튼을 눌러 로그인 화면으로 이동할 때 자동으로 입력되도록 구현합니다. (registerForActivityResult 사용) 5장의 사진을 등록합니다.(drawable 폴더) 자기소개 페이지가 시작될 때 5장 중 랜덤으로 1장의 사진이 표시되도록 구현합니다. # registerForActivityResult를 사용한 화면이동&데이터 주고받기 아래 게시물에 적어놓았다 https://coding-juuwon2.tistory.com/242 registerForActivityResult() 사용법 registerForActivityResult()는 양방향으로 데이터를 주고받는 경우에 주로 사용한다 StartActivity(intent)로 계.. Android 앱개발 입문과제(LV3) - 자기소개 페이지 만들기 # 자기소개 페이지 만들기 구현사항 HomeActivity를 생성해 주세요. SignInActivity에서 받은 extra data(아이디)를 화면에 표시합니다. ImageView, TextView 외에 각종 Widget을 활용해 자유롭게 화면을 디자인 해주세요. 이름, 나이, MBTI 등 자기소개등이 들어가는 위젯을 자유롭게 디자인해주세요. 종료 버튼이 눌리면 SignInActivity로 이동하도록 구현합니다. (finish 활용) 자기소개 페이지 레이아웃부분이다 아이디 부분만 내가 입력한 아이디를 반영할것이기 때문에, 아이디만 따로따로 텍스트를 나눠서 써줬다 activity_home.xml LV1에서 넘겨줬던 id값을 받아와준다 왜?? 내가 작성한 id값을 이 엑티비티에서 표시해줄거기 때문에!! 그리.. Android 앱개발 입문과제(LV2) - 회원가입 페이지 만들기 # 회원가입 페이지 만들기 구현사항 SignpActivity를 생성해 주세요. 타이틀 이미지는 원하는 이미지로 넣어주세요. 이름, 아이디, 비밀번호 모두 입력 되었을 때만 회원가입 버튼이 눌리도록 구현합니다. 셋 중 하나라도 비어있으면 “입력되지 않은 정보가 있습니다” 라는 토스트 메세지를 출력하도록 구현합니다. 비밀번호 EditText는 입력 내용이 가려져야 합니다.(●●● 처리) 회원가입 버튼이 눌리면 SignInActivity로 이동하도록 구현합니다. (finish 활용) 저번시간까지는 회원가입버튼을 누르면 이동하도록하는것만 만들었기 때문에 회원가입창 디자인과 해당조건 기능구현을 해줄것이다 디자인은 이렇게 해주었다 이름,아이디,비밀번호를 입력할 수 있는 EditText와 회원가입 버튼을 만들었다 a.. Android 앱개발 입문과제(LV1) - 로그인 페이지 만들기 # 로그인 페이지 만들기 구현사항 새 프로젝트를 만들고 MainActivity의 이름을 SignInActivity로 바꿔주세요. 로고 이미지는 원하는 이미지로 넣어주세요. 아이디, 비밀번호를 입력 받는 EditText를 넣어주세요.(미리보기 글씨(플레이스 홀더) 포함) 비밀번호 EditText는 입력 내용이 가려져야 합니다.(●●● 처리) 로그인 버튼을 누르면 HomeActivity가 실행되도록 구현합니다. (Extra로 아이디를 넘겨줍니다.) 아이디/비밀번호 모두 입력 되어야만 로그인 버튼이 눌리도록 구현합니다. (“로그인 성공”이라는 토스트 메세지 출력하도록 구현) 아이디/비밀번호 중 하나라도 비어 있다면 “아이디/비밀번호를 확인해주세요” 라는 토스트 메세지가 출력되도록 구현합니다. 회원가입 버튼을 .. git cannot identify version of git executable 오류 노트북에 이미 git이 설치되어있었고 그동안 git사용을 잘 해왔는데 갑자기 아래와 같은 경고문구가 떴다 가끔 이런일이 발생하는 경우가 있었다 # 해결방법 1. 터미널에 which git 명령어를 입력하여 git의 설치경로 확인 2. Android Studio에서 File -> Settings -> Version Control -> Git 에서 Path to Git executable에 설정된 경로가 터미널에서 확인한 경로와 같은지 확인! 경로가 같은경우 -> Test 버튼을 눌러 경로 재설정 후 ok 누르기 경로가 다른경우 -> 폴더 아이콘을 눌러 터미널에서 확인한 경로로 재설정 후 ok누르기 경로가 성공적으로 재설정되었다면 git사용이 잘 될것이다 이전 1 2 3 4 5 6 7 8 ··· 10 다음