안드로이드(kotlin)
-
버튼 색상이 보라색으로 고정 되어서 다른색으로 변경되지 않을 때안드로이드(kotlin)/UI 2022. 8. 23. 11:13
커스텀 다이얼로그를 하나 만드는데 버튼의 색상이 보라색으로 고정되어서 변경되지 않았습니다. background 를 지정했음에도 버튼 배경색이 보라색으로만 보이는 문제가 있네요. 왜 안되나 찾아보니 themes.xml 에서 style 적용한 것 안에 parent 가 Theme.MaterialComponents.DayNight.NoActionBar 로 되어있는데 MaterialComponents 때문에 변경되지 않았습니다. 해당 부분을 AppCompat 으로 변경하니까 이상없이 나타나네요. 버튼 배경 색상을 변경해야하는 분들은 MaterialComponents 부분을 수정해보시면 될 것 같습니다.
-
[안드로이드 kotlin] The camera device has encountered a serious error안드로이드(kotlin)/에러 관련 2022. 4. 20. 14:20
D/Camera2CameraImpl: CameraDevice.onError(): 0 failed with ERROR_CAMERA_DISABLED while in OPENED state. Will attempt recovering from error. E/Camera2CameraImpl: Error observed on open (or opening) camera device 0: ERROR_CAMERA_DISABLED closing camera. D/Camera2CameraImpl: {Camera@5184eed[id=0]} Transitioning camera internal state: OPENED --> CLOSING D/CameraStateRegistry: Recalculating open came..
-
[안드로이드 kotlin] camera, gallery URI 확인 및 주의할 점안드로이드(kotlin)/기능 관련 2022. 4. 12. 17:39
버전업 되고 나서 stoage 부분은 처음 만져봤는데 좀 많이 헤맸기 때문에 까먹지 않기 위해 남깁니다. URI(Uniform Resource Identifier)란? - 특정 리소스를 식별하는 통합 자원 식별자를 의미 웹 뿐만 아니라 안드로이드에서도 URI 를 이용하며 이를 이용해 카메라 또는 갤러리 등 에서 선택한 항목을 다룹니다. 안드로이드 storage 정책 변경으로 인해 10 버전 이상에서는 기존처럼 external 로 접근하는 방식이 아니고 ScopeStorage 정책을 적용해야 합니다. 카메라 촬영 카메라는 camerax 를 이용했으며 촬영한 이미지의 URI 도 확인할 수 있습니다. 코드는 아래와 같습니다. val timeStamp: String = SimpleDateFormat(Common..
-
[안드로이드 kotlin] retrofit 으로 내용이 비어있는 jsonoObject 요청 보내기안드로이드(kotlin)/기능 관련 2021. 12. 12. 14:58
retrofit 을 이용해서 서버와 통신 작업을 하는데 서버 개발자가 전달해준 API 명세서에 요청 항목의 내용이 비어있었습니다. 요청 내용이 없으므로 @Body 를 쓰지 않고 @POST request 하였습니다. 이렇게 보내니까 서버에서 응답은 왔으나 400번 코드를 보내왔습니다. 뭐가 문제인가 싶어서 postman 으로 body 내용을 비우고 URL 로 요청을 보냈으나 아래처럼 에러 메세지를 출력했습니다. body 를 비우고 보낸게 문제인가 싶어서 {} 를 붙여 보니까 제대로 된 응답이 나타나네요. request 할 때 비어있는 jsonobject 만 요청하려면 어떻게 해야할지를 찾아보았습니다. 여러가지 검색해보니 아래 내용을 새로운 클래스에 담아서 @Body 에 적용해주면 될 것 같습니다. clas..
-
[안드로이드 kotlin] java.lang.IllegalStateException: Already executed안드로이드(kotlin)/에러 관련 2021. 11. 22. 19:30
java.lang.IllegalStateException: Already executed retrofit 을 이용해서 작업하는중에 위와 같은 에러를 만났습니다. 첫 실행을 통해 데이터를 잘 가져왔지만 같은 버튼으로 같은 요청을 하면 나타났습니다. 저번 작업에서는 안나타났었는데 요번엔 나타나네요. 뭔가 잘 못 적용한걸까... 잘 모르겠으니 구글을 좀 찾아봅니다. 구글을 찾아보는데도 딱 이거다 싶은건 잘 안보이네요. enqueue 를 이용하여 비동기로 요청하였는데... excute 를 사용해야 하나 다른 해별 방법이 없나 좀 더 찾아보니 사용할만한 방법이 하나 보입니다. clone() 을 이용한 방법이 있네요. addressSearch.enqueue(object : Callback { override fun..
-
[안드로이드 kotlin] Non-body HTTP method cannot contain @Body안드로이드(kotlin)/에러 관련 2021. 11. 22. 10:38
Non-body HTTP method cannot contain @Body. 주소 api 를 사용하여 작업하면서 또 에러가 나타났습니다. 이번껀 별 생각없이 하다가 나타난 에러인데요. body 를 담을 수 없다는 에러입니다. GET 방식을 사용하면서 Body 값을 담아주려고 했던게 문제였죠. GET 방식은 요청할 때 Body 에 값을 담아주지 않고 query 로 요청해야 합니다. @GET("/addrlink/addrLinkApi.do") fun address(@Body params: AddressReqData): Call 잘못 적용한 방식 : (@Body 는 post 방식에서 사용) @GET("/addrlink/addrLinkApi.do") fun address( @Query("confmKey") c..
-
[안드로이드 kotlin] IllegalArgumentException: baseUrl must end in /안드로이드(kotlin)/에러 관련 2021. 11. 22. 10:21
java.lang.IllegalArgumentException: baseUrl must end in / retrofit 으로 base url 사용시 나타난 에러입니다. 공통 클래스를 하나 생성해서 base url 을 지정하고 retrofit 을 통해서 사용했는데 위와같은 에러가 나타났습니다. base url 의 끝 부분은 반드시 / 로 끝나야 한다네요. 제가 저장했던 방식은 url 주소 http://www.juso.go.kr/addrlink/addrLinkApi.do 를 통째로 넣어봤는데 에러가 나옵니다. base url 은 모든 주소를 다 넣지 말고 가장 기본주소의 / 까지만 입력해야할 것 같습니다.
-
[안드로이드 kotlin] Could not find method url() for arguments안드로이드(kotlin)/에러 관련 2021. 10. 25. 20:22
Could not find method url() for arguments [https://maven.google.com/, null] on object of type org.gradle.api.internal.artifacts.repositories.DefaultMavenArtifactRepository. gradle repository 경로 여러개 설정해야 할 일이 있어서 maven { } 사이에 url 을 하나 더 끼어 넣어 봤는데 위와 같은 에러가 나타났습니다. 어떻게 여러개를 만들 수 있을지 찾아보니 너무 간단하게 만들 수 있었습니다. repositories { google() jcenter() maven { url 'https://maven.google.com/'} maven { url 'ht..