일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Imageview
- 코틀린
- firebasefunctions
- Android
- RealtimeDB
- 밑줄
- button
- EditText
- nav_graph
- ButtonWithButton
- BottomSheetDialog
- ArrayList
- FRAGMENT
- ROOM
- 뷰바인딩
- firebase
- 안드로이드스튜디오
- androidstudio
- lifecyclescope
- Dialog
- 안드로이드
- textview
- 안드로이드 스튜디오
- Kotlin
- 팝업액티비티
- Activity
- ViewModel
- OutlinedButton
- MaterialButton
- 랜덤ID
- Today
- Total
목록androidstudio (4)
안드로이드 앱 개발
데이터베이스 접근에는 구글의 앱 아키텍처 지침에서 권장하는 Repository Pattern을 사용하는게 좋다. 레포지터리 클래스는 레포지터리(데이터 저장소)를 구현한다. 로컬 데이터베이스나 원격 서버로부터 특정 데이터 셋을 가져오거나 저장하는 방법을 결정한다. 그리고 UI 코드에서는 레포지터리에 모든 데이터를 요청한다. 1. Repository에서 데이터 가져오기 1) Repository class 생성하기 class CrimeRepository private constructor(context: Context){ companion object { private var INSTANCE: CrimeRepository? = null fun initialize(context: Context){ if (INS..
1. 안드로이드 스튜디오 내에서 firebase functions와 연결하기 Tools -> Firebase -> functions 설치와 연결 고고 -> 안드로이드 앱에서 직접 firebase에 요청하고 받아오는 경우인데 (잘 안쓴다고함, 대부분 retrofit을 사용) 2. 구글에 retrofit 검색 Download에 가서 implementation을 넣어줘야하는데 한 번에 template으로 아래 항목들 복/붙 // retrofit def retrofit_version = "2.9.0" implementation "com.squareup.retrofit2:retrofit:$retrofit_version" implementation "com.squareup.retrofit2:converter-gso..
database.child("users").child(uid).child("customers").child(customerKeyValue) .child("customerMemo").setValue(binding.memoEt.text.toString().trim()).addOnSuccessListener { mShowShortToast("성공") }.addOnFailureListener { mShowShortToast("실패") } * 가끔 boolean 타입이나 int 타입은 firebase rdb에 수정이 안 되는 경우가 있다. (사실 거의 대부분) 그럴 때는 .toString으로 보내주자
binding.timeContentTv.setOnClickListener { val timePicker = MaterialTimePicker.Builder().setInputMode(INPUT_MODE_KEYBOARD) //모양변경 가능 .setTimeFormat(TimeFormat.CLOCK_24H) //12시간으로 할 수 있고 .setHour(9) .build() timePicker.show(supportFragmentManager, timePicker.toString()) timePicker.addOnPositiveButtonClickListener { binding.timeContentTv.text = timePicker.hour.toString()+"시 "+timePicker.minute+"분"..