안드로이드
-
[Android] Check your module classpath for missing or conflicting dependencies (Gradle 인식 안되는 오류) 해결안드로이드 2024. 4. 29. 20:37
클론한 프로젝트를 열었는데, 아래와 같은 오류 로그가 발생했다.Cannot access class 'org.gradle.accessors.dm.LibrariesForLibs'.Check your module classpath for missing or conflicting dependencies 이럴 때에는 File > Invalidate Caches > restart 하면 해결이 된다.혹은 Clean Project -> Rebuild Project 하면 된다
-
[Android] Custom DialogFragment를 Fragment에서 띄우기안드로이드 2024. 4. 29. 17:14
✏️ TIL(Today I Learned)저번에 만든 커스텀 다이얼로그 프래그먼트를 프래그먼트에서 띄워보았다.원하는 프래그먼트의 onViewCreated() 안에서 다이얼로그를 만들고 show()하면 된다.override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) with(binding) { ivAddContact.setOnClickListener { val dialog = AddContactDialogFragment( buttonClickListener = object: ButtonCli..
-
[Android] [당근마켓 클론 코딩] 메인페이지 구현3 - 커스텀 Floating Button (RecyclerView/ AlphaAnimation)안드로이드 2024. 4. 19. 11:39
✏️ TIL(Today I Learned) 커스텀한 플로팅 버튼을 누르면 스크롤이 최상단으로 이동되도록 했다. fade 효과를 넣어, 버튼이 나타나고 사라지는 것을 자연스럽게 만들었다. // activity_main.xml Floating Button은 원하는대로 커스텀하려면 style을 적용하면된다. RoundedShapeAppearanceOverlay를 사용해 원형으로 모양을 바꿨고, backgroundTint로 버튼의 색상을, tint로 버튼안의 이미지의 색상을 적용해줬다. 클릭시 색 변화가 생기도록 했는데, selector_btn_floating.xml을 사용했다. 이를 app:rippleColor 속성에 넣어줬는데, rippleColor는 버튼이 클릭되거나 터치될 때, 버튼 주변에 나타나는 애니..
-
[Android] [당근마켓 클론 코딩] 메인페이지에서 아이템 상세페이지로 data class 객체를 intent로 전달 (Parcelize)안드로이드 2024. 4. 18. 20:29
✏️ TIL(Today I Learned) 메인페이지에서 아이템을 클릭하면, 상세페이지로 이동과 동시에 아이템의 데이터를 전달하여 화면을 구성하도록 했다. data class 객체를 intent로 전달하기 위해 Parcelize를 사용했다. Parcelize는 Kotlin의 안드로이드 확장 라이브러리 중 하나로, 안드로이드에서 객체를 직렬화(Serialization)하고 전송하기 위해 사용된다. 이를 사용하기 위해서는, build.gradle(:app) 파일의 plugins에 id("kotlin-parcelize")를 추가해야한다. plugins { alias(libs.plugins.androidApplication) alias(libs.plugins.jetbrainsKotlinAndroid) id ("..
-
[Android] [당근마켓 클론 코딩] 메인페이지 구현2 - 키워드 알림 (Notification)안드로이드 2024. 4. 17. 18:01
✏️ TIL(Today I Learned) 지난번에 이어서 이번에는 종 이미지뷰 클릭 시, 알림이 오도록 설정했다. 채널의 중요도를 IMPORTANCE_HIGH로 설정해서, 헤드업 알림이 뜨는 것을 확인할 수 있다. 알림을 클릭하면 MainActivity로 이동하도록 했다. 우선 AndroidManifest.xml에서 권한을 설정해 준다. ... 따로 알림 클래스를 만들었다. 알림을 클릭 시 Intent에 이동할 activity 담아야 하므로, KeywordNotification을 생성할 때 context를 전달하도록 했다. 그리고 Android 8.0 (API 26) 이상의 경우는 알림을 만들기 전에 알림 채널을 먼저 만들어야 한다. init에서 if문을 사용해서 Android 8.0 이상이면 채널을 ..
-
[Android] [당근마켓 클론 코딩] 메인페이지 구현1 (RecyclerView/ addItemDecoration()/ Spinner/ ArrayAdapter)안드로이드 2024. 4. 16. 21:06
✏️ TIL(Today I Learned) 당근마켓을 조금 간소화해서 구현했다. activity_main.xml은 아래와 같이 constraintlayout으로 만들었다. 상단에는 Spinner와 Notification을 생성할 수 있는 종모양의 이미지뷰를 넣었다. 그 아래로는 RecyclerView로 구성했다. 스크롤을 최상단으로 이동시키는 FloatingActionButton도 만들었다. 우선 invisible로 해두고, 스크롤이 거의 마지막에 왔을 때, visible 하도록 바꿔서 클릭 시 상단으로 이동한다. 아이템 사이에 회색줄은 MainActivity.kt 에서 만들었다. // 아이템들 사이에 회색 라인을 추가 binding.recyclerView.addItemDecoration( Divider..