Locaiton Service나 onClick에 대한 Listener (예: LocationCallback with FusedLocationProviderClient 또는 LocationListener with LocaitonManager)는 전통적인 의미에서 별도의 스레드, 서비스 또는 인터럽트로 작동하지 않는다. 위치 업데이트를 처리하기 위해 별도의 스레드가 필요한 경우 (예: 무거운 연산을 윟) Thread, HandlerThread 또는 ExecutorService 를 사용해 명시적으로 생성하고 관리해야 한다. 작동 방식을 아래와 같다. Listener MechanismCallback-Based: LocationCallback 또는 LocationListener와 같은 Listener는 콜백 메..
안드로이드 Activity를 생성하면 onCreate() 메서드가 자동으로 생성이 되고 그 안에는 하기 코드가 함께 생성되는 것을 확인할 수 있다. 해당 코드에 대해 알아보자.ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> { Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()); v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom); return insets;}); 이 코드는 status bar, navigation ..
안드로이드 프레임워크에서 제공하는 Location 관련 API에 대해 알아보자. LocationManager와 FusedLocationProviderClient는 모두 안드로이드에서 위치 서비스에 사용되지만, 몇 가지 차이점과 구체적인 사용 사례가 있다. LocationManager는 더 많은 제어 기능을 제공하지만 더 많은 관리가 필요한 반면, FusedLocationProviderClient는 사용하기 쉽고 배터리 및 성능에 더 최적화되어 있다. 대부분의 최신 앱의 경우 단순성과 기본 제공 최적화 기능으로 인해 FusedLocationProviderClient가 권장된다. LocationManagerNative API: 기기의 위치 서비스에 액세스하는 데 사용되는 Android의 오래된 기본 제공 A..
텍스트 아이템 목록을 보여주는 안드로이드의 RecyclerView 구현이다. 이 예제에서 RecyclerView를 설정과 사용자 지정 어댑터를 구현하고, ViewHolder를 생성하는 방법을 보여준다. 필요에 따라 더 복잡한 레이아웃, 인터랙션 로직 또는 애니메이션을 추가할 수 있다. Dependecies 추가: 우선 RecyclerView의 dependency를 build.gradle에 추가한다.dependencies { implementation 'androidx.recyclerview:recyclerview:1.2.1'} RecyclerView의 Layout 생성: 해당 activity layout XML 파일(예: activity_main.xml)에 RecyclerView를 추가한다. ..
RecyclerView는 안드로이드용 ListView의 보다 고급스럽고 유연한 버전이다. 안드로이드 지원 라이브러리의 일부이며 스크롤 가능한 목록 또는 Grid 형식으로 아이템의 대용량 데이터 세트를 효율적으로 표시하도록 설계되었다. 다음은 RecyclerView의 주요 기능에 대한 분석이다. 주요 기능View Recycling (재활용 보기): RecyclerView는 더 이상 표시되지 않는 아이템 보기를 재사용(재활용) 하여 생성되는 View의 수를 줄인다. View가 화면에서 사라지면 처음부터 새 View를 만드는 대신 새 데이터에 재사용되므로 성능이 향상된다.Layout Managers (레이아웃 관리자): RecyclerView는 아이템 배치 방식에 유연성을 제공한다.세로 또는 가로 목록의 경우..
안드로이드에서 Snackbar와 Toast는 모두 사용자에게 간단한 메시지를 표시하는 데 사용되는 UI 구성 요소지만, 모양 및 동작이 다르다. Snackbar는 더 다양하고 대화형인 반면 Toast는 더 단순하며 주로 짧은 비대화형 메시지를 표시하는 데 사용된다. 상호 작용 Snackbar : 사용자와 상호 작용을 허용한다. '실행취소(UNDO)' 또는 '재시도(RETRY)'와 같은 Action Button (작업 버튼)을 추가하여 사용자가 메시지에 따라 특정 작업을 수행할 수 있도록 할 수 있다.Toast: 비대화형 메시지다. Toast는 단순히 메시지를 표시하고 사용자 상호작용 없이 사라진다.사용 컨텍스트Snackbar: 현재 보기와 관련된 메시지(예: 양식 제출 또는 업데이트)를 표시하는 데 사..
Android Studio에서 새로운 Activity를 생성할 때 Empty Activity와 Empty View Activity를 확인할 수 있다. 두 Activity의 차이점을 알아보자. Empty Views Activity: Empty Views Activity는 Android 앱에서 Java를 이용한 template이다. Android Developers 사이트에도 현재 Empty Views Acitivty에 대한 문서 페이지는 없다.(Empty Activity에 대한 페이지 역시 제공하지 않고있다.) 이는 Android 앱 개발이 Java로만 이뤄지던 시절에 존재했던 기본 Activity로 old version이라고 할 수 있지만, 현재 Java로 개발을 할 때는 Empty Views Activ..
Android HAL은 Hardware abstraction의 한 유형이다. 안드로이드 운영체제에서 HAL은 하드웨어 구성요소에 대한 표준화된 인터페이스를 제공해 안드로이드 운영체제와 해당 애플리케이션을 기본 하드웨어의 세부 사항으로부터 효과적으러 분리한다. Android HAL의 작동 방식을 알아보자. 표준화된 인터페이스 : HAL은 카메라, 블루투스 모듈, 센서 등 각 유형의 하드웨어 구성 요소에 대한 표준 인터페이스를 정의한다. 이 인터페이스는 기본 하드웨어의 특정 구현에 관계없이 모든 장치에 일관되게 적용된다. 모듈화 : 각 유형의 하드웨어 구성 요소에는 고유한 HAL 모듈이 있다. 이러한 모듈식 접근 방식은 디바이스 제조업체가 안드로이드 시스템의 다른 부분에 영향을 주지 않고 특정 하드웨어와 인..
위키에 따르면 : The Android SDK is a software development kit that includes a comprehensive set of development tools. These include a debugger, libraries, a handset emulator based on QEMU, documentation, sample code, and tutorials. : Android SDK는 소프트웨어 개발 도구로 포괄적인 개발 도구들은 포함하고 있다. 여기에는 디버거, 라이브러리, 에뮬레이터, 문서, 샘플 코드, 튜토리얼이 포함돼 있다. SDK라는 용어 자체는 Android에서 많이 쓰이지만 Android에 국한된 용어는 아니다. JDK의 경우 Java Develop..
Soong이란? : Build 도구 중 하나인 Make를 대체하기 위해 Android 7.0(누가) 때 소개됨. Android의 build 속도를 높이기 위해 Kati GNU Make clone과 Ninja build system component를 사용. Android 7.0 배포 전까지, Android는 build rule을 형성하고 실행하기 위해 GNU Make를 사용. Make build system은 폭넓게 지원되고 사용됐지만, Android의 규모에선 느리고, 오류체 취약하며(error prone), 유연하지 못하며(unscalable), 테스트하기 어렵다. Soong build system은 Android build에 요규되는 유연함(flexibility)를 제공. Make와 Soong 비교..
- Total
- Today
- Yesterday
- 이코노미스트
- 소켓 프로그래밍
- 투 포인터
- 리트코드
- The Economist
- C++
- leetcode
- java
- machine learning
- 이코노미스트 에스프레소
- tf-idf
- DICTIONARY
- 딕셔너리
- Hash Map
- ml
- 안드로이드
- 오블완
- Computer Graphics
- vertex shader
- Python
- 머신 러닝
- 파이썬
- 티스토리챌린지
- min heap
- socket programming
- defaultdict
- The Economist Espresso
- Android
- I2C
- join
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |