일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- tabbar
- scroll
- 테스트
- LifeCycle
- drift
- Compose
- 앱
- appbar
- Coroutines
- CustomScrollView
- textview
- android
- 계측
- Kotlin
- Flutter
- ScrollView
- livedata
- binding
- DART
- TEST
- Button
- data
- 앱바
- Dialog
- viewmodel
- intent
- Navigation
- 안드로이드
- textfield
- activity
- Today
- Total
목록분류 전체보기 (358)
Study Record
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bzwArM/btso6aEGNPv/J7StpnVDnLMOkDhqCfRzP1/img.png)
😶 Android Jetpack Libraries & Android Architecture Components Android Jetpack 라이브러리는 안드로이드 앱을 더 쉽게 만들 수 있게 도와주는 라이브러리 모음이다. 사용 모범 사례와 플레이트 코드 작성을 자유롭게 하여 복잡한 작업을 단순화할 수 있다. Android Architecture Components 는 Android Jetpack Libraries 의 일부로 좋은 아키텍처로 앱을 설계하는데 도움을 준다. 앱 아키텍처란 설계 규칙의 집합으로 앱의 개발 구조를 제공한다. 잘 사용하면 유연하고 확장 가능한 유지보수를 가능하게 만들 수 있다. 😶 ViewModel 개요 ViewModel 은 Architecture Components 중 하나로 앱..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/7BgX0/btso08gPG4e/ZIdvNeLnQvhAOSIJpUrZAK/img.png)
😶 MaterialAlterDialogBuilder private fun showMaterialAlterDialog() { MaterialAlertDialogBuilder(context) .setTitle(resources.getString(R.string.title)) .setMessage(resources.getString(R.string.supporting_text)) .setNeutralButton(resources.getString(R.string.cancel)) { dialog, which -> // Respond to neutral button press } .setNegativeButton(resources.getString(R.string.decline)) { dialog, which -..
Property 선언하기 코틀린 클래스에서 Property는 var, val 키워드를 사용하여 선언할 수 있다. val 키워드가 붙으면 읽기만 가능하며 var 키워드가 붙으면 수정가능하다. class Address { var name: String = "Holmes, Sherlock" var street: String = "Baker" var city: String = "London" var state: String? = null var zip: String = "123456" } Getters and Setter Property 에 Getter와 Setter를 선언할 수 있다. 선택적이기 때문에 반드시 구현할 필요는 없다. 구현하지 않으면 자동으로 Kotlin이 기본 Getter와 Setter를 선언해..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/G30Wn/btsomYekJ4D/XRBDW6KyDwYgRmMXxzTDw0/img.png)
😶 Menu 앱바에서 선택할 수 있는 메뉴를 만들 수 있다. menu 디렉터리 만들기 res/menu 디렉터리가 없다면 res 에서 새로운 Android Resource Directory을 만든다. menu 디렉터리에 새로운 Android Resource file 을 만든다. (ex. menu.xml) 태그로 메뉴를 만들 수 있는데 android:id 는 메뉴 옵션이 가지는 id 로 코드에서 참조할 때 쓰인다. android:title 은 화면에서는 보이지 않지만 타이틀 이름이다. android:icon 은 메뉴 아이콘을 설정한다. android:showAsAction 을 always 로 하면 앱바에서 항상 보여지게 되고 overflow 메뉴로 보여지지 않는다. Activity 에서 메뉴를 클릭했을 때의..
😶 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..