일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- androidStudio
- textfield
- Codeforces
- activity
- Hilt
- 백준
- 암호학
- MiTweet
- 쿠링
- pandas
- Kotlin
- Gradle
- MyVoca
- livedata
- 프로그래머스
- AWS
- GitHub
- ProGuard
- Compose
- relay
- 코루틴
- TEST
- android
- Rxjava
- Python
- Coroutines
- 코드포스
- Coroutine
- architecture
- boj
- Today
- Total
목록Primary/Android (80)
이동식 저장소
``Activity`` 클래스는 안드로이드에서 매우 중요한 컴포넌트이다. ``main()`` 함수에서 시작하는 다른 언어들과 달리 안드로이드 프레임워크는 ``Activity`` 인스턴스로부터 앱을 시작하며, 생명주기에 따라 적절한 콜백을 실행한다.Concept모바일 앱은 상황에 따라 다른 경로로 실행될 수 있다. 앱 목록에서 이메일 앱을 실행하면 아마 메일 리스트가 보일 것이다. 그러나 SNS 앱에서 ``메일 보내기`` 작업을 선택하여 메일 앱으로 넘어왔다면 메일 쓰기 화면이 보일 것이다. ``Activity``는 이런 방식에 맞게 설계되었다. 어떤 앱에서 다른 앱을 시작할 때에는 시작할 앱의 activity를 호출해야 한다. 즉 activity는 앱의 entry point 역할을 한다. Activit..

ConceptContent provider는 앱의 데이터를 캡슐화하고, ``ContentResolver`` 인터페이스를 통해 다른 앱에 제공함으로서 서로 다른 프로세스에서 데이터를 공유할 수 있는 표준 인터페이스의 역할을 한다. 앱 내부에서 사용할 수도 있지만, 데이터를 다른 앱에 제공하기 위해 사용되는 경우가 많다. 다른 앱에서는 provider client 객체를 사용하여 content provider에 접근한다. 즉 content provider와 provider client를 통해 일관된 데이터 인터페이스를 유지하는 동시에 데이터를 보호하고 프로세스 간 데이터 교환 작업까지 한번에 처리할 수 있다.데이터를 다른 앱과 공유해야 할 때만 content provider를 사용하자. 예를 들어 연락처 정..

안드로이드를 자동차에서도 만날 수 있다는 사실을 알고 있었던 사람? 스마트폰 화면을 미러링하는 Android Auto뿐 아니라 완전한 자동차용 운영체제 Android Automotive OS(AAOS)도 절찬리에 서비스되고 있다. 다음 코드랩을 진행해 보며 자동차용 Car App Library의 기본 내용을 공부해 보자. Learn Car App Library fundamentals | Android DevelopersIn this codelab, you learn the fundamentals of the Car App Library. This library is used to build apps for Android Auto and Android Automotive OS, which can be ..

안드로이드 앱은 broadcast 메시지를 보내거나, 시스템 또는 다른 앱에서 보낸 메시지를 수신할 수 있다. 예를 들어 안드로이드 시스템은 시스템이 부팅됐을 때나 충전이 시작됐을 때 등 시스템 이벤트가 발생할 때 broadcast를 보낸다. 일반 앱에서도 커스텀 이벤트가 발생할 때 broadcast를 보낼 수 있다. Publish-subscribe 패턴과 비슷하다. Broadcast는 시스템 상황에 따라 조금 늦게 전달될 수도 있다. 응답시간을 줄여야 한다면 bound service를 고려하는 것이 좋다. Broadcast를 수신하기 위해서는 receiver를 등록해야 한다. 시스템은 송신된 broadcast의 타입을 구독한 receiver에게 broadcast를 자동으로 전달한다. 종합하자면, 일반적..
Service는 사용자와 상호작용하지 않는 긴 작업을 표현하거나, 다른 앱에게 기능을 제공하는 컴포넌트이다. 서비스를 선언한 후에는 manifest의 ````에 서비스에 대한 정보를 작성해야 한다. 서비스는 ``Context.startService()`` 또는 ``Context.bindService()``로 작성해야 한다. 다른 컴포넌트와 마찬가지로 서비스도 프로세스의 메인 스레드에서 실행된다. 따라서 서비스에서 음악 재생 같은 CPU 작업이나 네트워크 같은 blocking 작업을 수행할 때에는 별도의 스레드를 만드는 것이 좋다. 안드로이드에서는 별도의 스레드를 갖는 서비스의 표준 구현으로 ``JobIntentService``를 제공한다.서비스란?앞서 말했듯이 서비스는 어떤 작업 또는 다른 앱에게 제공하..