본문 바로가기

Android16

[Android] 프로그래밍 하면서 놓칠 수 있는 부분들 프로그래밍을 하면서 의도치 않게 놓치는 부분들이 있다. 사소한 실수들이지만 때로는 크리티컬한 이슈로 이어지는 부분들이 있다. 이번 글에서는 필자의 그런 경험들을 작성해보고자 한다. 1. RecyclerView의 itemView 재활용 RecyclerView와 ListView의 가장 큰 차이점은 성능을 위해서 RecyclerView에서는 itemView를 재활용 한다는 점이다. 성능적인 부분에서는 이점이 많지만, 오히려 신경을 써주지 않으면 문제가 발생할 수 있다. 예를 들어서 하나의 RecyclerView에 itemType이 다르게 설계될 수도 있다. 그럴 때 다른 listener를 등록하기도 하고, 속성 값을 다르게 설정하기도 한다. ListView로 설계를 했을 때에는 매번 새로 View를 그려주기 .. 2023. 6. 3.
[Android] 단말을 명령어로 조종해보자 (ADB, Scrcpy) Android 단말의 경우 Google에서 제공해주는 ADB Tool을 이용하여 단말에 여러 명령을 전달할 수 있다. - 단말 재부팅 - 단말 밝기 조절 - apk 설치 - 파일 push, pull 등 오늘은 명령어로 단발을 조종하는 법에 대해서 간단하게 알아보자. ADB란? Android Debug Bridge의 약자이다. 위에서 기술한대로 단말의 상태를 조절할 수도 있으며, 특정 파일을 설치하거나 옮기고, 심지어는 activity 실행 등의 명령도 수행할 수 있다. Android SDK에 포함되어 있으며 경로는 다음과 같다. * 아래는 필자 컴퓨터 기준이며, SDK 경로에 platform-tools 아래에 adb 실행 파일이 존재한다. C:\Users\\AppData\Local\Android\Sdk\.. 2023. 4. 23.
[Android] 코드 스캔하기 with Lint 높은 코드 퀄리티, 안정성 있는 코드를 작성하기 위해서 다양한 테스트를 진행한다. Unit Test를 작성함으로 코드가 요구 사항을 만족하는지 동작을 확인할 수도 있고, 필자가 이전에 작성한 Monkey Test등 UI Test 툴을 사용하여 실사용에서의 문제를 체크해볼 수도 있다. 동적 테스트를 수행 했었다면 이번에는 정적 분석을 할 수 있는 툴을 알아보자. 1. Lint란? 쉽게 요약하자면 Android Studio에서 제공하는 코드 정적 분석 툴이다. Lint를 사용하면 소스 파일을 검사하여 잠재적 버그를 찾아내고 정확성, 보안, 성능, 사용성, 접근성, 국제화를 체크 해볼 수 있다. 2. Lint 실행 방법 Android 프로젝트에 Lint를 구성하게 되면 프로젝트 빌드시 매번 Lint가 수행되게.. 2023. 4. 9.
[Android] 터치 영역 넓히기 Android 개발을 하다보면 심심치 않게 UI/UX 가이드에 따라서 터치 영역을 조절 해야할 때가 있다. * Material에서는 터치 대상이 최소 48*48 dp 이상에 터치 대상끼리 8dp는 떨어져 있어야한다고 함 필자의 경우에도 UX팀에서 사용성을 위해서 버튼 터치 영역을 늘려달라는 요청이 있었다. 무튼... 터치 영역을 넓히는 몇가지 방법(?)을 생각해보자. Padding 지정 가장 쉽고 흔하게 사용되는 방법이다. Padding까지가 View의 영역으로 인식 되기 때문에 간단하게 Touch 영역을 넓힐 수 있다. 그러나 단점으로는 기존의 View가 흐트러 질 수 있다는 점이다. 그래도 잘 계산해서 이 방법으로 해결이 된다면 제일 좋은 경우지 않을까 싶다. Touch Delegate 부모 View.. 2023. 3. 26.