Android/Android Java

Synchronize와 AtomicBoolean은 Java에서 멀티스레딩 프로그래밍에서 자주 사용된다. 각각의 용도와 사용방법을 알아보도록 하자. 1. Synchronizesynchronize 키워드는 특정 블록이나 메서드에 대해 스레드가 동시에 접근하지 못하도록 동기화한다. 이는 주로 임계 영역(critical section)을 보호하는 데 사용된다. synchronized 키워드를 사용하면 한 번에 하나의 스레드만 해당 블록을 실행할 수 있다. (1) SynchronizedExample.javapublic class SynchronizedExample { private int count = 0; public synchronized void increment() { count++; } public in..
1. TreeView란?RecyclerView와 다르게 TreeView는 특별한 장점을 갖고 있다. 계층 구조 표현데이터 조작데이터 시각화상위노드와 하위노드 그리고 하위노드 depths가 크게 작용될 때, TreeView의 사용이 적합하다. RecyclerView는 depths가 높아질수록 성능 저하를 일으키는 문제가 발생된다. 일반적으로 TreeView는 각 노드가 데이터를 갖고 있어 데이터 처리 및 수정 조작에 적합하다. 이러한 특성 덕분에 좀 더 세밀한 하위구조에 적합하며, 조직도 파일 탐색기, 카테고리 분류 등과 같이 하위 노드를 필요로 하는 시각화 부분에 있어 사용되고 있다. 2. TreeView구조일반적인 TreeView구조에 대해 예시 코드로 같이 알아보자 CODE(1) TreeNode.ja..
1. China Push란?중국 내부에서는 기본적으로 Google Firebase FCM 서비스가 아닌 Baidu 서비스를 사용하고 있다. Baidu는 디바이스에 별도로 인증을 받아야 하기 때문에(White List) 일반적으로 중국디바이스로는 푸시 서비스를 이용할 수 없다. 하여 몇가지 특별한 방법으로 중국디바이스에 푸시서비스를 받을 수 있도록 한다. Baidu : 중국 디바이스의 공식적인 푸시 서비스Mqtt : Rabbit MQ를 이용한 푸시 서비스Pushy : 독자적인 글로벌 푸시 서비스 2. 중국 디바이스의 종류중국 디바이스는 글로벌용과 내수용 두가지로 나뉜다. 푸시서비스에 있어 두가지 종류의 큰 차이는 없으나 내수용은 한글 번역을 지원하지 않는 경우도 있다. 중국은 각각의 제조사가 서로 다른 커..
1. 사진 촬영카메라에서 찍은 사진을 "ActivityResultLauncher"로 읽어온다. "ActivityResultLauncher"는 "startActivityForResult" 의 대체로 "startActivityForResult"는 한 클래스 안에서 구현되는 Intent값을 모두 같은 "onActivityResult" 에서 받아야 함으로 Switch case로 분기처리 하여 받아야 했었다.  "ActivityResultLauncher"는 메서드화 하여 각각 다른 이름으로 선언하여 원하는 위치에서 값을 받을 수 있다. "ActivityResultLauncher"에서 파일을 삭제하는 부분이 있는데 Scoped Storage 특성상 원본파일을 수정할 수 없음으로 전송시 파일을 전송한 뒤 삭제 하도록..
Bell91
'Android/Android Java' 카테고리의 글 목록