개발 노트 (142) 썸네일형 리스트형 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()를 사용한다!! 내가 지금 구현하고자하는 것은 첫번째 페이지에서 이름,아이디,비밀번호값을 입력하고 회원가입버튼을 누르면 두번째화면으로 이동하면서 첫번째화면에서 입력했던 아이디,비밀번호값이 해당화면에 반영이 되고 두번째화면에서 회원가입버튼을 누르면 다시 첫번째화면으로 돌아가도록 하는것이다 여기에서도 볼때 회원가입화면에서 로그인화면으로 돌아갈때마다 매번 로그인화면이 생성이 되므로 엑티비티 스택에 계속 엑티.. 프로그래머스 알고리즘 문제[하샤드 수] # 문제 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요. # 제한 조건 x는 1 이상, 10000 이하인 정수입니다. #입출력 예 ex) 10의 모든 자릿수의 합은 1입니다. 10은 1로 나누어 떨어지므로 10은 하샤드 수입니다. ex) 12의 모든 자릿수의 합은 3입니다. 12는 3으로 나누어 떨어지므로 12는 하샤드 수입니다. ex) 11의 모든 자릿수의 합은 2입니다. 11은 2로 나누어 떨어지지 않으므로 11는 하샤드 수가 아닙니다 ex) 13의 모든 자릿수의 합은 4입니.. 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로 아이디를 넘겨줍니다.) 아이디/비밀번호 모두 입력 되어야만 로그인 버튼이 눌리도록 구현합니다. (“로그인 성공”이라는 토스트 메세지 출력하도록 구현) 아이디/비밀번호 중 하나라도 비어 있다면 “아이디/비밀번호를 확인해주세요” 라는 토스트 메세지가 출력되도록 구현합니다. 회원가입 버튼을 .. 프로그래머스 알고리즘 문제[정수 내림차순으로 배치하기] 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. # 제한 조건 n은 1이상 8000000000 이하인 자연수입니다. #입출력 예 ex) n = 118372, return = 873211 # 풀이 class Solution { fun solution(n: Long): Long = n.toString().toCharArray().sortedDescending().joinToString("").toLong() } n = 118372 라고 했을때 얘를 toString()을 사용해서 문자열로 바꿔준뒤, toCharArray()를 사용해서 문자열을 한글자씩 분리해준다 (.. 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사용이 잘 될것이다 프로그래머스 알고리즘 문제[정수 제곱근 판별] 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요. #제한사항 n은 1이상, 50000000000000 이하인 양의 정수입니다. #입출력 예 ex) 121은 양의 정수 11의 제곱이므로, (11+1)를 제곱한 144를 리턴합니다. ex) 3은 양의 정수의 제곱이 아니므로, -1을 리턴합니다. # 풀이 import kotlin.math.* class Solution { fun solution(n: Long): Long { val x = sqrt(n.toDouble()).toLong() return if(n == x*x) (x+1)*(x+.. 이전 1 ··· 4 5 6 7 8 9 10 ··· 15 다음