일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Navigation
- textfield
- CustomScrollView
- 앱바
- drift
- 안드로이드
- Dialog
- viewmodel
- 테스트
- DART
- Kotlin
- textview
- LifeCycle
- activity
- Coroutines
- scroll
- data
- Flutter
- 계측
- Compose
- ScrollView
- Button
- intent
- livedata
- tabbar
- android
- 앱
- appbar
- binding
- TEST
- Today
- Total
목록전체 글 (346)
Study Record
😶 기본 선언 + ViewModel MutableLiveData 는 Mutable 이 붙어있으므로 변경가능하다. LiveData 로 선언된 변수는 값을 직접 변경할 수 없다. class OrderViewModel : ViewModel(){ private val _quantity = MutableLiveData() val quantity: LiveData get() = _quantity } 😶 Transformations.map() LiveData 에 Transformations 메서드를 사용하면 LiveData 의 값을 다른 값으로 변경할 수 있다. private val _price = MutableLiveData() val price: LiveData = Transformations.map(_price..
😶 text 로 데이터 접근하기 @={} 기호 사이에 변수를 명시한다. ... ... 😶 strings.xml 파일에서 문자열에 접근하여 사용할 경우 Total %d 문자열 데이터에 %d 와 같이 값을 넣어줘야 하는 경우 @string/test_string 과 같이 데이터를 불러오는 형식에 @{} 로 감싸고 값을 넣어주는 부분은 @string/test_string 뒤에 괄호로 데이터 값을 명시한다. ... ... 😶 자동 true/false 값 업데이트 예를 들어, 사용자가 선택해야할 옵션들이 있다면 android:checked 속성을 사용할 수 있다. viewModel 의 flavor 변수의 값에 따라 equals() 함수로 같은 옵션이 있으면 체크하고 아니면 체크하지 않는다. // ... // .....
😶 Activity 에서 Fragment 사이의 공통 ViewModel 사용 Fragment 에서 ViewModel 을 선언할 때 activityViewModels() 라는 delegate class 를 사용하여 선언하면 같은 Activity 에서 사용되는 Fragment 들 사이의 공통된 ViewModel 을 참조할 수 있다. import androidx.fragment.app.activityViewModels class StartFragment : Fragment() { private val sharedViewModel: OrderViewModel by activityViewModels() ... } 원래의 ViewModel 선언 import androidx.fragment.app.viewModels..
😶 탐색하는 fragment 에 따라 app bar title 변경하기 activity 하나에 여러 fragment 를 탐색할 때 app bar 의 title 을 자동으로 변경할 수 있는 함수를 제공한다. (Activity) 바로 setupActionBarWithNavController() 함수이다. class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val navFragment = supportFragmentManager .findFragmentById(..
😶 Android Jetpack Libraries & Android Architecture Components Android Jetpack 라이브러리는 안드로이드 앱을 더 쉽게 만들 수 있게 도와주는 라이브러리 모음이다. 사용 모범 사례와 플레이트 코드 작성을 자유롭게 하여 복잡한 작업을 단순화할 수 있다. Android Architecture Components 는 Android Jetpack Libraries 의 일부로 좋은 아키텍처로 앱을 설계하는데 도움을 준다. 앱 아키텍처란 설계 규칙의 집합으로 앱의 개발 구조를 제공한다. 잘 사용하면 유연하고 확장 가능한 유지보수를 가능하게 만들 수 있다. 😶 ViewModel 개요 ViewModel 은 Architecture Components 중 하나로 앱..
😶 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를 선언해..
😶 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 에서 메뉴를 클릭했을 때의..