summaryrefslogtreecommitdiffstats
path: root/docs/html/intl/ko/training/monitoring-device-state/battery-monitoring.jd
diff options
context:
space:
mode:
Diffstat (limited to 'docs/html/intl/ko/training/monitoring-device-state/battery-monitoring.jd')
-rw-r--r--docs/html/intl/ko/training/monitoring-device-state/battery-monitoring.jd120
1 files changed, 0 insertions, 120 deletions
diff --git a/docs/html/intl/ko/training/monitoring-device-state/battery-monitoring.jd b/docs/html/intl/ko/training/monitoring-device-state/battery-monitoring.jd
deleted file mode 100644
index 2eacccf..0000000
--- a/docs/html/intl/ko/training/monitoring-device-state/battery-monitoring.jd
+++ /dev/null
@@ -1,120 +0,0 @@
-page.title=배터리 수준 및 충전 상태 모니터링
-parent.title=배터리 수명 최적화
-parent.link=index.html
-
-trainingnavtop=true
-next.title=도킹 상태와 유형 확인 및 모니터링
-next.link=docking-monitoring.html
-
-@jd:body
-
-<div id="tb-wrapper">
-<div id="tb">
-
-<h2>강의 목표</h2>
-<ol>
- <li><a href="#DetermineChargeState">현재 충전 상태 확인</a></li>
- <li><a href="#MonitorChargeState">충전 상태 변경사항 모니터링</a></li>
- <li><a href="#CurrentLevel">현재 배터리 수준 확인</a></li>
- <li><a href="#MonitorLevel">배터리 수준 중요 변경사항 모니터링</a></li>
-</ol>
-
-<h2>참고자료</h2>
-<ul>
- <li><a href="{@docRoot}guide/components/intents-filters.html">인텐트 및 인텐트 필터</a>
-</ul>
-
-</div>
-</div>
-
-<p>백그라운드 업데이트가 배터리 수명에 미치는 영향을 줄이기 위하여 백그라운드 업데이트 빈도수를 변경하는 경우, 현재 배터리 수준과 충전 상태부터 확인하는 것이 좋습니다.</p>
-
-<p>애플리케이션 업데이트 수행이 배터리 수명에 미치는 영향은 배터리 수준 및 기기의 충전 상태에 따라 다릅니다. 기기를 AC 충전기로 충전하는 동안 업데이트 수행이 미치는 영향은 무시해도 좋습니다. 따라서 기기가 범용 충전기에 연결되어 있을 때는 대부분 새로고침 빈도를 최대화할 수 있습니다. 반대로 기기가 충전 중이 아니라면, 업데이트 빈도를 줄이는 것이 배터리 수명 연장에 도움이 됩니다.</p>
-
-<p>마찬가지로 배터리가 거의 방전된 경우, 업데이트 빈도를 줄이거나 중단할 수 있습니다.</p>
-
-
-<h2 id="DetermineChargeState">현재 충전 상태 확인</h2>
-
-<p>먼저 현재 충전 상태를 확인하는 것부터 시작합니다. {@link android.os.BatteryManager}는 배터리 충전 상태 등 충전 정보를 스티키 {@link android.content.Intent}를 통해 브로드캐스트합니다.</p>
-
-<p>스티키 인텐트이므로 {@link android.content.BroadcastReceiver}를 등록할 필요가 없으며 아래 코드 상의 리시버와 같이 간단히 {@code registerReceiver}을(를) 호출하여 {@code null}에 제출하면 현재 배터리 상태가 담긴 인텐트가 반환됩니다. 여기에 실제 {@link android.content.BroadcastReceiver} 개체 사용할 수 있으나, 이후 섹션에서 업데이트를 다루게 되므로 그럴 필요는 없습니다.</p>
-
-<pre>IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
-Intent batteryStatus = context.registerReceiver(null, ifilter);</pre>
-
-<p>현재 충전 상태와 어떤 충전기(USB 또는 AC 전원)로 충전하는지 추출할 수 있습니다.<p>
-
-<pre>// Are we charging / charged?
-int status = batteryStatus.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
-boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING ||
- status == BatteryManager.BATTERY_STATUS_FULL;
-
-// How are we charging?
-int chargePlug = battery.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
-boolean usbCharge = chargePlug == BATTERY_PLUGGED_USB;
-boolean acCharge = chargePlug == BATTERY_PLUGGED_AC;</pre>
-
-<p>일반적으로 기기가 AC 충전기에 연결된 경우 백그라운드 업데이트 빈도를 최대화합니다. USB를 통해 충전하는 경우 업데이트 빈도를 낮춥니다. 배터리가 방전 중이라면 빈도를 더 많이 낮추도록 합니다.</p>
-
-
-<h2 id="MonitorChargeState">충전 상태 변경사항 모니터링</h2>
-
-<p>충전 상태는 수시로 변하므로 충전 상태의 변경사항을 확인하고 이에 따라 업데이트 주기를 변경하는 것이 중요합니다.</p>
-
-<p>{@link android.os.BatteryManager}는 기기가 전원에 연결되어 있는지 여부와 관계없이 언제나 액션을 브로드캐스트합니다. 앱이 실행되지 않는 동안에도 이벤트를 수신하는 것이 중요합니다. 특히 백그라운드 업데이트를 실행하기 위해 앱을 시작하는 빈도수에 이벤트가 영향을 주기 때문입니다. 따라서 두 이벤트를 수신하려면 매니페스트에서 {@link android.content.BroadcastReceiver}를 등록하여 인텐트 필터 내에 {@link android.content.Intent#ACTION_POWER_CONNECTED}와 {@link android.content.Intent#ACTION_POWER_DISCONNECTED}를 정의해야 합니다.</p>
-
-<pre>&lt;receiver android:name=".PowerConnectionReceiver">
- &lt;intent-filter>
- &lt;action android:name="android.intent.action.ACTION_POWER_CONNECTED"/>
- &lt;action android:name="android.intent.action.ACTION_POWER_DISCONNECTED"/>
- &lt;/intent-filter>
-&lt;/receiver></pre>
-
-<p>다음의 {@link android.content.BroadcastReceiver} 구현에서 이전 단계에서 설명한 대로 현재 충전 상태와 방법을 알아낼 수 있습니다.</p>
-
-<pre>public class PowerConnectionReceiver extends BroadcastReceiver {
- &#64;Override
- public void onReceive(Context context, Intent intent) {
- int status = intent.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
- boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING ||
- status == BatteryManager.BATTERY_STATUS_FULL;
-
- int chargePlug = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
- boolean usbCharge = chargePlug == BATTERY_PLUGGED_USB;
- boolean acCharge = chargePlug == BATTERY_PLUGGED_AC;
- }
-}</pre>
-
-
-<h2 id="CurrentLevel">현재 배터리 수준 확인</h2>
-
-<p>현재 배터리 수준을 확인하는 것이 유용한 경우도 있습니다. 배터리 충전이 수준 이하인 경우 백그라운드 업데이트 빈도를 줄일 수 있습니다.</p>
-
-<p>다음은 배터리 상태 정보가 담긴 인텐트에서 현재 배터리 수준 및 충전 상태를 추출하는 방법입니다.</p>
-
-<pre>int level = battery.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
-int scale = battery.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
-
-float batteryPct = level / (float)scale;</pre>
-
-
-<h2 id="MonitorLevel">배터리 수준 중요 변경사항 모니터링</h2>
-
-<p>배터리 상태를 지속적으로 확인하는 것은 쉽지 않지만, 꼭 그럴 필요도 없습니다.</p>
-
-<p>배터리 수준을 지속적으로 모니터링하는 것은 앱의 다른 작업보다 배터리에 더 큰 영향을 미칩니다. 따라서 기기가 배터리 전원 부족 상태가 되거나 이를 벗어날 때 등 중요한 변경사항만 확인하는 것이 좋습니다.</p>
-
-<p>다음 코드는 매니페스트의 브로드캐스트 리시버 내의 인텐트 필터를 보여줍니다. 배터리가 얼마 남지 않거나{@link android.content.Intent#ACTION_BATTERY_LOW} 배터리 상태가 회복되었을 때{@link android.content.Intent#ACTION_BATTERY_OKAY} 전달되는 메시지를 수신할 수 있습니다.</p>
-
-<pre>&lt;receiver android:name=".BatteryLevelReceiver">
-&lt;intent-filter>
- &lt;action android:name="android.intent.action.ACTION_BATTERY_LOW"/>
- &lt;action android:name="android.intent.action.ACTION_BATTERY_OKAY"/>
- &lt;/intent-filter>
-&lt;/receiver></pre>
-
-<p>배터리 충전 상태가 매우 낮은 경우 백그라운드 업데이트를 사용하지 않는 것이 좋습니다. 전화기가 꺼져버리면 최신 데이터를 제공하는 것이 의미가 없기 때문입니다.</p>
-
-<p>기기를 충전하는 것은 곧 기기를 도크에 집어넣는 것과 같은 경우가 많습니다. 다음 강의는 현재 도크 상태를 확인하고 기기 도킹의 변경사항을 모니터링하는 방법을 보여줍니다.</p>
-