분류 전체보기 59

[Android] TIL 35일차

프래그먼트(Fragment)* 프래그먼트란?프래그먼트는 한 개의 액티비티 화면 안에서 특정 영역만 교체하는 것(액티비티와 분리되어 독립적으로 동작 불가능)여러 개의 프래그먼트를 하나의 액티비티에 조합할 수 있고, 하나의 프래그먼트를 여러 액티비에서 재사용할 수도 있음* 액티비티와 프래그먼트 비교Activity : 시스템의 액티비티 매니저에서 인텐트(intent)를 해석해 액티비티 간 데이터 전달Fragement : 액티비티의 프래그먼트 매니저에서 메소드(method)로 프래그먼트간 데이터 전달 * 프래그먼트 사용 이유Activity로 화면을 계속 넘기는 것보다 Fragement로 일부만 바꾸는 게 자원 이용량이 적어 속도가 빠르기 때문복잡도 감소재사용할 수 있는 레이아웃을 분리해서 관리 가능 등* 프래그..

[Android] TIL 34일차

★ 리사이클러 뷰(RecyclerView)* 리사이클러 뷰란?- 리스트 형태의 데이터를 표시하는데 사용되는 위젯- View를 재활용해서 사용 * 리스트 뷰와 리사이클러 뷰의 차이 ListView사용자가 스크롤 할 때마다 위에 있던 아이템 삭제, 맨 아래의 아이템은 생성되는 걸 반복아이템이 100개면 100개 전부 삭제 및 생성되고 반복하여 성능에 좋지 않음RecylcerView사용자가 스크롤 할 때, 위에 있던 아이템이 재활용돼서 아래로 이동한 후 재사용 함아이템이 100개면 10개정도의 View만 만들고 이 10개를 재활용해서 사용결론적으로 ListView의 단점을 보완한 것 Recycler View 사용하기Adapter데이터 테이블을 목록 형태로 보여주기 위해 사용되는 것데이터를 다양한 형식의 리스트..

[Android] TIL 33일차

28. 엄마의 건강검진 결과, 대사증후군 레벨은 어디에 해당될까요? * 조건1. (성별 : 여성, 허리둘레 : 80, 수축기혈압 : 142, 이완기혈압 : 83, 혈당 : 110, 중성지방 : 140 , 고밀도지단백콜레스테롤 : 52)2. 대사증후군 레벨 : 위험인자 3개 이상이면 대사증후군, 1~2개 주의군, 미해당 정상군입니다. 위험인자는 5가지 입니다. 3. 허리둘레 : 남성 90이상,여성 85이상, 혈압 : 수축기혈압 130이상, 이완기혈압 90이상4. 혈당 : 공복혈당 100이상, 중성지방 : 150이상,고밀도 지단백 콜레스테롤 : 남성 40미만, 여성 50미만* 혈압은 둘 중 하나만 수치 이상이어도 체크함 fun main(){ print("성별 : ") val gender = rea..

[Android] TIL 32일차 - 2

뷰 바인딩(View Binding)- 뷰 바인딩은 findViewById 기능을 대체- 뷰 바인딩을 사용하기 위해선 시작 전에 셋팅을 미리 해둬야 함 * View Binding과 findViewById 차이- NullSafe : 파인드뷰와 달리 참조되는 걸 자동으로 가져옴, 직접 ID를 치지 않아서 널 포인터 예외 발생 위험이 없음- Type Safety : 타입도 선언하지 않아도 되어서 예외 발생 위험이 없음 * gradle(module : app) 셋팅 (android 내부에 작성)buildFeatures{ viewBinding = true } * 뷰 바인딩을 사용하는 Activity 셋팅class MainActivity : AppCompatActivity() { //1번 p..

[Android] TIL 32일차

22. 369 369! 끝내고 싶은 숫자를 입력하고 조건문과 반복문을 사용하여 숫자 3,6,9가 들어간 수가 출력될 때마다 "짝"을 출력하게 해보세요!! 10 → 1,2,3짝, 4, 5, 6짝fun main(){ print("369 마무리하고 싶은 숫자를 입력하세요 : ") val num = readln().toInt() for(i in 1..num){ if(i%3==0) println("${i}짝") else println("${i}") }} 23. 다양한 트랩을 피해 골인해보거라! 1부터 6까지의 주사위를 굴려 3의 배수가 나오면 시작 지점으로 돌아가고 5가 나오면 10칸 전진, 2가 나오면 두 칸 후진하고 그렇지 ..

회고록

팀 프로젝트 마무리 회고록KPT KeepLive coding : 실시간으로 진척도를 확인하여 진행속도를 맞출 수 있고 팀내 어려움에 신속히 대응 할 수 있기 때문나무보단 숲 : 개별적으로 제작하고 합치는게 아니라 경계를 유연하게 두고 서로의 업무를 보완하여 전체적인 조화와 양질의 완성을 이루어낼 수 있기 때문스크럼 : 지식 수준의 차이를 극복할 수 있도록 화면공유로 이해하기 쉽게 설명해주고 다양한 시각에서 문제를 바라보고 혜안을 나눌 수 있기 때문 Problem로그인 필요성에 대한 의문마이페이지에 히스토리를 추가해 계정의 개성을 살려 보완했다.메뉴만 나열돼 메뉴 추천의 목적성 상실오늘의 추천 메뉴를 최상단에 제안하여 목적에 부합하도록 변경했다. Try라이브 코딩을 지속적으로 할 예정Pull Request..

[Android] TIL 31일차

반복문과 조건문 타파하기 1. 1~100의 숫자중 2의 배수이면서 3의배수(and조건)인 숫자 출력해주세요fun main(){ for(i in 1..100){ if(i%2==0 && i%3==0) println(i) }}  2. 1~100까지 정수 중 홀수의 합을 출력해 주세요. [입력: X, 출력: 2500]fun main(){ var answer = 0 for(i in 1..100){ if(i%2!=0) answer += i } print("1부터 100까지 홀수의 합 : ${answer}")}  3. 4. 1에서 9까지 한 자리 자연수 입력 시 그 수만큼 반복된 문자열 출력 (입력: 3 -> 출력: 33..

[Android] TIL 30일차

팀 프로젝트 : 음식 소개 앱 만들기 1. TextInputLayout과 TextInputEditText 활용 -> 원래는 EditText를 사용하였으나 좀 더 유연하게 사용하고 보기 편하게 하기 위해서 TextInputLayout와 TextInputText를 활용하였음-> android : hint를 이용하여 어떤 문자를 입력해야 하는지 사용자에게 힌트를 제공-> android : inputType을 이용하여 입력 형식에 일부 제한을 둠(닉네임&아이디 -> text, 비밀번호 -> textPassword)   2. 유효성 검사(정규표현식 사용)btnSignUp.setOnClickListener { val namePattern = "^([a-zA-Z]*)$" ..

[Android] TIL 29일차

Git 특강 정리 1. 브랜치(코드의 복사본으로 이해) 활용하기브랜치 생성 명령어 : git branch 브랜치이름브랜치 확인 명령어 : git branch (확인 후 키보드 q를 통해 빠져나옴)브랜치 이동 명령어 : git switch 브랜치이름 또는 git checkout 브랜치이름브랜치 한 번에 생성 & 이동 : git switch -c 브랜치이름 또는 git checkout -b 브랜치이름코드 짠 브랜치를 main에 합치는 이유? 협업이라 최종 브랜치(결과물)를 올려야 하기 때문브랜치 합치는 명령어 : git switch 최종브랜치이름 이후에 git merge 합칠브랜치이름 입력2. Pull Request 활용하기merge 이용보단 github에서 합침 -> Pull request 이용Pull(당..

[Android] TIL 28일차

과제 : 조건문과 반복문 문제 작성 1. 사용자로부터 하나의 정수를 입력받고 해당 숫자의 모든 약수를 배열 형태로 나타내시오fun main() { print("숫자를 입력하세요 : ") val number = readLine()!!.toInt() var answer = arrayListOf() for(num1 in 1..number) { if (number%num1 ==0){ answer.add(num1) } } print(answer)}  2. 사용자로부터 숫자를 입력받고 해당 숫자가 3의 배수인지 5의 배수인지 둘 다 아닌지 판별하는 코드를 작성하시오(0 입력 시 다른 숫자를 입력하라는 문구가 나오도록 출력)fun main(..