1은 인터넷으로 아직 정리하지 않음.
본 페이지는 개인 공부 정리용, 단어 검색용
깡샘의 안드로이드 앱 프로그래밍 with 코틀린 책을 보고 공부하는 것임
lamda 함수 : {매개 변수 -> 함수 본문}
=> 반환값 : 함수의 마지막 줄의 계산 결과
typealias : 타입의 별칭을 선언하는 키워드
고차함수 : 함수를 매개변수로 전달 받거나 반환하는 함수
데이터가 아닌 함수를 반환값으로 사용
fun hotFun(arg: (Int) -> Boolean) : () -> String{
val result = if(arg(10)){
"valid"
}else{
"invalid"
}
return {"hfFun result : $result"}
}
fun main(){
val result = hotFun({no -> no > 0})
println(result())
}
결과 : hfFun result : valid
널 안전성
널 : 객체가 선언되었지만 초기화되지 않은 상태 (객체가 주소를 가지지 못한 상태)
널 안전성 : 널 포인트 예외가 발생하지 않도록 코드를 작성하는 것
null 허용 : ? 사용
널 안전성 호출 (?.) : ?. 연산자는 변수가 null이면 멤버에 접근하지 않고 null 반환
fun main(){
var data: String?= null
println("data length : ${data?.length ?: 0}")
}
//실행결과 | data length : 0
엘비스 (?:) : 변수가 null이면 null 반환 / null일때 대입해야 하는 값이나 실행해야하는 구문이 있을 경우 사용
예외 발생(!!) : 객체가 널일 때 예외를 일으키는 연산자
앱의 기본 기능 구현하기
- Chronometer 뷰 : 시간을 측정할 수 있는 뷰
- values 디렉터리 : 색상, 크기, 스타일 리소스 저장가능
- dimen 태그 : 크기 리소스 저장
- style 리소스 : 뷰에 설정되는 여려 속성을 스타일에 등록하여 한꺼번에 적용하거나 여러 뷰에 중복되는 속성을 스타일로 정의해 사용하는 용도로 사용
- 안드로이드에서 권장하는 단위 : dp, sp
dp : 스크린의 물리적 밀도에 기반을 둔 단위
sp : dp와 유사하며 글꼴 크기에 적용
제트팩 라이브러리
- 제트팩 : 안드로이드 앱을 개발하는데 필요한 다양한 라이브러리 모음 (androidx)
https://developer.android.com/jetpack
- androidx 라이브러리
ex)
appcompat : 앱의 API 레벨 호환성을 해결
recyclerview : 목록 화면을 구성함.
viewpager2 : 스와이프로 넘기는 화면을 구성
fragment : 액티비티처럼 동작하는 뷰를 제공(탭과 뷰 페이저 등에서 사용)
drawerlayout : 옆에서 서랍처럼 열리는 화면 구성
...
- 프래그먼트 생명주기
- recyclerview
-> 레이아웃 매니저 : LinearLayoutManager / GridLayoutManager / StaggeredGridLayoutManager
머티리얼 라이브러리
머티리얼 디자인 : 모바일과 데스크톱, 그리고 그 밖에 다양한 장치를 아우르는 일관된 애플리케이션 디자인 지침
머티리얼 라이브러리 : 머티리얼 디자인 지침에 맞게 앱 개발을 하기 위해 제공하는 라이브러리
- 앱바 레이아웃 : 화면 위쪽의 꾸밀 수 있는 영역
- 코디네이터 레이아웃 : 뷰끼리 상호 작용해야 할 때 사용
- 컬랩싱 툴바 레이아웃 : 앱바 레이아웃 하위에 선언하여 앱바가 접힐 때 다양한 설정을 할 수 있는 뷰
- 탭 레이아웃 / 내비게이션 뷰 / 확장된 플로팅 액션 버튼(ExtendedFloatingActionButton)
'전공공부 > 모바일 프로그래밍' 카테고리의 다른 글
책 "아키텍처를 알아야 앱 개발이 보인다" #1 (0) | 2022.04.06 |
---|---|
kotlin 공부 #3 (0) | 2022.03.23 |
looper (0) | 2021.08.31 |
23일차 (0) | 2021.07.28 |
국가근로 18일차 (0) | 2021.07.21 |