일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Collections Function
- todo
- Load failed
- findNavController
- multipart
- Lifecycle
- http
- DialogFragment
- gradle plugin
- log
- layout_constrainedWidth
- json
- Navigation
- kotlin
- RecyclerView
- ThreeTen Backport
- 기기고유값
- 화면 회전
- DataBinding
- layout_constrainedHeight
- Popup menu background color
- BottomSheetDialogFragment
- SSAID
- Retrofit2
- studywithme
- WorkManager
- Room
- 생명주기
- Android
- NumberPIcker
- Today
- Total
목록Android (26)
chacha's
목차 State in Jetpack Compose codelab 컴포즈 공식 가이드 읽고 분석하기 - medium 를 참고하여 작성하였습니다. 👻 틀린 부분이 있다면 댓글로 남겨주시면 감사하겠습니다! 아래에서 사용한 코드는 Github에 있습니다. 🎲 State 애플리케이션에서 상태(State)는 시간이 지남에 따라 변경될 수 있는 모든 값입니다. 상태(State)라는 것은 클래스의 변수부터 Room 데이터베이스에 이르기까지 포함하는 광범위한 정의입니다. 아래는 상태(State)에 대한 몇 가지 예시입니다. 네트워크 연결을 설정할 수 없는 경우 표시되는 스낵바 블로그 게시물 및 관련된 댓글 사용자가 클릭될 때 보이는 버튼 리플 애니메이션 효과 이미지 위에 사용자가 그릴 수 있는 스티커 🧩 State와 C..
ConstraintLayout을 사용할 때 layout_height = "wrap_content"로 지정하면 제약 조건에 맞게 알아서 설정될 줄 알았다. 하지만 아이템의 개수가 많아지면 버튼 아래 쪽으로 뷰가 넘어가는 문제가 발생하였습니다. 이 경우, layout_constrainedHeight="true" 속성을 사용하면 제약조건에 맞게 뷰가 넘어가지 않는 것을 확인할 수 있습니다. 📌 RecyclerView 외에도 TextView와 같이 길이가 변하는 뷰를 설정할 때, app:layout_constrainedWidth=”true”, app:layout_constrainedHeight=”true” 속성을 사용하여 제약조건에 맞게 뷰를 설정할 수 있습니다. END
How change position of popup menu on android overflow button? - stack overflow Popup menu with icons - Android Code Snippets 를 참고하여 작성한 게시물입니다. 1. menu 리소스 작성하기 2. popup menu style 리소스 정의하기 // res/menu/pop_up_menu.xml 3. Activity/Fragment에서 Popup menu 보여주기 아래의 코드는 Fragment에서 popup menu를 보여주는 코드입니다. override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, sa..
목차 📦 FCM ( Firebase Cloud Messaging ) Firebase Console Firebase 클라우드 메시징(FCM)은 메시지를 안정적으로 전송할 수 있는 크로스 플랫폼 메시징 솔루션입니다. 직접 구현한 서버에서 애플리케이션에 알림/메시지를 전송하기 위해서는 애플리케이션과 서버가 연결을 계속 유지하고 있어야 합니다. 하지만 FCM을 이용하면, 연결을 유지하고 있지 않아도 메시지를 전송하고 받을 수 있습니다. 🎯 Notification과 Data FCM 메시지 정보 Android FCM Data와 Notification - 해리의 유목코딩 푸시 알림으로 보낼 수 있는 메시지는 아래와 같이 2가지 유형으로 나뉩니다. Notification은 앱이 포그라운드일 때만 푸시 알림이 오고 Da..
목차 고유 식별자 권장사항 - Docs 안드로이드 Q 기기 고유 식별자(IMEI 등) 제한 - brunch 안드로이드 Q DRM 기기 식별자 활용하기 - brunch 를 참고하여 작성하였습니다. 프로젝트를 진행하다 보니 각 기기의 고유값이 필요한 경우가 생겼습니다. 회원가입 없이 이용 가능한 앱을 만들려다보니 서버에서 각 사용자를 구분할 수 있는 고유값이 필요하게 되었습니다. 여러가지를 고려한 결과 SSAID를 사용하기로 하였습니다. 현재 버전에서는 SSAID를 적절한 기기 고유 값으로 사용할 수 있었지만 이후 버전에서는 또 달라질 수 있습니다. 📃 안드로이드 식별자 사용 권장사항 I am getting IMEI null in Android Q? - stack overflow ▪ SSAID (Settin..
목차 모서리 둥글게 하기 ( Round Corner ) 아래와 같이 커스텀 다이얼로그를 만들 때, 모서리를 둥글게 하고 싶은 경우가 있습니다. 1. [ @drawable/bg_dialog ] 배경으로 사용될 drawable 파일을 생성합니다. 2. [ layout/dialog_custom.xml ] layout에서 Background로 지정합니다. ... ... 3. Custom Dialog 코드 작성 위의 2가지 코드만 적용하면 해결될 것이라고 생각하지만, 코드에서 다이얼로그의 백그라운드를 제거해줘야 모서리가 둥글게 나옵니다. class CustomDialog : DialogFragment() { override fun onCreateView( inflater: LayoutInflater, contai..
Kotlin Android – Read JSON file from assets using Gson Kotlin – Convert object to/from JSON string using Gson 1. Assets 폴더 생성 후 JSON 파일 생성하기 // communityData.json { "id": 1, "contentsImages": [ "https://g-grafolio.pstatic.net/20190425_85/1556163852187Et6ao_JPEG/DSC02684.jpg?type=w896_4", "http://shop1.phinf.naver.net/20200919_230/1600508769512eErFn_JPEG/8ge1j7f_202091214118493298.jpg", "http://p..
class com.bumptech.glide.load.engine.GlideException: Failed to load resource- stackoverflow Opt out of cleartext traffic - Doc App manifest file - Doc ViewPager2를 이용하여 이미지 슬라이더를 구현하는 중에 이미지가 안 보이는 문제를 만났습니다. 처음에는 ViewPager2를 잘못 사용한 줄 알았지만 https 프로토콜을 사용하는 URL은 잘 보인다는 것을 알았습니다. 후에 로그를 제대로 읽으니 HttpException이라고 적혀있는 것을 보고 다시 한 번 로그를 잘 읽는 습관을 들여야겠다고 생각했습니다.😭😭😭 ~ W/Glide: Load failed for http://imgne..
Kotlin Android Fundamentals: 10.3 Design for everyone google-developer-training/android-kotlin-fundamentals-apps - Github 를 참고하여 작성하였습니다. 1. ChipGroup 생성하기 2. ChipGroup 안에 사용할 Chip 레이아웃 생성하기 app:chipBackgroundColor는 chip이 체크되었을 때 백그라운드 색상을 바꿔주기 위해 사용합니다. // res/color/selected_highlight.xml // 82% 투명 State List는 Top에서 Bottom으로 동작하므로 위와 같이 선언합니다. View의 상태(state)가 바뀌면 위의 코드가 Top에 위치한 코드부터 차례로 실행되면서..
Why Dialog does not have a NavController [Missing]? - stack overflow 를 참고하여 작성한 글입니다. binding.repeatSettingOkBtn.setOnClickListener { view -> view.findNavController().navigate( RepeatSettingDialogFragmentDirections.actionRepeatSettingDialogToRepeatSchedule(repeatInfo)) } DialogFragment에서 navigation을 이용하여 이동하려고 NavController에 접근하면 아래와 같은 에러를 만났습니다. java.lang.IllegalStateException: View com.google..