일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- firebasefunctions
- ROOM
- lifecyclescope
- ButtonWithButton
- Kotlin
- MaterialButton
- 밑줄
- 안드로이드
- 안드로이드스튜디오
- ArrayList
- BottomSheetDialog
- 코틀린
- androidstudio
- 뷰바인딩
- button
- RealtimeDB
- 팝업액티비티
- Imageview
- 랜덤ID
- Dialog
- nav_graph
- ViewModel
- Activity
- 안드로이드 스튜디오
- Android
- EditText
- textview
- firebase
- FRAGMENT
- OutlinedButton
- Today
- Total
목록코틀린(Kotlin)공부 (8)
안드로이드 앱 개발
버튼을 눌렀을 때, Material Date Picker가 나오게 하자 val datePicker : MaterialDatePicker.Builder = MaterialDatePicker.Builder.datePicker() datePicker.setTitleText("날짜 선택") val picker : MaterialDatePicker = datePicker.build() picker.show(supportFragmentManager, picker.toString()) picker.addOnPositiveButtonClickListener { mShowLongToast(picker.headerText) } output Date format을 바꾸는 것은 좀 더 검색해봐야 할 듯 임시방편으로 아래처럼 ..
kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/group-by.html
첫 번째 방법. 람다식 사용 //all check box binding.checkAll.setOnCheckedChangeListener { buttonView, isChecked -> when (isChecked){ true -> mShowShortToast("전체 체크됨") false -> mShowShortToast("전체 체크 해제됨") } } 두 번째 방법. inner class로 리스너 만들어서 사용 (여러 개 체크박스 있을때 쓰면 사용하면 될 듯 1. inner class 만들고 inner class CheckBoxListener:CompoundButton.OnCheckedChangeListener{ override fun onCheckedChanged(buttonView: CompoundBu..
1. dependency를 추가한다. implrmentation "androidx.lifecycle:lifecycle-runtime-ktx:2.2.0" 안드로이드에는 UI thread와 Worker thread가 존재한다고 한다. 예를 들어, Room library를 사용해서 내장 DB에 접근할 때 UI thread에서 메소드를 작동하면 error로 앱이 종료된다. 2. 백그라운드에서 작업되야하는 코드를 작성한다. lifecycleScope.launch(Dispatchers.IO){ //백그라운드 작업 코드 }
1. bottomSheetDialog xml 파일을 만든다. 2. bottomSheetFragment를 아래와 같이 만든다. class BottomSheetFragmentCustomer : BottomSheetDialogFragment() { private val mContext: Context? = context override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { // Inflate the layout for this fragment val view = inflater.inflate(R.layout.custom_bottomsheet_addcus, co..
//1. 일반적인 형태의 반복문 for (index in 1..5) { //for문 index 1로 시작해서 5까지 끝남 } //2. until : 마지막 숫자 제외하기 for(변수 in 시작값 untill 종료값) { //실행코드 } //예제 var array = arrayOf("Jan", "Feb", "Mar") for (index in 0 until array.size) { Log.d } //3. step:건너뛰기, 만약 3의 배수만 뽑고 싶다면 for (index in 0 until 100 step 3) { Log } //4. downTo:감소시키기 for (index in 0 downTon 10){ Log.d } //5. 배열or 컬렌션에 들어있는 요소만큼 반복하기 var arrayMonth =..
전역 변수에 var fragmentTransaction = fragmentManager.beginTransaction() 선언을 하고 commit()을 한 후에 다시 transaction을 생성해줘야 한다고 한다. example fragmentTransaction.add(R.id.frame_container, fragmentCustomers).commit() fragmentTransaction = fragmentManager.beginTransaction() fragmentTransaction.add(R.id.frame_container, fragmentHome).commit() fragmentTransaction = fragmentManager.beginTransaction() fragmentTrans..