일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- RealtimeDB
- 랜덤ID
- Activity
- firebasefunctions
- Dialog
- nav_graph
- 안드로이드
- androidstudio
- 팝업액티비티
- MaterialButton
- lifecyclescope
- 안드로이드 스튜디오
- 코틀린
- button
- 밑줄
- textview
- EditText
- Imageview
- firebase
- Kotlin
- ButtonWithButton
- 뷰바인딩
- Android
- 안드로이드스튜디오
- OutlinedButton
- ROOM
- FRAGMENT
- ViewModel
- ArrayList
- BottomSheetDialog
- Today
- Total
목록전체 글 (86)
안드로이드 앱 개발
* 로딩화면을 구현하다가 Activity의 스택을 관리해줘야 할 필요를 느꼈다. (로딩화면의 스택을 안 비운다면, 백버튼으로 앱을 종료시 로딩화면이 다시 나타나기 때문) val intent = Intent(applicationContext, ActivityMain::class.java) startActivity(intent) this.finish()
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..
Firebase RealtimeDB를 사용하면서 데이터 중복저장을 막기 위해 저장하려고하는 값이 이미 존재하는지 확인해야하는 상황이 있다. 예를 들면, 고객데이터를 저장하는데, 동일한 번호로 중복을 막는 상황 private fun isVaildNumberCheck(){ //전화번호 중복 체크 database.child("users").child(uid).child("customers").orderByChild("customerNumber").equalTo(customerNumber) .addListenerForSingleValueEvent(object : ValueEventListener { override fun onDataChange(dataSnapshot: DataSnapshot) { if (!da..
프로젝트를 하다보면, ArrayList 안에 있는 객체들을 정렬하고 싶을 때가 있다. 만약 T가 Class 형태라면 T의 요소들로 정렬을 할 수가 있다. //data라는 arraylist안에 있는 객체를 정리하는데, T의 customerName을 비교해서 정렬한다. data.sortBy { T -> T.customerName } dataForSearch.sortBy { T -> T.customerName } //default값이 오름차순이기 때문에 내림차순으로 정리하고 싶다면 아래 함수를 사용한다. data.sortByDescending { data1 -> data1.savedate } dataForSearch.sortByDescending { data1 -> data1.savedate }
Button의 xml 속성에서 style 속성을 추가한다. 그리고 경계선의 색상을 변경하고 싶다면 app:strokeColor의 속성으로 컨트롤하면 된다. (기본색상은 옅은 회색이다.) 추가로, 경계선의 두께는 app:strokeWidth로 컨트롤 할 수 있다.
1. drawable 폴더에 xml 생성 1-1 곡선만 ex) rounded button 2. 버튼 클릭시 이펙트 주기 2-1 ripple effect [안드로이드/JAVA] Error inflating class com.google.android.material.button.MaterialButton - JooTC 2-2 리플효과없는 버튼효과 주기 * Material Button의 그림자 없애기 xml 속성에 추가 android:stateListAnimator="@null"
maxLine을 정의하고 ellipsize ="end"를 하면 된다 *ellipsize - none 맨 뒤에 아무 표시 없이 자르기 - start는 맨 앞에 ... 으로 보여주기 - marquee는 왼쪽으로 글자가 흘러가면 보여줌 ★ maxLines가 적용이 안되면 inputType이 정의가 되어있는지 확인 필수 반드시 inputType 정의해야함
requireActivity().finish()
1. drawalbe에 shape타입의 xml을 만들어준다. 2. themes(styles)에서 1번에서 만든 파일을 배경으로 하는 style을 만든다. 3. 2번에서 만든 style을 적용한 bottomSheetDialog theme을 만든다. 4. 코드에서 위 스타일을 적용한다. override fun getTheme(): Int = R.style.AppBottomSheetDialogTheme + BottomSheetDialog.xml의 전체 카드뷰의 CornerRadius를 줘야만 적용이 됐다...
적용 1. Cursor 색상 drawble> cursor.xml -> edittext의 xml 속성에서 textCursor에 @drawable/로 적용 2. textColorHighlight android:textColorHighlight="@color/mainBlueTextColorHighlight" 3. colorControlNormal과 Activated는 theme에서 만들어준다음 xml에서 적용 -> 적용 android:theme="@style/이름"