본문 바로가기

전체 글415

[Android] Retrofit에 Header 추가하기 안드로이드에서 API 요청을 보낼때는 주로 retrofit2 라이브러리를 사용합니다. 토큰과 같은 정보들은 Request의 헤더에 포함되어서 서버로 전달되어야 하므로 헤더를 추가하는 방법을 알아보겠습니다. 헤더를 추가하는 방법에는 두가지가 있는데, 하나는 API 인터페이스에 직접 @Header 어노테이션을 붙인 파라미터를 추가하는 방법이고 다른 하나는 Interceptor를 사용하는 방법입니다. @Header 어노테이션 활용 import retrofit2.Call import retrofit2.http.GET import retrofit2.http.Query interface ItemListAPI { @GET("/api/itemlist") fun getItemList( @Header("token") to.. 2024. 3. 21.
[Android] Drag And Drop View 예제 Touch Event 를 이용하여 이동이 자유로운 View 를 만들어보려고 합니다. 흔히 알고 있는 드래그 앤 드롭(Drag And Drop) 방식으로 화면에 벗어나지 않도록 좌표 값에 대한 예외 처리를 추가했습니다. 1. Touch시 이동 가능한 View 예제 결과 - 생성된 View는 Touch시 이동이 가능하다. - View에서는 좌표 값을 표시한다. - Close시 해당 View는 종료시킨다. 2. Drag And Drop View 아래 DragAndDropView 클래스 전문 입니다. 주요 내용을 요약해보자면.. - DragAndDropView 는 LinearLayout 를 상속받은 View 클래스 이다. - TouchListener 인터페이스 구현을 통해 Touch 시 View 의 좌표 값을 .. 2024. 3. 4.
[Android] RecyclerView에 Header, Footer 추가 안드로이드 RecyclerView Header, Footer RecyclerView(리사이클러뷰)의 Adapter는 getItemViewType이라는 메소드를 제공해 Header, Footer, Item을 구별할 수 있습니다. RecyclerView에서 Header와 Footer를 구현하기 위해서는 Adapter의 override 메소드인 getItemViewType, onCreateViewHolder, onBindViewHolder, getItemCount에서 각각의 뷰를 구분하고 구현해줘야 합니다. 그럼 이제부터 RecyclerView의 Header와 Footer를 구현하는 방법을 알아보도록 하겠습니다. 이 예제는 리사이클러뷰 접기/펼치기 예제를 베이스로 진행됩니다. 아직 리사이클러뷰 사용방법을 잘 .. 2024. 2. 22.
[Android] Module 생성 및 추가 Kotlin을 연습하면서 Java도 함께 코딩을 하고 싶은데, 프로젝트를 새로 생성하자니 귀찮고, 하나의 프로젝트 안에 Kotlin 모듈과 Java 모듈을 생성하면 되겠다고 생각이 들었다. Module을 생성하는 방법은 구글링해보면 이미 많이 포스팅되어 있지만, 내 목적은 단 하나! 깔끔하게 Kotlin 모듈과 Java 모듈 2개를 생성하는 것... 먼저 새로운 모듈 생성을 한다. 기존에 Kotlin 모듈도 새로 생성한 Java 모듈과 구분될 수 있게 이름을 변경한다. 각각 Run module 확인 및 설정을 한다. 이제 각각 실행해보면 ? 모듈이란? 모듈은 안드로이드 디벨로퍼 사이트에 다음과 같이 정의 되어있습니다. 모듈은 소스 파일 및 빌드 설정으로 구성된 모음이며, 이를 통해 프로젝트를 별개의 기능.. 2024. 2. 22.
[Android] Library 생성 1. 새 프로젝트 생성 지금 만드는 Library는 보여지는부분이 없는 기능을 만들어야 하므로 굳이 Activity를 만들 필요가 없다. 그러함으로 No Activity로 지정한다. 프로젝트의 패키지명, 이름을 지정한다. 2. build.gradle 설정 2.1 plugins id 수정 plugins { id 'com.android.application' } 위의 코드를 아래의 코드로 변환 plugins { id 'com.android.library' } 2.2 defaultConfig의 applicationId 제거 defaultConfig { minSdkVersion 21 targetSdkVersion 29 versionCode 1 versionName "1.0" testInstrumentationR.. 2024. 2. 22.
[Kotlin] Tesseract를 이용한 OCR 기능 추가 한글을 인식하는 OCR 라이브러리중에서는 네이버클로버 API가 가장 인식률이좋고, 영수증 전용템플릿이 있다고 한다. 물론 가격은 다른 OCR 라이브러리에 비해서는 비싼편인듯 기본 OCR이 월 무료 100건, 영수증 OCR은 무조건 유료 OCR 라이브러리별 비교 (네이버 클로버, 테서랙트, EasyOCR, 카카오 PORORO) https://velog.io/@sionshin/OCR-%EC%B0%BE%EC%95%84-%EC%82%BC%EB%A7%8C%EB%A6%AC 해당 포스팅에 사용된 스틱코드 stickode.com/detail.html?no=2177 스틱코드 stickode.com # 환경 세팅 1. 라이브러리 추가 tess-two 추가 ▶ 해당 기능을 사용하기 위해서는 tess-two라는 모듈이 필요합.. 2024. 2. 21.