일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- scroll
- tabbar
- 안드로이드
- 앱
- Compose
- data
- TEST
- Button
- Coroutines
- CustomScrollView
- intent
- binding
- textfield
- viewmodel
- textview
- 계측
- DART
- ScrollView
- 테스트
- android
- Flutter
- Kotlin
- activity
- Navigation
- appbar
- livedata
- drift
- LifeCycle
- Dialog
- 앱바
- Today
- Total
목록안드로이드 (110)
Study Record
😶 아이콘 아이콘은 의도한 기능을 시작적으로 전달하여 사용자가 화면 인터페이스를 이해하는데 도움을 주는 기호이다. 안드로이드에서 아이콘의 경우 다양한 화면 밀도에 맞는 여러 버전의 비트맵 이미지를 제공하는 대신 벡터 드로어블을 사용하는 것이 좋다. 벡터 드로어블은 이미지를 만드는 방법에 대한 지침을 저장하는 xml 파일로 시작적 품질 손실이나 파일 크기가 증가 업싱 확장하거나 축소할 수 있다. 😶 Material Design 아이콘 사용하기 Material Design 은 아이콘을 카테고리별로 제공해주는데 다음 사이트에서 확인할 수 있다. Material Symbols and Icons - Google Fonts Material Symbols are our newest icons consolidating..
😶 Null safety Kotlin 에는 많은 프로그래밍 언어에서 발생하는 NullPointerException 줄여서 NPE 가 발생하는 것을 방지하기 위한 기술이 포함되어 있다. Kotlin 에는 null 을 포함하냐 포함하지 않냐에 따라 변수의 데이터 타입을 정할 수 있다. null 을 포함하는 변수를 만들면 말 그대로 null 을 포함할 수 있고 null 을 포함하지 않은 변수를 만들면 절대로 null 이 될 수 없다. 선언하는 방식은 "?" 기호를 데이터 타입에 붙이면 null 을 포함하게 되고 "?" 기호를 붙이지 않으면 null 을 포함하지 않은 변수를 뜻한다. var a : String? = null var b : Int = 5 😶 null 일 경우 실행하지 않음(?.) 클래스의 멤버 변..
😶 RadioGroup 과 RadioButton RadioButton 은 여러개의 옵션을 선택할 때 사용한다. RadioGroup 내부의 RadioButton 을 여러개 배치해서 RadioButton 들 중 하나의 RadioButton 만을 선택할 수 있다. 의 android:checked 속성을 true 로 하거나 의 android:checkedButton 속성의 id 값을 입력하면 라디오 그룹 내에서 해당 라디오가 선택된다. 라디오 이벤트 라디오 버튼이 클릭될 때마다 setOnCheckedChangeListener 이벤트로 클릭된 라디오 id 값(checkId)을 받을 수 있다. binding.radioGroup.setOnCheckedChangeListener { group, checkedId -> ..
😶 클래스 선언 클래스는 class 키워드와 클래스 이름, 클래스 헤더(파라미터, 생성자 등을 포함), 클래스 바디({} 안에 들어가는 내용) 로 이루어져 있다. 헤더와 바디는 선택적 옵션으로 없어도 무방하다. class Person { /* class body */ } 😶 생성자(Constructors) Kotlin 에서 생성자는 Primary 생성자와 하나 이상의 Secondary 생성자들을 가질 수 있다. Primary 생성자는 클래스 헤더에 속하며 클래스 이름 앞, 타입 파라미터 옵션 앞에 붙는다. Primary 생성자의 constructor 키워드는 생략 가능하다. // primary 생성자 class Person constructor(firstName: String) {} // 키워드 생략 가..
😶 개요 Android 프로젝트에서 문자열을 따로 직접 곳곳에 사용하는 것보다 한 파일에 앱에서 사용하는 문자열을 따로 정리하고 코드에는 문자열이 저장된 파일을 참고하는 방식이 관리하기 좋다. 😶 사용법 문자열 리소스 저장하기 res/values/strings.xml 파일에 문자열 리소스를 저장한다. Lemonade pick a lemonade! Happy Birthday! 문자열 리소스마다 name 으로 이름을 붙이고 태그 사이에 내용을 적는다. 코드에서는 name 을 이용하여 원하는 문자열 리소스를 불러올 수 있다. 코드에서 문자열 리소스 불러오기 다음 두가지 방식 모두 사용 가능 하다. getResources().getString(R.string.happy_birthday) getString(R.s..
😶 개요 앱 비정상 종료, 기능 동작 안함 등과 같이 개발자가 의도하지 않은 동작을 발생시키는 소프트웨어 오류를 버그라고 한다. 개발자가 코드를 작성하는 과정에서 버그가 있기 마련이다. 따라서, 이 버그를 식별하고 수정하는 것이 Android 개발자에게 중요한 기술 중 하나이다. 버그를 수정하는 프로세스를 디버깅이라고 하며 Android 스튜디오에는 여러가지 디버깅 도구가 있다. 😶 Log Class Android 앱에서 출력 로깅 권장사항은 Log 클래스를 사용하는 것이다. Log.v(), Log.d(), Log.i(), Log.w(), Log.e() 등 여러가지 출력 로깅 함수를 사용할 수 있고 이 함수들은 태그와 로그 메시지, 이렇게 2가지 매재변수가 필요하다. val TAG = "DEBUG_ERR..
😶 if 문을 사용한 조건 설정 val num = 5 if (num > 5) { println("${num}은 5보다 큽니다.") } else if(num println("숫자는 1입니다.") 2 -> println("숫자는 2입니다.") 3 -> println("숫자는 3입니다.") 4 -> println("숫자는 4입니다.") 5 -> println("숫자는 5입니다.") else -> println("숫자는 1~5가 아닙니다.") }
😶 Android Test Android 에서는 앱 프로젝트를 만들고 직접 설치하여 수동으로 테스트할 수 있지만 자동화된 테스트를 할 수 있다. 자동화된 테스트는 개발자가 작성한 특정 코드가 적절하게 작동하는지 확인하고 프로젝트가 계속 성장하고 변화해도 올바르게 작동하는지 확인하는 코드이다. Android 앱 프로젝트를 처음 만들면 src 디렉터리에 test 및 androidTest 디렉터리를 볼 수 있다. Android 개발은 단위 테스트와 계측 테스트라는 두 가지 유형의 자동화된 테스트가 있는데, test 디렉터리에 있으면 일반적으로 단위 테스트이고 androidTest 디렉터리에 있으면 계측 테스트이다. 테스트에는 로직이 포함되면 안된다. 로직을 테스트만 해야한다. 따라서 테스트에는 조건문이나 fo..