본문 바로가기

개발/삽질15

implementation 했는데 import가 안될때 우측 Gradle에 있는 Toggle Offline Mode를 끄고 다시 sync를 맞춘다. 2022. 7. 6.
안드로이드 gradle 명령어 정리 1. 현재프로젝트의 dependency 보는 법 ./gradlew -q dependencies app:dependencies --configuration implementation 2022. 1. 26.
안드로이드 Retrofit 통신시 null로 들어올때 안녕하세요. 이번 포스팅은 Retrofit 통신할때 결과값은 잘 들어오는데 data class가 null로 들어오는 현상의 해결방법에 대해 알려드리려고 합니다. 분명 서버에서 리턴을 잘 받아왔음에도 data class 자체가 null로 들어오는 현상이 있는데 이는 프로가드의 코드축소 때문에 일어난 현상입니다. 코드축소시 data class 까지 날려버려서 그런데 가장 쉬운 해결방법은 @Keep data class HeaderPageData(val id : Int, val pageUrl:String, val imageUrl :String) 이렇게 Keep 어노테이션을 붙이는 것입니다. 또는 proguard-rules.pro 파일로 가셔서 직접 세팅을 하면 되는데 그 방법은 이전 포스팅을 참고하시면 되겠습니.. 2020. 12. 13.
안드로이드 NoSuchMethodError: no static method 에러 발생시 안녕하세요. 이번 포스팅에서 NoSuchMethodError: no static method 가 일어난 하나의 사례와 관련해서 적어보겠습니다. 라이브러리가 분명히 존재하고 있음에도 메소드를 찾을 수 없다고 나오는 경우는 프로가드 때문일 가능성이 많습니다. gradle에서 minifyEnabled true 이 부분이 코드축소를 설정하는 부분인데요. 코드축소시 해당 라이브러리를 지워 찾을 수 없다는 에러를 가끔 접했습니다. 그래서 이 부분을 어떻게 해결하느냐 하면 안드로이드 스튜디오의 좌측에 앱 구조를 보시면 proguard-rules.pro 라는 파일이 있습니다. 이 파일을 여셔서 찾지 못하는 라이브러리의 패키지 명을 Keep 한다는 내용을 아래와 같이 적습니다. -keep class com.artheni.. 2020. 12. 13.
안드로이드 로컬파일 접근시 Unexpected SecurityException 에러 안드로이드 개발 할 때 내부저장소에 대한 Read/Write 권한이 필요할 때가 있습니다. 이 권한을 갖기 위해 Manifest에서 권한을 설정해 주지만 코드상으로도 권한을 체크해야 합니다. 코드로 권한을 체크해 주기 위해 private var permissions = arrayOf( Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE ) fun hasPermissions(context: Context?, permissions: Array): Boolean { if (context != null) { for (permission in permissions) { if (ActivityCompat.check.. 2020. 12. 13.
안드로이드 채팅방 입력 EditText 설정하기 안녕하세요 찰스입니다. 채팅방을 만들때 입력하는 EditText는 대부분 아래에 위치합니다. 이 때문에 텍스트를 입력하려고 하면 EditText가 키보드에 가려지거나 android:windowSoftInputMode="adjustResize" 를 설정해도 recyclerview가 빈공간이 있음에도 불구하고 화면 밖으로 올라가는 현상이 있는데요. 이것을 막기 위해 서는 해당 레이아웃 파일에서 루트 레이아웃에 android:fitsSystemWindows="true" 을 설정하면 recyclerview가 위로 밀려나지 않고 빈 공간만큼 줄어들어서 보여지게 됩니다. 2020. 8. 2.