루틴프로그래밍에서 루틴이란 프로그램의 흐름을 추상적으로 일컫는 말입니다.메인루틴과 서브루틴으로 나눌 수 있습니다.main 함수에 의해 수행되는 프로그램이 있다고 가정하면,메인 루틴 : main 함수에 의해 수행되는 프로그램의 흐름서브 루틴 : main 함수 안에서 실행되는 개별 함수들에 의해 수행되어야 하는 흐름 코루틴 실행의 지연과 재개를 허용함으로써, 비선점적 멀티태스킹을 위한 서브 루틴을 일반화한 컴퓨터 프로그램 구성요소 안드로이드에서는 AsyncTask를 이용해서 손쉽게 비동기 프로그래밍을 구현했었지만 구글은 컨택스트 누수, 콜백 누락, 구성 변경 시 충돌 과 같은 여러가지 문제로 API 30 이상부터 deprecate 시키고 코루틴을 사용하도록 권장하고 있습니다.코루틴과 스레드구글에서는 Asy..
안드로이드
ANR에 관한 안드로이드 공식문서를 보고 정리해 보았습니다.https://developer.android.com/topic/performance/vitals/anr?hl=ko ANR | App quality | Android Developers이 페이지는 Cloud Translation API를 통해 번역되었습니다. ANR 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Android 앱의 UI 스레드가 너무 오랫동안 차단되면 'ANRdeveloper.android.com ANR 개발을 하다 보면 앱이 비정상종료될 때 이런 메시지가 나오는 것을 많이 보셨을 텐데요.Android에서는 앱의 UI 스레드가 너무 오랫동안 차단되면 위와 같은 Application Not ..
이번에 저는 시리얼 통신을 이용해서 안드로이드 앱에서 모터나 센서를 제어해 보는 예제를 만들어보았습니다. 과거에 파이썬으로 라즈베리파이를 이용해서 대학교 졸업작품을 만들었던 기억과 지금 안드로이드 개발을 공부하고 있으니까 두개를 합쳐서 예제를 한번 만들어볼까? 라는 생각이 들었습니다.진짜로 해보고 싶었던 건 블루투스 또는 와이파이를 통해서 센서나 모터를 제어하고 싶었지만, 시간관계상 급하게 인터넷에서 아두이노를 주문한 나머지 관련된 모듈이 포함되지 않은 채로 주문할 수밖에 없었습니다.그래서 결국 USB를 이용하였습니다. 시리얼 통신이란?데이터를 한번에 1비트씩 순차적으로 전송하는 방식의 통신입니다.일반적으로 컴퓨터와 외부장치 간의 데이터 전송에 사용되는데 병렬통신과 달리 하나의 데이터 라인을 사용하여 데..
이전 글에서 액티비티 생명주기를 알아보았습니다.각 버튼으로 프래그먼트를 프레임레이아웃에 프래그먼트를 띄우는 예제를 통해서 프래그먼트의 생명주기에 대해 알아보려고 합니다.2024.11.08 - [안드로이드] - [Android] Activity Lifecycle [Android] Activity Lifecycle안드로이드를 공부할 때 가장 먼저 공부하게 되는 것 중에 하나가 생명주기입니다.안드로이드 4대 컴포넌트 중 하나인 액티비티의 생명주기에 관해서 적어보려고 합니다.차근차근 알아보겠습goharry.tistory.com 프래그먼트 생명주기(Fragment Lifecycle)프래그먼트 생명주기의 종류는 액티비티의 생명주기 종류보다 많습니다.간단하게 알아보겠습니다.onAttach()프래그먼트가 액티비티..
안드로이드를 공부할 때 가장 먼저 공부하게 되는 것 중에 하나가 생명주기입니다. 안드로이드 4대 컴포넌트 중 하나인 액티비티의 생명주기에 관해서 적어보려고 합니다. 차근차근 알아보겠습니다.1. 액티비티 생명주기(Activity Lifecycle)액티비티 생명주기에 대한 내용이 안드로이드 공식문서에 다음과 같이 적혀 있습니다.사용자가 앱을 탐색하고, 앱에서 나가고, 앱으로 다시 돌아가면, 앱의 Activity 인스턴스는 생명 주기 안에서 서로 다른 상태를 통해 전환됩니다. Activity 클래스는 여러 콜백을 제공합니다.https://developer.android.com/guide/components/activities/activity-lifecycle?hl=ko 활동 수명 주기 | Android Dev..
https://developer.android.google.cn/develop/ui/views/launch/splash-screen?hl=ko 스플래시 화면 | Views | Android Developers중요: Android 11 이하에서 맞춤 스플래시 화면을 구현한 경우 앱을 SplashScreen API로 이전하여 Android 12 이상에서 올바르게 표시되도록 하세요. 자세한 내용은 기존 스플래시 화면 구현을 Android 12로developer.android.google.cn 안드로이드 12 부터는 SplashScreen API가 추가되었다고 한다. SplashScreen API는 앱의 상태에 따라 실행되는데 안드로이드 12부터 강제적으로 사용해야 되는 번거로움이 생겼다고 한다. Spl..
디자인 패턴 관련 글 첨부합니다. 2024.04.30 - [안드로이드] - [Android] 디자인 패턴 이해 (MVC/MVP/MVVM) [Android] 디자인 패턴 이해 (MVC/MVP/MVVM)1. 디자인 패턴이란?객체 지향 프로그래밍을 설계할 때 자주 발생하는 문제에 대응하기 위해서 사용되는 패턴을 의미한다.어떻게 보면 개발하는 방법을 공식화한 것이라고 생각하면 된다. 2.goharry.tistory.com2024.05.04 - [안드로이드] - [Android] MVC 패턴! [Android] MVC 패턴!2024.04.30 - [안드로이드] - [Android] 디자인 패턴 이해 (MVC/MVP/MVVM) [Android] 디자인 패턴 이해 (MVC/MVP/MVVM)1. 디자인 패턴이란?객체 ..
디자인 패턴 관련 글들을 첨부하고 시작하겠습니다.2024.04.30 - [안드로이드] - [Android] 디자인 패턴 이해 (MVC/MVP/MVVM) [Android] 디자인 패턴 이해 (MVC/MVP/MVVM)1. 디자인 패턴이란?객체 지향 프로그래밍을 설계할 때 자주 발생하는 문제에 대응하기 위해서 사용되는 패턴을 의미한다.어떻게 보면 개발하는 방법을 공식화한 것이라고 생각하면 된다. 2.goharry.tistory.com2024.05.04 - [안드로이드] - [Android] MVC 패턴! [Android] MVC 패턴!2024.04.30 - [안드로이드] - [Android] 디자인 패턴 이해 (MVC/MVP/MVVM) [Android] 디자인 패턴 이해 (MVC/MVP/MVVM)1. 디자..
이전에 이미지 뷰에 이미지를 띄우기 전에 thumnail() 이라는 메서드로 로딩 애니메이션을 구현한 예제를 포스팅 했었다. 2024.07.27 - [안드로이드] - [Android] Glide 2 - 로딩 애니메이션 구현 [Android] Glide 2 - 로딩 애니메이션 구현예전에 글라이드에 대한 글을 한번 남긴 적이 있었다. 2024.03.25 - [안드로이드] - [Android] Gilde, 글라이드 [Android] Gilde, 글라이드처음에 이미지뷰에 이미지를 로드하기 위해서 우리는 기본적으로 segoharry.tistory.com 그런데 또 문제가 발생해서 포스팅을 해봅니다. 문제프로필 이미지의 UI 추세가 원형이기 때문에 내 프로젝트에는 원형이미지뷰를 구현할 수 있게 해주는 circle..
예전에 글라이드에 대한 글을 한번 남긴 적이 있었다. 2024.03.25 - [안드로이드] - [Android] Gilde, 글라이드 [Android] Gilde, 글라이드처음에 이미지뷰에 이미지를 로드하기 위해서 우리는 기본적으로 setImageResource를 사용한다. imageView.setImageResource() imageView.setImageURI() 등 하지만 안드로이드에서 이미지를 빠르고 효율적으로 불러goharry.tistory.com 사용자 관점에서 생각 내가 보통 글라이드를 사용할 때url로 이미지를 로드하는 경우가 굉장히 많다.그래서 이미지 로드가 완료되기 전 또는 에러가 나서 이미지를 불러오지 못했을 때 대체 이미지를 보여줘야 하는 경우가 많았다.그럴 때마다 나는 place..