TIL : 2023-08-01

이슬비·2023년 8월 1일
0

TIL

목록 보기
16/88

TIL : 스파르타코딩 Android 과정 7기

주의점

  • 매일 : TIL : today I learned 작성하기
  • github에 이슈 추가, 관리
  • github에 push 하기
  • 주석 잘 적어 넣기

학습 목표 :

  • Android 앱개발을 위한 개발도구인 Android Studio 활용을 통해 프로젝트 생성하고 실습을 통해 숙달합니다.
  • Kotlin 문법을 활용해 Android 앱개발에 적용할 수 있습니다.
  • 안드로이드 UI기본 개념 및 설계 방법을 이해할 수 있습니다.
  • 안드로이드 UI기본 요소인 다양한 위젯(Widget)의 설정 방법을 이해하고 활용할 수 있습니다.
  • 안드로이드 UI요소를 배치하는 레이아웃(Layout)의 기능 및 설정 방법을 이해할 수 있씁니다.
  • Margins/Padding/Gravity의 설정 방법을 이해하여, UI의 미세한 설정을 제어할 수 있습니다.
  • 실습 및 개인 과제 학습을 통해 배운 개념 및 UI요소를 적용해볼 수 있습니다.

오늘 계획 :

  • 오전
    • 09:00 ~ 10:00 : 오늘 계획
      • 오늘 계획 (Task)
        • 팀원들과 어려운 내용 공유 및 해결책 찾기
        • TIL 작성하기
        • 앱 개발 입문 : 2주차 강의 듣기
        • 앱 개발 입문 : 3주차 강의 듣기
        • 개인 과제 : Lv.1
        • 알고리즘 문제 3개 풀기
    • 10:00 ~ 12:00 : 앱 개발 입문 : 2주차 강의 듣기
      • 2-1 Android Studio 프로젝트 구조
  • 집중 코딩
    • 13:00 ~ 15:00
      • 2-2 Android Studio 프로젝트 실습
      • 2주차 정리
    • 15:00 ~ 18:00 : 앱 개발 입문 : 2주차 강의 듣기
      • 3-1 Android UI - Widget
      • 3-2 Android UI - Layout
      • 3-3 Android UI 실습
  • 저녁
    • 19:00 ~ 20:00 알고리즘 문제 풀기
      • 문제 1 : 없는 숫자 더하기
      • 문제 2 : 로그인 성공?
      • 문제 3 : 머쓱이보다 키 큰 사람
    • 20:00 ~ 21:00 : 마무리 회고 진행
      • TIL 작성하기 : velog

요점 정리 :

안드로이드 앱개발 입문 2주차 강의

매니페스트(Manifest) 파일이란?
앱의 기본 특징을 설명하고, 앱의 구성요소인 컴포넌트를 정의한 XML파일

리소스 파일이란?
애플로리케이션 리소스를 코틀린 코드에서 분리하여 독립적으로 유지/관리 할 수 있도록 함으로써, 다양한 환경변화를 코드의 변경 없이 수용 할 수 있음.

사용 기능 :

https://school.programmers.co.kr/learn/courses/30/lessons/86051

// 없는 숫자 더하기
class Solution {
    fun solution(numbers: IntArray): Int {
        var answer: Int = -1
        var sum = 45
         for(i in numbers){
           sum -= i
         }
         answer = sum
        return answer
    }
}
// 다른 사람의 풀이
class Solution {
    fun solution(numbers: IntArray): Int = (0..9).filterNot(numbers::contains).sum()
}
// 다른 사람의 풀이 
class Solution {
    fun solution(numbers: IntArray): Int  = 45 - numbers.sum()
}

https://school.programmers.co.kr/learn/courses/30/lessons/120883

// 로그인 성공?
class Solution {
    fun solution(id_pw: Array<String>, db: Array<Array<String>>): String {
        var answer: String = ""
        var idCheck = false
    var pwCheck = false
    for(i in db) {
        if (id_pw[0] == i[0]) {
            idCheck = true
            pwCheck = id_pw[1] == i[1]
        }

    }
    answer = if (idCheck&&pwCheck){
        "login"
    }else if(idCheck){
        "wrong pw"
    }else{
        "fail"
    }
        return answer
    }
}
// 다른 사람의 풀이
class Solution {
    fun solution(idPw: Array<String>, db: Array<Array<String>>) = db.associate { (k, v) -> k to v }[idPw[0]]?.run { if (equals(idPw[1])) "login" else "wrong pw" } ?: "fail"
}

https://school.programmers.co.kr/learn/courses/30/lessons/120585

class Solution {
    fun solution(array: IntArray, height: Int): Int {
        var answer: Int = 0
        for(i in array){
        if(i > height){
            answer++
        }
    }
        return answer
    }
}
// 다른 사람의 코드
class Solution {
    fun solution(array: IntArray, height: Int) = array.filter { it > height }.size
}

팀(or 개인) 프로젝트 :

  • 안드로이드 앱 입문 : 개인과제 : 자기소개 앱 만들기
    • Lv.1 로그인 페이지 만들기
    • Lv.2 회원가입 페이지 마들기
    • Lv.3 자기소개 페이지 만들기

아쉬운 점 or 앞으로의 계획:

3, 4주차 강의 듣고 정리하기
개인 과제 시작하기

profile
개발꿈나무

0개의 댓글