TIL : 2023-08-02

이슬비·2023년 8월 2일
0

TIL

목록 보기
17/88
post-custom-banner

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 ~ 09:30 : 오늘 계획 확인하기 + 팀 회의
      • 오늘 계획 (Task)
        • 팀 회의(아침 + 저녁)
        • TIL 작성하기
        • 앱 개발 입문 : 3주차 강의 듣기
        • 앱 개발 입문 : 4주차 강의 듣기
        • 개인 과제
        • 알고리즘 문제 3개 풀기
    • 09:30 ~ 12:00
      • 앱개발 입문 : 3주차 강의 듣기
  • 집중 코딩
    • 13:00 ~ 18:00
      • 앱개발 입문 : 4주차 강의 듣기
      • 개인과제 : Lv.1
      • 개인과제 : Lv.2
      • 개인과제 : Lv.3
  • 저녁
    • 19:00 ~ 20:00 : 알고리즘 문제 풀기
      • 문제 1 : 배열 뒤집기
      • 문제 2 : 문자열 뒤집기
      • 문제 3 : 휴대폰 번호 가리기
    • 20:00 ~ 21:00 : 마무리 회고 진행
      • TIL 작성하기 : velog
      • 오전 계획 확인 및 TIL 제출 여부 확인, 각자 댓글 달기

요점 정리 :

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

3-1 Android UI - Widget

안드로이드 UI 기본

UI(UserInterface) 설계 개요

  • 뷰(View) 란? 안드로이드 앱의 UI를 구성하는 기본 단위
  • 뷰의 구성 위젯(Widget) View의 서브 클래스. 앱 화면을 구성하는 시각적인 모양을 지닌 UI 요소.
    예) 버튼, 메뉴, 리스트 등 레이아웃(Layout) 다른 뷰(위젯 혹은 레이아웃)를 포함하면서 이들을 정렬하는 기능을 지닌 UI 요소

사용 기능 :

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

// 배열 뒤집
class Solution {
    fun solution(num_list: IntArray): IntArray {
        var answer: IntArray = intArrayOf()
        for(i in 0 until num_list.size){
        answer = answer.plus(num_list[num_list.size-1-i])
    }
        return answer
    }
}
// 다른 사람의 풀이
class Solution {
    fun solution(numList: IntArray) = numList.reversedArray()
}

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

// 문자열 뒤집기
class Solution {
    fun solution(my_string: String): String {
        var answer: String = ""
        for(i in 0 until my_string.length){
        answer += my_string[my_string.length-1-i]
    }
        return answer
    }
}
// 다른 사람의 코드
class Solution {
    fun solution(my_string: String): String {
        var answer: String = ""
        my_string.toCharArray().forEach { i-> answer = i + answer}
        return answer
    }
}

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

// 휴대폰 번호 가리기
class Solution {
    fun solution(phone_number: String): String {
        var answer = ""
        for (i in 0 until phone_number.length-4){
        answer += "*"
    }
    answer += phone_number.substring(phone_number.length-4)
        return answer
    }
}
// 다른 사람의 풀이
class Solution {
    fun solution(phone_number: String): String {
        return "${"".padStart(phone_number.length - 4, '*')}${phone_number.takeLast(4)}"
    }
}

팀(or 개인) 프로젝트 :

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

앱개발 입문 강의 정리하기
개인과제 : 선택과제 하기

profile
개발꿈나무
post-custom-banner

1개의 댓글

comment-user-thumbnail
2023년 8월 2일

잘 봤습니다. 좋은 글 감사합니다.

답글 달기