일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Dialog
- TEST
- Button
- appbar
- DART
- LifeCycle
- tabbar
- data
- Compose
- 앱바
- ScrollView
- intent
- android
- Kotlin
- activity
- binding
- 계측
- 테스트
- livedata
- CustomScrollView
- textview
- drift
- viewmodel
- scroll
- 안드로이드
- Navigation
- 앱
- Flutter
- Coroutines
- textfield
- Today
- Total
목록전체 글 (346)
Study Record
😶 Activity 시작하기 Android 에서 새로운 Activity 를 시작하려면 startActivity 함수를 사용한다. 이 함수에는 Intent 를 매개 변수로 받는데 Intent 에는 새로 시작할 Activity 에 대한 정보와 따로 전달할 데이터를 포함한다. val intent = Intent(context, DetailActivity::class.java).apply { putExtra("INTENT_DATA_STR", "test value"), putExtra("INTENT_DATA_INT", 4) } context.startActivity(intent) 😶 Activity 에서 데이터 받기 Activity 를 시작할 때 intent 의 putExtra 함수로 데이터를 전달했다. 이 데이..
😶 Object 새 하위 클래스를 명시적으로 선언하지 않고 일부 클래스를 약간 수정한 객체를 만들어야 할 때가 있다. Kotlin 은 Object 선언과 Object expression 으로 이를 처리한다. 😶 Object expression Object expression 은 클래스 선언으로 명시적으로 선언되지 않은 익명 클래스의 개체를 만든다. 이러한 클래스는 일회용으로 객체 선언과 동시에 정의되거나 기존 클래스에서 상속하거나 인터페이스를 구현할 수 있다. 이렇게 정의된 인스턴스는 클래스 이름을 가지지 않으므로 익명 객체라고도 불린다. 1. 익명 객체 만들기 val helloWorld = object { val hello = "Hello" val world = "world" fun getString(..
😶 람다식 peopleAges.forEach { print("${it.key} is ${it.value}") } 매개 변수가 있는 함수 이름뒤에 괄호가 오는 대신 {} 중괄호 안에 일부 코드가 표시되는 것을 람다식이라고 부른다. 중괄호 안에 함수를 작성했지만 함수 이름이 없는 것과 같다. 😶 함수 유형 Kotlin 에는 입력 매개 변수 및 반환 값을 기반으로 특정 유형의 함수를 정의할 수 있는 함수 유형이 있다. val triple: (Int) -> Int = { a: Int -> a * 7 } // 42 println(triple(6)) 예시의 triple 은 Int 형식의 매개 변수를 가지며 Int 형식의 값을 리턴해야 한다. triple(6) 이렇게 선언하면 6 이라는 Int 매개 변수를 가지며 리..
😶 RecyclerView 테스트 import androidx.test.espresso.Espresso.onView import androidx.test.espresso.assertion.ViewAssertions.matches import androidx.test.espresso.contrib.RecyclerViewActions import androidx.test.espresso.matcher.ViewMatchers.isDisplayed import androidx.test.espresso.matcher.ViewMatchers.withId import androidx.test.espresso.matcher.ViewMatchers.withText onView(withId(R.id.recycler_vie..
😶 단위 테스트 단위 테스트는 작은 코드 조각을 직접 테스트하여 기능이 제대로 작동하는지 확인하는 것이 단위 테스트이다. 함수, 클래스, 속성을 데스트할 수 있고 자바 가상 머신에서 실행되므로 기기나 애뮬레이터가 필요하지 않은 개발 환경에서 실행된다. 테스트에 필요한 앱의 코드만 호출하고 코드 호출의 결과로 생긴 코드의 값이나 상태를 테스트한다. UI 테스트는 사용자 인터페이스의 예상 상태만 테스트한다. 😶 단위 테스트 디렉터리 만들기 단위 테스트는 위 그림과 같이 (test) 디렉터리에서 진행한다. 만약 이 디렉터리가 존재하지 않는다면 다음과 같은 과정으로 새로 생성할 수 있다. 먼저, 프로젝트 단위를 Android 에서 Project 로 변경한 뒤 app/src 경로에 새로운 디렉터리를 만든다. 새로..
😶 리소스 관련 어노테이션 data class Test( @StringRes val stringResourceId: Int, @DrawableRes val imageResourceId: Int, @LayoutRes val resourceId: Int, )
😶 RecyclerView 개요 스마트폰에서 자주 사용하는 앱은 거의 목록이 하나 이상 있다. 목록은 단순한 단어나 구문 목록부터 텍스트와 이미지가 포함된 카드와 같은 더 복잡한 항목을 포함한다. 이렇게 어떤 콘텐츠든 상관없이 데이터 목록을 표시하는 것이 Android 에서 가장 일반적인 UI 작업이다. Android 는 목록이 있는 앱을 빌드할 수 있도록 RecyclerView 를 제공한다. RecyclerView 는 화면에서 목록 항목이 스크롤되면 다음 표시할 목록 항목에 이전 뷰를 재사용하기 때문에 처리 시간을 단축하고 목록이 더 원활하게 스크롤되도록 도와준다. 목록 예시) 😶 RecyclerView 동작 원리 RecyclerView 에서는 공통된 유형의 데이터 항목을 목록으로 표현한다. item ..
😶 vararg 키워드 varage 키워드를 사용하면 동일한 유형의 가변적인 인수 수를 함수나 생성자에 전달할 수 있다. fun main() { hello("love", "like", "code", "happy") } fun hello(vararg a: String) { print(a[2]) } 위의 예시 코드와 같이 함수의 매개변수로 vararg 키워드를 사용하면 hello 함수의 인자들의 값이 a 의 목록 요소들로 자동으로 들어간다. 다음은 클래스를 정의할 때 vararg 키워드를 사용하는 예시이다. class Vegetables(vararg val toppings: String) { override fun toString(): String { return toppings.joinToString() ..