안드로이드(java)
-
java.lang.IllegalThreadStateException안드로이드(java)/에러 관련 2020. 3. 3. 16:44
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.cis.handsanitizer/com.cis.handsanitizer.RegisterActivity}: java.lang.IllegalThreadStateException 소켓 통신을 하기 위해 클래스를 하나 생성하고 쓰레드를 상속 받았습니다. 그리고 초기 화면으로 사용할 화면에서 버튼을 누르면 소켓 통신 클래스를 새로운 객체로 만들었습니다. 화면이 넘어간 이후에 다시 뒤로가기 버튼으로 되돌아간 이후 소켓통신 클래스 인스턴스를 만들도록 하면 위와 같은 에러가 나타났습니다. 뭔가 쓰레드 관련된 에러인거 같은데 정확히 뭐가 문제인줄 몰라서 열심히 찾아보았습니다. 답은 생각보다 간단..
-
[안드로이드] ui 단위별 값 및 단말기 해당도에 따른 분류안드로이드(java)/UI 관련 2020. 1. 16. 16:26
단위별 값 px : 실제 사용할 픽셀의 개수 dp : 160ppi 액정에서 1dp는 1px 이다. 80ppi 에서 1dp는 0.5px, 320ppi 에서 1dp 는 2px 이런식으로 계산됨 sp : 단말기에 설정되어 있는 글자 크기에 따라 가변. 기본 크기 160ppi 액정에서 1sp = 1px mm : 밀리미터 in : 인치 pt : 1pt = 1/72 인치 단말기 해상도 분류 ldpi : ~ 120dpi mdpi : ~ 160dpi hdpi : ~ 240dpi xhdpi : ~ 320dpi xxhdpi : ~ 480dpi xxxhdpi : ~ 640dp
-
[안드로이드] androidX 란?안드로이드(java)/기타 등등 2020. 1. 5. 16:42
AndroidX는 기존에 사용 중인 com.android.support.* 라이브러리들을 하나로 통합한 것이라고 생각하시면 됩니다. AndroidX 는 Android Studio 3.2 버전 이상, 빌드툴 28.0 이상 버전부터 사용할 수 있습니다. 오래전에 만들었던 앱을 오랜만에 빌드했을 때 더이상 support 라이브러리를 지원하지 않아서 빌드 할 수 없다는 경고가 나오기도 하는데요. 이럴때는 refector 메뉴 ->Migrate to AndroidX 를 선택해주시면 변경하실 수 있습니다. 변경하시기 전에 백업 할건지 물어보는 팝업이 나타나는데 저장 하셔도 되고 안하셔도 됩니다. 혹시 모르니까 저장해놓는게 좋을것 같긴 합니다. migrate 하면 기존에 사용했던 라이브러리들의 패키지명이 달라진것들..
-
[안드로이드] Listener class android.view.View.OnClickListener with method onClick did not match signature of any method itemAndPrice::btnBack안드로이드(java)/에러 관련 2019. 12. 3. 18:48
Listener class android.view.View.OnClickListener with method onClick did not match signature of any method itemAndPrice::btnBack 이러한 에러가 나타났네요. 이번에도 databinding 연습 하는중에 나타난 에러입니다. 무엇이 문제인가 찾아봅니다. onclick 관련인것을 보니 메소드쪽에 뭔가 문제가 있는거 같은데... xml 쪽 코드와 java 쪽 코드를 확인해보고 설명이 나와있는 코드들을 확인해봅니다. 제가 빼먹은 내용이 있었네요. java 코드에 선언한 메소드의 매개변수값으로 View 를 빼먹었어요. 그래서 나타난 에러였습니다. 매개변수값으로 View view 를 넣어주고 실행하니까 이상없이 잘 나..
-
[안드로이드] error: package Activity does not exist안드로이드(java)/에러 관련 2019. 12. 3. 18:35
error: package Activity does not exist 에러가 나타났습니다. 패키지를 찾을 수 없어서 나타난 에러인데요. databinding 연습 코드를 만들고 에뮬레이터를 실행해보니까 나타났습니다. 제대로 다 했는데 에러가 나타나서 뭐가 문제지 하고 찾아보니 패키지명이 문제였네요. 패키지명을 Activity 라고 첫 글자를 대문자로 준게 원인이었습니다. 패키지 이름을 전부 다 소문자로 변경해 줍니다. activity 로 변경하고 다시 에뮬레이터로 실행해보니까 이상없이 잘 됩니다. 혹시라도 databinding 연습하시는 분들 중에 액티비티를 패키지에 담아서 실행했는데 저러한 에러 구문이 뜬다면 패키지명을 전부 다 소문자로 변경해보세요.
-
[안드로이드] Retrofit PUT, DELETE 방식 간단 예제안드로이드(java)/기능 관련 2019. 11. 28. 12:46
이번에는 put, delete 요청하는 방법을 연습해보겠습니다. [완성 소스 코드] https://github.com/dailyshow/retrofitPUTDELETE put 은 기존에 있던 내용을 수정할 때 사용합니다. delete는 내용을 삭제할 때 사용합니다. PUT 방식을 먼저 보겠습니다. 1 2 3 4 public interface JsonPlaceHolderAPI { @PUT("posts/{id}") Call putPost(@Path("id") int id, @Body Post post); } Colored by Color Scripter cs 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 ..
-
[안드로이드] Retrofit POST 방식 간단 예제안드로이드(java)/기능 관련 2019. 11. 19. 17:42
이번엔 retrofit 으로 POST 하는 방법에 대해 알아보겠습니다. 무엇인가 만들라고 요청할 때 메소드로 POST를 사용하죠. 사용 방법은 아래 내용대로 따라하시면 됩니다. [완성 소스 github 주소] https://github.com/dailyshow/retrofitPOST get방식 처럼 post 방식도 3 가지 방법으로 필드값을 보낼 수 있습니다. 1 2 @POST("posts") Call createPost(@Body Post post); cs 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 public class Post { /** * { * "..
-
[안드로이드] Retrofit GET 방식 간단 예제 2안드로이드(java)/기능 관련 2019. 11. 14. 22:30
GET 방식 예제에서는 query string을 요청하지 않고 그냥 통으로 다 요청했었습니다. 그래서 posts의 모든 내용을 받아와서 화면에 출력해 주었었죠. 이번에는 통으로 요청이 아니라 원하는 userId 를 지정해서 그 값만 받아 오도록 하겠습니다. 아래의 내용처럼 전체 내용 중 userId 4 에 대한 것만 받아오는 것이죠. [받아올 내용] [ { "userId": 4, "id": 31, "title": "ullam ut quidem id aut vel consequuntur", "body": "debitis eius sed quibusdam non quis consectetur vitae\nimpedit ut qui consequatur sed aut in\nquidem sit nostrum ..