개발28 안드로이드 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. 안드로이드 MVVM에 GraphQL 적용하기(2/2) 지난 포스팅에서는 Dependency Injection을 진행하고 GraphQL에서 사용되는 DAO 파일을 만들어 보았습니다. 확장자이름이 graphql 로 만들면 어떻게 DAO파일이 생성되는지 궁금해 하실수 있을텐데요. 빌드시 자동으로 graphql파일명과 관련된 클래스 파일이 생성됩니다. 프로젝트폴더에서 보시면 지정한 타입이 접미사로 붙고(query, mutation, subscription) 클래스파일이 만들어진것을 확인할 수 있습니다. 이제 repository를 세팅하겠습니다. 튜토리얼에서는 크게 3가지의 통신(Get-query, Post-mutation, WebSocket-subscription) 을 보여주는데 저는 아이템 리스트를 가져오는 메소드만 설명드리겠습니다. 우선 repository 생.. 2020. 7. 19. 안드로이드 MVVM에 GraphQL 적용하기(1/2) 안녕하세요 찰스입니다. 이번 포스팅에서는 MVVM 패턴에 GraphQL을 적용하는 것을 알려드리려고 합니다. GraphQL이 무엇인지를 안다는 전제 하에 포스팅을 진행하도록 하겠습니다. 안드로이드에서 GraphQL을 사용하기 위해 저는 Apollo 라이브러리를 활용했습니다. 일단 Apollo 깃헙에서 샘플 프로젝트를 확인하셔서 학습하시거나 해당 사이트에서 튜토리얼을 제공하니 공부하실때 같이 보시면 도움이 될거 같습니다. 여기는 공식 홈페이지이고 https://www.apollographql.com/docs/android/ Introduction A strongly-typed, caching GraphQL client for the JVM, Android and Kotlin multiplatform www.. 2020. 7. 19. Horizontal RecyclerView 자동으로 아이템 맞추기 안녕하세요! 어느덧 사회생활한지 6개월이 되었네요 :) 안드로이드 개발을 혼자하느라 항상 바쁘기때문에 시간이 참 빨리 간거같아요 이번 포스팅에서는 Horizontal RecyclerView에서 가로로 스크롤링을 하면 아이템을 한 가운데에 맞춰놓게 하는 템플릿을 만들어 보겠습니다! 우선 이미지 적용을 위해 Glide 라이브러리를 사용하겠습니다. implementation "com.github.bumptech.glide:glide:4.11.0" 이 포스팅에서 쓰이는 클래스 파일은 총 3개 인데요. Item을 정의하는 data class, recyclerview adapter, main activity 이렇게 3개 입니다. 일단 RecyclerView 를 보여줄 activity_main.xml 을 정의해보겠습.. 2020. 7. 4. 이전 1 2 3 4 5 다음