일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Kotlin
- MiTweet
- Codeforces
- GitHub
- Coroutines
- architecture
- 코드포스
- activity
- Gradle
- Coroutine
- textfield
- androidStudio
- relay
- 프로그래머스
- 쿠링
- Rxjava
- livedata
- 코루틴
- 백준
- pandas
- ProGuard
- MyVoca
- boj
- 암호학
- Compose
- android
- AWS
- TEST
- Python
- Hilt
- Today
- Total
목록Primary (163)
이동식 저장소
Service는 사용자와 상호작용하지 않는 긴 작업을 표현하거나, 다른 앱에게 기능을 제공하는 컴포넌트이다. 서비스를 선언한 후에는 manifest의 ````에 서비스에 대한 정보를 작성해야 한다. 서비스는 ``Context.startService()`` 또는 ``Context.bindService()``로 작성해야 한다. 다른 컴포넌트와 마찬가지로 서비스도 프로세스의 메인 스레드에서 실행된다. 따라서 서비스에서 음악 재생 같은 CPU 작업이나 네트워크 같은 blocking 작업을 수행할 때에는 별도의 스레드를 만드는 것이 좋다. 안드로이드에서는 별도의 스레드를 갖는 서비스의 표준 구현으로 ``JobIntentService``를 제공한다.서비스란?앞서 말했듯이 서비스는 어떤 작업 또는 다른 앱에게 제공하..
Activity는 사용자와 직접 상호작용하는 컴포넌트이다. Activity의 가장 큰(그리고 거의 유일한) 용도는 사용자에게 UI를 보여주는 것이다. 보통 activity는 전체 화면으로 보이는 경우가 많지만, 플로팅 윈도우나 멀티 윈도우 등 화면의 일부만 차지하는 경우도 있다. Activity는 자신의 lifecycle이 바뀔 때마다 ``onCreate``, ``onPause`` 등의 콜백을 실행한다. Lifecycle이 바뀔 때 실행해야 하는 작업이 있다면 콜백을 오버라이드하면 된다.FragmentActivity는 하나의 화면으로 이루어질 수도 있지만, 여러 개의 화면 조각(fragment)로 구성할 수도 있다. Fragment를 적절히 활용하면 UI 코드를 모듈화하고, 더 복잡한 UI를 편리하게..
Manifest안드로이드에는 앱의 진입점 역할을 하는 4개의 주요 컴포넌트가 있다. 그런데 이 진입점들이 실제로 시스템과 상호작용하기 위해서는 시스템에게 컴포넌트의 존재를 알려야 한다. 그 역할을 하는 것이 바로 ``AndroidManifest.xml``이다. Manifest는 컴포넌트를 정의하는 역할 외에도 여러 기능을 수행한다.앱에 필요한 사용자 권한을 정의한다. (인터넷, 연락처 접근 등)앱이 설치될 수 있는 API 최소 레벨을 정의한다. 다만 API 레벨은 manifest보다는 ``build.gradle`` 파일에서 선언하는 경우가 대다수이다.앱이 사용하는 하드웨어/소프트웨어 기능을 정의한다. (카메라, 블루투스 등)주로 앱의 정적인 속성을 정의한다고 볼 수 있다. 권한이나 기능 등...Mani..
Android Fundamentals 시리즈안드로이드 개발자로서 Compose, ViewModel 등 여러 기술을 공부했지만, 구현에 집중한 나머지 기초 개념을 탄탄히 하지 못했다는 아쉬움이 있었다. 4대 컴포넌트가 왜 4대 컴포넌트인지 물어보면 대답을 못 할 정도. ㅠㅠ 더 이상 미루면 안드로이드 개발자로서 생존이 어려울 것 같아 공부를 시작한다. Android Fundamentals 시리즈에서는 공식 문서와 기술 도서 등 여러 자료를 참고하여 공부한 내용을 정리한다. 4대 컴포넌트부터 시작하여 BFS 방식으로 훑되, 중요한 내용은 DFS로 deep dive할 예정이다. 급할수록 돌아가라.Android Fundamentals 시리즈를 언제 끝낼 지는 모르겠지만, 시리즈가 끝났을 땐 더 나은 개발자가 되..
문제 파악Navigation 2.8.0-alpha08 버전부터 Compose navigation에 type-safe 기능이 추가되었다. 내비게이션 경로를 문자열이 아닌 클래스 타입으로 지정할 수 있는 것.// beforecomposable("CampusMap") { CampusMapScreen()}// aftercomposable { CampusMapScreen()}쿠링도 single activity + navigation로 전환할 예정인 만큼, 메인 화면에 type-safe navigation을 시험삼아 적용해 보았다(이건 별도로 작성 예정). 그런데 type-safe를 적용한 2.0.2 버전에서 앱이 강제 종료되는 심각한 에러가 발생했다.에러 분석일단 에러 메시지를 보자.Fatal Exce..