안드로이드 만보기 샘플 코드 이해해보기 (android pedometer)
- references : https://github.com/j4velin/Pedometer
GitHub - j4velin/Pedometer: Lightweight pedometer app for Android using the hardware step sensor
Lightweight pedometer app for Android using the hardware step sensor - GitHub - j4velin/Pedometer: Lightweight pedometer app for Android using the hardware step sensor
github.com
-----------------230205-----------------
만보기 앱을 출시해보려하는데, 구현 중에 계속 실패하게 되서.. 찾던 중 발견한 샘플이다.
옛날 코드이기도 하고, 처음 보는 로직 및 API들도 있어서 분석조차도 힘들다..
하나하나 공부하면서 코드 전반을 이해하려 한다.
- AndroidManifest.xml에서 확인할 수 있는 권한
android.permission.RECEIVE_BOOT_COMPLETED
android.permission.WRITE_EXTERNAL_STORAGE
android.permission.FOREGROUND_SERVICE
android.permission.WAKE_LOCK
- AndroidManifest.xml에서 확인할 수 있는 uses-feature
android.hardware.sensor.stepcounter
- AndroidManifest.xml에서 확인할 수 있는 컴포넌트
* android:launchMode란?
1. activity
1.1. MainActivity
1.2. WidgetConfig
1.2.1. android.appwidget.action.APPWIDGET_CONFIGURE
2. broadcast receiver
2.1. BootReceiver
2.1.1. android.intent.action.BOOT_COMPLETED
2.2. AppUpdateReceiver
2.2.1. android.intent.action.MY_PACKAGE_REPLACED
2.3. Widget
2.3.1. android.appwidget.action.APPWIDGET_UPDATE
3. service
3.1. SensorListener
3.2. DashClock
3.2.1. com.google.android.apps.dashclock.permission.READ_EXTENSION_DATA
3.2.2. com.google.android.apps.dashclock.Extension
3.3. WidgetUpdateService
3.3.1. android.permission.BIND_JOB_SERVICE
키워드 하나-하나 살펴보자.
-references: https://developer.android.com/reference/android/Manifest.permission
- android.permission.RECEIVE_BOOT_COMPLETED
응용 프로그램이 시스템 부팅이 완료된 후 브로드캐스트되는 Intent.ACTION_BOOT_COMPLETED를 수신할 수 있습니다. 이 권한을 요청하지 않으면 해당 시간에 브로드캐스트를 수신할 수 없습니다. 이 권한을 유지하는 것은 보안에 아무런 영향을 미치지 않지만, 시스템을 시작하는 데 걸리는 시간을 늘리고 사용자가 알지 못하는 사이에 응용 프로그램이 자체적으로 실행되도록 허용하여 사용자 환경에 부정적인 영향을 미칠 수 있습니다. 따라서 사용자에게 이 기능을 표시하려면 이 기능의 사용을 명시적으로 선언해야 합니다.
- android.permission.FOREGROUND_SERVICE
일반 응용 프로그램에서 Service.startForeground를 사용할 수 있습니다.