Android66 [Android] RecyclerView Drag and Drop 구현하기 RecyclerView에서 Drag and Drop을 사용하려면 ItemTouchHelper를 사용해야 한다. ItemTouchHelper는 RecyclerView에 Drag and Drop과 Swipe를 지원하는 유틸리티 클래스다. ItemTouchHelper 객체를 RecyclerView에 연결하고 interface에 정의한 drag 관련 메서드들을 override하여 Drag and Drop을 할 수 있다. Interface 정의 // Adapter에서 사용할 interface interface ItemMoveListener { // Drag 처리를 위한 메서드 fun onItemMove(fromPosition: Int, toPosition: Int): Boolean // Drop 처리를 위한 메서.. Android/RecyclerView 2022. 11. 18. [Android] SharedPreferences에 ArrayList로 저장하기 안드로이드에서 가벼운 데이터를 저장하기 위해 SharedPreferences를 사용하곤 한다. ShardPreferences는 key-value 형태로 기기에 데이터를 저장된다. value에는 String, Int, Boolean과 같은 자료형들을 담을 수 있다. 그러면 list(array)의 경우 어떻게 해야 할까? list를 json 형식의 string으로 변환하여 저장하고, 사용할 때는 json 형식의 string을 list로 변환하여 사용해야 한다. 이 동작을 Gson 라이브러리를 통해 쉽게 할 수 있다. SharedPreferences에 ArrayList로 데이터 저장하기 EditText에 텍스트를 입력을 완료하면 현재 날짜와 입력한 텍스트를 ArrayList로 변환하여 기기에 저장하려 한다. .. Android/SharedPreferences 2022. 11. 16. [Android] 카메라 캡처(촬영)하기 - CameraX ˙ ImageCapture [Android] 카메라 미리보기 - CameraX · PreviewView 앱에 카메라 기능을 추가하려는 경우 CameraX와 Camera2를 사용할 수 있다. CameraX는 Camera2 패키지를 기반으로 만들어진 Jetpack 라이브러리로, API가 Camera2보다 훨씬 단순하고 기기 호환성 문제가 없어 ogyong.tistory.com 카메라 미리보기에 이어서 카메라 캡처를 해보려 한다. 간단하게 '캡처하기' 버튼을 클릭하면 ImageView에 해당 이미지를 보여주고, '다시찍기' 버튼을 클릭하면 초기화면으로 돌아가는 앱을 만들었다. 카메라 캡처(촬영)하기 예제 카메라 캡처를 하기 위해서는 ImageCapture의 takePicture를 사용해야 한다. takePicture는 캡처된 이미지를 .. Android/Camera 2022. 11. 14. [Android] 카메라 미리보기 - CameraX · PreviewView 앱에 카메라 기능을 추가하려는 경우 CameraX와 Camera2를 사용할 수 있다. CameraX는 Camera2 패키지를 기반으로 만들어진 Jetpack 라이브러리로, API가 Camera2보다 훨씬 단순하고 기기 호환성 문제가 없어서 안드로이드에서 권장하고 있다. (Camera2는 복잡한 작업을 할 때 사용한다고 한다.) 참고 CameraX를 사용하여 카메라 화면을 보기 위해서 PreviewView를 사용해야 한다. PreviewView는 화면을 유연하게(자르기, 크기 조정, 회전 등) 표시할 수 있는 View이다. 카메라 미리보기 예제 CamreaX와 PrevieView를 사용하여 화면에 미리보기를 띄우려고 한다. 1. gradle에 CameraX 의존성 추가 2. 카메라 권한 Manifest에 .. Android/Camera 2022. 11. 9. [Android] 권한(Permission) 처리하기 Android 5.1 버전 이하에서는 앱의 설치 단계에서만 사용자에게 권한을 요청한다. 개별적으로 권한을 선택할 수 없어서 앱을 사용하기 위해서 요청된 묶음 권한에 대해 감수할 수밖에 없었다. 또한 사용자가 앱 사용 중 어느 타이밍에 해당 권한을 사용하는지 확실히 알 수 없어서 약간의 찝찝한(불안한)을 가질 수밖에 없었다. 하지만 Android 6.0 버전부터 앱 실행 중 사용자에게 권한을(런타임 권한) 요청할 수 있는 기능이 추가됐다. 사용자의 입장에서 어떤 동작을 할 때 권한 요청을 받기 때문에 이 권한이 왜 필요한지 이유를 알 수 있다. (사용자가 편안함을 느낀다고 한다.) 안드로이드 버전이 업데이트될 때 어떤 기능에 대해서 권한을 체크하도록 추가되는 경우가 있다. 예를 들어 Android 12 버.. Android/Permission 2022. 11. 7. [Android] RecyclerView 클릭 이벤트 처리하기 RecyclerView의 Item을 클릭할 때 intent나 api 호출 등을 Adapter에서 처리한다고 번거로웠던 적이 있다. 이럴 때 interface를 통해 Activity나 Fragment에서 클릭 이벤트를 처리할 수 있다. 1. Interface 생성 2. Adapter에서 Interface에 대한 객체를 생성 및 초기화 3. Activity 또는 Fragment에서 override 하여 사용 예제로 아이템을 클릭했을 때 해당 아이템의 텍스트를 토스트로 띄워보려고 한다. 인터페이스 생성 interface SetOnClickListenerInterface { fun listItemClickListener(itemData: String, binding: ItemListMainBinding) } 리.. Android/RecyclerView 2022. 11. 2. 이전 1 ··· 3 4 5 6 다음