본문 바로가기
728x90

Android43

[안드로이드] Android Studio targetSdk 33에서 xml 속성이 보이지 않는 경우 최근 안드로이드 13과 Sdk 33이 업데이트된 이후로 프로젝트를 생성하면 자동으로 targetSdk와 compileSdk가 33으로 설정되었다. "아 그런가보다~" 하고 이것저것 만져보던 중 이상한 점을 발견했다. 레이아웃을 설정하기 위해 xml에서 TextView 속성을 변경하려는데 text 키워드 일부가 보이지 않는다..? 속성을 코드로 직접 입력했더니 정상적으로 반영은 되고 있다. 하지만 android:textSize 키워드가 자동 완성으로 보이지도 않고, 검색도 되지 않으니 매번 속성을 직접 입력하기는 너무너무 불편한 일이다. 방법을 찾아야 한다...! 가장 먼저 targetSdk와 compileSdk를 32로 변경해 보았다. "Sync Now"에는 문제가 없어 빌드해보니 오류가 발생했다. Vi.. 2023. 5. 4.
[안드로이드] RecyclerView에서 setHasFixedSize, 화면이 깜빡이는 현상 RecyclerView를 사용하다 보면 습관적으로 setHasFixedSize(true)속성을 사용하곤 한다. 정확한 의미는 모른 채 대략 "사이즈를 고정한다..?" 이런 목적으로 사용했던 것 같다. 이번에 setHasFixedSize의 의미에 대해 정확히 알아 두려 한다. setHasFixedSize RecyclerView는 Item의 size에 따라서 RecyclerView의 크기나 너비, 높이가 변경되는 View이다. 즉, Item이 추가, 삭제, 수정될 때마다 RecyclerView의 전체적인 크기가 변경된다는 것이다. 이때, 변경된 Item 목록을 RecyclerView에 반영하기 위해 레이아웃을 다시 그릴 필요가 있는데 RecyclerView를 다시 그리는 작업은 높은 비용을 요구하고, 성능 .. 2023. 5. 2.
[안드로이드] Retrofit2 오류 : "URL query string "PATH={PATH}" must not have replace block. For dynamic query parameters use @Query." 문제상황 서버와 API 통신 중 다음과 같은 에러가 발생했습니다. "URL query string "PATH={PATH}" must not have replace block. For dynamic query parameters use @Query." // RetrofitService @GET("boards?tag={tagName}") suspend fun getAllPost( @Path("tagName") tagName: String ): Response RetrofitService 인터페이스에서 정의한 메소드입니다. 서버측에서 API 명세서에 요청 주소를 "boards?tag={tagName}"로 작성해주었기 때문에 안드로이드에서 별 생각없이 GET 메소드에 @Path 어노테이션만 지정해준다면 Retr.. 2023. 4. 17.
[안드로이드] Material DropDown Menu(드롭다운 메뉴) 만들기 이전에 안드로이드에서 선택가능한 메뉴를 만들기 위해 Spinner를 사용하거나 Dialog를 통해 메뉴 항목을 구성했습니다. Menu Item을 커스텀하려면 style을 설정하고 수정해야 하는 부분이 많았는데 최근 굉장히 편리하게 DropDown 메뉴를 구성할 수 있는 방법을 알게되어 공유합니다. 실행화면 activity_main.xml 2023. 4. 13.
[안드로이드] Fragment의 LifeCycle과 동작원리 안드로이드에서 Fragment는 4대 구성요소에는 포함되지 않지만 4대 구성요소만큼 중요하고 자주 쓰이는 컴포넌트입니다. 게다가 최근 구글에서는 최근 하나의 액티비티에 다수의 프래그먼트가 존재하는 SAA(Single Activity Architecture) 패턴을 권장하기 때문에 Fragment의 동작원리에 대해 공부할 필요를 느껴 이번 포스팅을 통해 정리해 보겠습니다. Fragment의 특징 프래그먼트는 자체적인 생명주기를 가지며 상태, 생명주기 전환은 FragmentManager에 의해 관리됩니다. 프래그먼트는 독립적으로 존재할 수 없고, 항상 액티비티 위에 존재하고 동작합니다. 하나의 프래그먼트는 다른 액티비티나 프래그먼트에서 재사용이 가능합니다. Fragment의 생명주기 프래그먼트는 액티비티 위.. 2023. 4. 11.
[안드로이드] 다양한 형태의 차트(Chart) 그리기 - MPAndroidChart 어떤 통계나 결과를 그래프의 형태로 표현하기 위해 분명 관련된 라이브러리가 있을 것 같아 찾아보던 중 MPAndroidChart를 발견했습니다. 사용법도 매우 쉽고 사용할 수 있는 메소드와 속성이 정의가 잘 되어 있어 정리해보려 합니다. Github 링크에서 볼 수 있듯 많은 차트 형태가 있지만 저는 원형으로 차트를 작성하는 Pie Chart를 구현해 보겠습니다. GitHub - PhilJay/MPAndroidChart: A powerful 🚀 Android chart view / graph view library, supporting line- bar- pie- radar- bubb A powerful 🚀 Android chart view / graph view library, supporting li.. 2023. 3. 25.
728x90
반응형