본문 바로가기
반응형

안드로이드96

[Android] 자바에서 Unsigned 타입 적용하기 대부분 비트단위로 정보를 주고받는 임베디드 시스템과 안드로이드를 연계할 때 unsigned형으로 인한 문제가 많이 발생하게 됩니다 예를 들어 비트단위에서는 바이너리 형태로 데이터를 구성하게 되는데 만약 1byte의 마지막번째를 사용하는 데이터라고 한다면 1000 0000 와같이 구성이 되는데 바로 자바에서는 이 부분이 문제가 됩니다 1000 0000은 dec값으로 128이지만 1byte의 부호 있는 타입에서는 해당 자리는 -를 표현하는 부호비트가 됩니다 즉 임베디드 시스템에서 넘어온 해당 값은 128을 넘기려 했겠지만 자바에서는 부호 없는 타입인 unsigned를 지원하지 않기 때문에 128이라는 값으로 인식할 수 없습니다 이럴 경우 몇 바이트의 데이터를 수신해서 CRC체크 등의 계산을 할 때 보낸 쪽(.. 2022. 10. 13.
[Android] android.os.NetworkOnMainThreadException 해결 안드로이드에서 Network를 이용한 TCP/IP 통신을 구현함에 있어 다음과 같은 에러가 발생했습니다 android.os.NetworkOnMainThreadException 해당 에러의 발생 원인은 Network API를 MainActivity에서 직접 호출했을 경우인데 MainActivity에서 Network관련 작업을 직접 실행할 경우 MainThread가 멈추는 현상이 발생할 수 있기 때문에 Android OS에서는 해당 에러 문구를 출력하게 됩니다. 즉 해당 에러는 MainThread에서 Network를 호출했다는게 문제가 된다는 것인데 간단하게 해결할 수 있는 방법은 MainThread가 아닌 Sub Thread에서 해당 작업을 하거나 Background 작업에서 Network 관련 기능을 실.. 2022. 10. 6.
[Android] Manifest merger failed with multiple errors 해결 안드로이드 스튜디오에서 기존 프로젝트 소스를 몇 가지 수정을 했고 마지막으로 APK 파일을 추출하려고 하니 다음과 같은 에러 문구가 발생했습니다 Manifest merger failed with multiple errors, see logs 해당 에러 문구만 봐서는 어디 쪽에서 문제가 생겼다는지 정확히 알 수 없는 게 Manifest 쪽을 살펴봐도 에러를 표시하지 않고 있다는 것인데 이번 포스팅에서는 해당 에러 문구 발생 시 상세 에러 로그를 찾는 방법에 대해 간단하게 소개합니다. 먼저 해당 에러를 만나게 되면 프로젝트의 Manifests로 이동합니다 그다음 Manifests가 나열되어 있는 소스코드 맨 하단 왼쪽을 보면 Merged Manifest라는 탭이 있습니다 해당 탭으로 진입을 합니다 맨 처음 .. 2022. 10. 6.
[Android] ProgressBar 막대 색상 변경 ProgressBar 상태에 따라서 막대 색상이 동적으로 변해야 한다는 요청이 있어서 포스팅을 통해서 막대 색상을 변경하는 방법에 대해 알아보도록 하겠습니다 안드로이드 스튜디오 JAVA를 이용해서 구현하였습니다 먼저 막대 형태의 프로그래스 바를 XML에 정의합니다 다음으로는 프로그래스바의 막대 색상을 변경합니다 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { progress.setProgressTintList(ColorStateList.valueOf(Color.parseColor("#FF3333"))); } Build Version Check를 통해 Lollipop 이상일 때에만 가능하게 조건을 걸어주는데 Lollipop이하에서는 해당 소스코드.. 2022. 9. 27.
[Android] 다이얼로그 뷰바인딩 wrap_content 고정되는 문제 해결 안드로이드에서는 뷰 바인딩이라는 아주 편리하고도 강력한 기능이 있는데 다이얼로그 layout에서 아무리 layout_width, layout_height의 크기를 정하고 match_parent로 지정을 하여도 ViewBinding을 이용해서 inflate를 하면 크기가 wrap_content로 고정되어 다이얼로그가 원하는 대로 출력되지 않습니다 먼저 다이얼로그 뷰바인딩에 대한 방법은 이전 포스팅에서 확인하실 수 있습니다 2022.09.23 - [안드로이드] - [Android] Dialog layout ViewBinding 사용하기 [Android] Dialog layout ViewBinding 사용하기 이전 포스팅에서 Activity layout을 뷰 바인딩 방식으로 사용하는 방법에 대해 글을 작성했습.. 2022. 9. 23.
[Android] Dialog layout ViewBinding 사용하기 이전 포스팅에서 Activity layout을 뷰 바인딩 방식으로 사용하는 방법에 대해 글을 작성했습니다 Activity도 ViewBinding방식으로 사용하는데 내가 만든 다이얼로그 layout도 이러한 방식으로 사용하면 너무 편할것 같다는 생각에 시도해 봤는데 결과는 동일하게 된다는 점입니다 먼저 Activity ViewBinding에 대해서는 다음 포스팅에서 확인 가능합니다 2022.09.15 - [안드로이드] - [Android] View Binding [Android] View Binding 안드로이드가 코틀린 언어를 수용하면서 생긴 뷰 바인딩이라는 이론을 알게 되었는데 기존에 사용하던 뷰 참조 방식에서 정말 놀랍도록 편리합니다 예전 자바 시절부터 코딩을 하던 안드로이 codinghero.tis.. 2022. 9. 23.
반응형