Android
-
[Android/Kotlin] 어플리케이션 클래스(Application Class)Android/Kotlin 2022. 10. 21. 22:34
[모든 포스팅은 개인적 공부를 위해 작성된 글입니다] - 전역적으로 어플리케이션의 상태를 유지하기 위한 기본 클래스(어느 컴포넌트(액티비티, 서비스, 인텐트 등등)에서나 공유할 수 있는 전역 클래스) - 어플리케이션 클래스를 상속받은 클래스는 공동으로 관리해야 하는 데이터 작성에 적합 - 다른 서브 클래스들보다 먼저 인스턴스화 됨 - 1. Application Class 상속 받는 클래스 만듦 class MyApplication: Application() { override fun onCreate() { super.onCreate() } } -2. Android Manifest의 application 태그에 android:name=".Application 클래스를 상속 받는 클래스명" 추가 (계속 추가 ..
-
[Android] 런치모드(LaunchMode)Android/Android 2022. 10. 19. 22:42
[모든 포스팅은 개인적 공부를 위해 작성된 글입니다] *글을 읽기 전에 알아두면 좋을 것* - 어플리케이션에서 실행되는 액티비티 보관 및 관리 - Stack 형태로 존재(액티비티들이 쌓임) - Flag 사용하여 Task 내 액티비티 흐름 제어 가능 - 액티비티가 어떤 방식으로 실행되어야 하는지에 대한 방식 - 즉, 액티비티가 쌓이는 액티비티 스택에 대한 운영 방식을 설정하는 모드 - 1. Standard(기본값) - A -> B -> C의 순서대로 스택에 액티비티가 쌓여 있을 때 다시 B를 호출하면 A -> B -> C -> B의 순서로 쌓임 - 일반적으로 가장 많이 사용되는 모드 - 2. SingleTop - 현재 호출하려는 액티비티가 현재 작업의 가장 위에 존재하는 경우, 시스템이 새 액티비티 인스턴..
-
[Android/Kotlin] onSaveInstanceState()와 onRestoreInstanceState()Android/Kotlin 2022. 10. 19. 20:38
[모든 포스팅은 개인적 공부를 위해 작성된 글입니다 *화면 회전에 대비하는 경우 지금 설명하는 메서드 보다는 ViewModel을 사용하는 것이 더욱 효과적* - onPause() 호출 후 액티비티 파괴되기 전 데이터 저장할 때 호출 - 액티비티 파괴 후 재생성 시 onStart() 메서드 호출 후 호출 - 1. 뒤로가기 키 누름 - 2. finish() 호출 - 3. 시스템에 의한 종료(화면 회전 또는 홈 키를 눌러 장시간 화면에 보이지 않는 상태인 경우) - onPause() -> onSaveInstanceState() -> onStop() -> onDestroy() -> onCreate() -> onStart() -> (onRestoreInstanceState() ->) onResume() - 위의 ..
-
[Android] 암시적 인텐트(Intent)와 resolveActivity()Android/Android 2022. 10. 7. 20:34
[모든 포스팅은 개인적 공부를 위해 작성된 글입니다] - 개발자가 startActivity()를 통해 암시적 인텐트를 전달한 했을 때 해당 인텐트를 처리할 앱이 없는 경우 startActivity()가 실패하고 앱이 중단됨 - Intent 객체의 resolveActivity() 호출하여 반환값이 null이 아닌 경우 해당 암시적 인텐트를 처리할 앱이 하나라도 있다는 의미이므로 startActivity()로 호출해도 안전
-
[Android] Handler/Looper 기초Android/Android 2022. 9. 28. 17:02
[모든 포스팅은 개인적 공부를 위해 작성된 글입니다] - 싱글 쓰레드 모델로 동작(메인 쓰레드 이외의 쓰레드에서 UI 업데이트 금지) - UI 동작 무결성 보장 위함(여러 쓰레드에서 하나의 View에 동시에 접근한다면(변경한다면) 어떤 결과 나올지 모름) - 사용자에게 쾌적한 UI 환경을 제공하기 위해 다른 쓰레드가 메인 쓰레드를 블로킹 해서는 안됨 - 서버로부터 데이터 받아온 동작을 수행한 쓰레드로부터 메인 쓰레드로 결과를 전송해야 함(쓰레드간 통신) - 안드로이드에서는 쓰레드간 통신 위해 Handler, Looper 제공 - Handler와 Looper로 멀티 쓰레딩 환경 구축 가능 - 무한루프 돌면서 Handler가 전달 받은 메세지를 Message Queue에 순차적으로 넣어줌 - 동시에, Mes..
-
[Android] Privacy Policy로 플레이 스토어 앱 등록 개인 정보 처리 방침 만들기Android/Android 2022. 9. 21. 22:26
[모든 포스팅은 개인적 공부를 위해 작성된 글입니다] https://www.privacypolicies.com/blog/facebook-apps-privacy-policy-url/ Privacy Policy URL for Facebook Apps - Privacy Policies If you offer functionality to allow your users to sign into your app or website via their Facebook accounts, you'll need to provide a URL to your Privacy Policy. This is according to Facebook's Platform Policy for developers. This article wi..