[HAM] Added guide and tutorial for recorder. 22/95522/4
authorTomasz Marciniak <t.marciniak@samsung.com>
Thu, 3 Nov 2016 12:14:28 +0000 (13:14 +0100)
committerEditor Lionbridge <TizenEditor.SEL@lionbridge.com>
Fri, 4 Nov 2016 14:15:01 +0000 (07:15 -0700)
PS3: [LB] Reviewed

Change-Id: I85b61c57739fca310da46091e2855a7287f06a4a
Signed-off-by: Tomasz Marciniak <t.marciniak@samsung.com>
org.tizen.guides/html/web/sensors/ham_w.htm
org.tizen.web.apireference/html/device_api/mobile/tizen/humanactivitymonitor.html
org.tizen.web.apireference/html/device_api/wearable/tizen/humanactivitymonitor.html

index 6fd4efe..9e473fc 100644 (file)
         <ul class="toc">
                        <li><a href="#prerequisites">Prerequisites</a></li>
             <li><a href="#retrieve">Retrieving Data</a></li>
+            <li><a href="#record">Managing Data Recording</a></li>
                        <li><a href="#interval">Using User-defined Intervals</a></li>
             <li><a href="#receive">Receiving Notifications on Pedometer Data Changes</a></li>
                        <li><a href="#activity_recognition">Recognizing an Activity</a></li>
                        <li><a href="#sleep_monitor">Monitoring Sleep</a></li>
-            <li><a href="#recorder_record_data">Recording Human Activity Recorder Data</a></li>
-            <li><a href="#recorder_read_data">Retrieving Human Activity Recorder Data</a></li>
         </ul>
         <p class="toc-title">Related Info</p>
         <ul class="toc">
 <ul>
 <li>Retrieving data
 <p>You can <a href="#retrieve">collect monitor data</a>.</p></li>
+<li>Managing data recording
+<p>You can <a href="#record">record human activity data and retrieve the saved data</a>.</p></li>
 <li>Using user-defined intervals
 <p>You can <a href="#interval">change intervals for collecting data</a>.</p></li>
 <li>Receiving notifications
 <p>You can <a href="#receive">detect changes in the monitor data</a>.</p></li>
 <li>Recognizing activity
 <p>You can <a href="#activity_recognition">recognize activities</a>, or <a href="#sleep_monitor">determine whether the user is sleeping</a>.</p></li>
-<li>Recording and retrieving data <strong>in wearable applications only</strong>
-<p>You can <a href="#recorder_record_data">record human activity recorder data</a>, and <a href="#recorder_read_data">retrieve the recorded data</a>.</p></li>
 </ul>
 
  <p>Before you start, remember to <a href="#prerequisites">prepare your application to use the human activity monitor functionality</a>.</p>
 <ul>
        <li><a href="#prerequisites">Prerequisites</a> <p>Prepare your application to use the human activity monitor functionality.</p></li>
     <li><a href="#retrieve">Retrieving Data</a> <p>Start the data collection and get monitor data.</p></li>
+    <li><a href="#record">Managing Data Recording</a><p>Record human activity monitor data for a specific period of time.</p></li>
        <li><a href="#interval">Using User-defined Intervals</a> <p>Define intervals for building more power-efficient applications.</p></li>
     <li><a href="#receive">Receiving Notifications on Pedometer Data Changes</a> <p>Track the changes in the step count.</p></li>
        <li><a href="#activity_recognition">Recognizing an Activity</a><p>Recognize an activity and its accuracy.</p></li>
        <li><a href="#sleep_monitor">Monitoring Sleep</a><p>Detect whether the user is asleep.</p></li>
-    <li><a href="#recorder_record_data">Recording Human Activity Recorder Data</a><p>Record human activity recorder data for a specific period of time.</p></li>
-    <li><a href="#recorder_read_data">Retrieving Human Activity Recorder Data</a><p>Retrieve human activity recorder data which satisfies specific conditions.</p></li>
 </ul>
 
 <h2 id="prerequisites">Prerequisites</h2>
@@ -222,6 +220,99 @@ tizen.humanactivitymonitor.stop(&quot;HRM&quot;);
 </li>
 </ol>
 
+<h2 id="record">Managing Data Recording</h2>
+
+<p>The Human Activity Monitor API allows you to record and retrieve saved sensor data:</p>
+
+<ol>
+<li>To check whether a sensor is supported, use the <span style="font-family: Courier New,Courier, monospace">getCapability()</span> method of the <span style="font-family: Courier New,Courier,monospace">SystemInfo</span> interface (in <a href="../../../../org.tizen.web.apireference/html/device_api/mobile/tizen/systeminfo.html#SystemInfo">mobile</a> and <a href="../../../../org.tizen.web.apireference/html/device_api/wearable/tizen/systeminfo.html#SystemInfo">wearable</a> applications):
+<pre class="prettyprint">
+if (tizen.systeminfo.getCapability(&quot;http://tizen.org/feature/sensor.barometer&quot;) === false)
+{
+&nbsp;&nbsp;&nbsp;console.log(&quot;PRESSURE is not supported on this device.&quot;);
+
+&nbsp;&nbsp;&nbsp;return;
+}
+</pre>
+</li>
+
+<li>To enable data recording, use the <span style="font-family: Courier New,Courier,monospace">startRecorder()</span> method of the <span style="font-family: Courier New,Courier,monospace">HumanActivityMonitorManager</span> interface (in <a href="../../../../../org.tizen.web.apireference/html/device_api/mobile/tizen/humanactivitymonitor.html#HumanActivityMonitorManager">mobile</a> and <a href="../../../../../org.tizen.web.apireference/html/device_api/wearable/tizen/humanactivitymonitor.html#HumanActivityMonitorManager">wearable</a> applications). Optionally, you can also define an interval and period for the data recording.
+<pre class="prettyprint">
+var type = &#39;PRESSURE&#39:;
+
+var options =
+{
+&nbsp;&nbsp;&nbsp;retentionPeriod: 1 /* 1 hour */
+}
+
+try
+{
+&nbsp;&nbsp;&nbsp;tizen.humanactivitymonitor.startRecorder(type, options);
+}
+catch (err)
+{
+&nbsp;&nbsp;&nbsp;console.log(err.name + &#39;: &#39; + err.message);
+}
+</pre>
+<p>To stop recording sensor data, use the <span style="font-family: Courier New,Courier,monospace">stopRecorder()</span> method of the <span style="font-family: Courier New,Courier,monospace">HumanActivityMonitorManager</span> interface:</p>
+<pre class="prettyprint">
+try
+{
+&nbsp;&nbsp;&nbsp;tizen.humanactivitymonitor.stopRecorder(&#39;PRESSURE&#39;);
+}
+catch (err)
+{
+&nbsp;&nbsp;&nbsp;console.log(err.name + &#39;: &#39; + err.message);
+}
+</pre>
+</li>
+<li>Before retrieving data, you can specify a time period to be retrieved using the <span style="font-family: Courier New,Courier,monospace">startTime</span> and <span style="font-family: Courier New,Courier, monospace">endTime</span> options in the <span style="font-family: Courier New,Courier,monospace">HumanActivityRecorderQuery</span> interface (in <a href="../../../../org.tizen.web.apireference/html/device_api/mobile/tizen/humanactivitymonitor.html#HumanActivityRecorderQuery">mobile</a> and <a href="../../../../org.tizen.web.apireference/html/device_api/wearable/tizen/humanactivitymonitor.html#HumanActivityRecorderQuery">wearable</a> applications):
+<pre class="prettyprint">
+/* To retrieve data from July 1, 2016 to July 31, 2016 */
+var query = {};
+query[&#39;startTime&#39;] = (new Date(2016, 7, 1)).getTime() / 1000;
+query[&#39;endTime&#39;] = (new Date(2016, 7, 31)).getTime() / 1000;
+</pre>
+  </li>
+  <li>To get the data sliced by an interval, you can use a combination of the <span style="font-family: Courier New,Courier,monospace">anchorTime</span> and <span style="font-family: Courier New,Courier, monospace">interval</span> options in the <span style="font-family: Courier New,Courier,monospace">HumanActivityRecorderQuery</span> interface.
+  <p>Some human activity recorder types do not allow slicing the data by an interval.</p>
+<pre class="prettyprint">
+/* To retrieve data everyday at midnight */
+query[&#39;anchorTime&#39;] = (new Date(2016, 7, 1, 0, 0)).getTime() / 1000; /* Time is 0:00 internally */
+query[&#39;interval&#39;] = 1440; /* Day */
+</pre>
+  </li>
+  <li>To read the human activity recorder data from the database, use the <span style="font-family: Courier New,Courier,monospace">readRecorderData()</span> method of the <span style="font-family: Courier New,Courier,monospace">HumanActivityMonitorManager</span> interface with the query.
+<p>Even if your application never recorded any data, you can access any data that has been recorded in the database by other applications.</p>
+
+<pre class="prettyprint">
+function onerror(error)
+{
+&nbsp;&nbsp;&nbsp;console.log(error.name + &#39;: &#39; + error.message);
+}
+
+function onread(data)
+{
+&nbsp;&nbsp;&nbsp;for (var idx = 0; idx &lt; data.length; ++idx)
+&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(&#39;average pressure: &#39; + data[idx].average);
+&nbsp;&nbsp;&nbsp;}
+}
+
+var type = &#39;PRESSURE&#39;;
+
+try 
+{
+&nbsp;&nbsp;&nbsp;tizen.humanactivitymonitor.readRecorderData(type, query, onread, onerror);
+}
+catch (error)
+{
+&nbsp;&nbsp;&nbsp;console.log(error.name + &#39;: &#39; + error.message);
+}
+</pre>
+</li>
+</ol>
+
 <h2 id="interval" name="interval">Using User-defined Intervals</h2>
 <p>The Human Activity Monitor API allows the user to select their own intervals for collecting samples in a specified range using the <span style="font-family: Courier New,Courier,monospace">HumanActivityMonitorOption</span> interface (in <a href="../../../../org.tizen.web.apireference/html/device_api/mobile/tizen/humanactivitymonitor.html#HumanActivityMonitorOption">mobile</a> and <a href="../../../../org.tizen.web.apireference/html/device_api/wearable/tizen/humanactivitymonitor.html#HumanActivityMonitorOption">wearable</a> applications). Such functionality can be used to build more power-efficient data collection applications (the less often the device gathers data, the less energy is used). You can change the interval according to the device state, for example, when the display is switched off, the sampling interval can be decreased.</p>
 <ol>
@@ -375,107 +466,6 @@ tizen.humanactivitymonitor.stop(&quot;SLEEP_MONITOR&quot;);
 </li>
 </ol>
 
-<h2 id="recorder_record_data" name="recorder_record_data">Recording Human Activity Recorder Data in Wearable Applications</h2>
-
-<p>Learning how to record human activity recorder data is a basic Human Activity Monitor (HAM) management skill:</p>
-<ol>
-  <li>To check whether a sensor is supported, use the <span style="font-family: Courier New,Courier,monospace">getCapability()</span> method of the <a href="../../../../org.tizen.web.apireference/html/device_api/wearable/tizen/systeminfo.html#SystemInfo">SystemInfo</a> interface:
-<pre class="prettyprint">
-if (tizen.systeminfo.getCapability(&quot;http://tizen.org/feature/sensor.barometer&quot;) === false)
-{
-&nbsp;&nbsp;&nbsp;console.log(&quot;PRESSURE is not supported on this device.&quot;);
-
-&nbsp;&nbsp;&nbsp;return;
-}
-</pre>
-</li>
-  <li>To start recording human activity recorder data, use the <span style="font-family: Courier New,Courier,monospace">startRecorder()</span> method of the <a href="../../../../org.tizen.web.apireference/html/device_api/wearable/tizen/humanactivitymonitor.html#HumanActivityMonitorManager">HumanActivityMonitorManager</a> interface with specific options.
-<p>The <span style="font-family: Courier New,Courier,monospace">interval</span> and <span style="font-family: Courier New,Courier,monospace">retentionPeriod</span> options can be set. Some human activity recorder types only allow the <span style="font-family: Courier New,Courier,monospace">interval</span> to be used.</p>
-<pre class="prettyprint">
-var options = {};
-options[&quot;retentionPeriod&quot;] = 744; /* 31 days */
-
-try
-{
-&nbsp;&nbsp;&nbsp;tizen.humanactivitymonitor.startRecorder(&quot;PRESSURE&quot;, options);
-}
-catch (error) 
-{
-&nbsp;&nbsp;&nbsp;console.log(error.name + &quot;: &quot; + error.message);
-}
-</pre>
-</li>
-  <li>To stop recording human activity recorder data, use the <span style="font-family: Courier New,Courier,monospace">stopRecorder()</span> method of the <span style="font-family: Courier New,Courier,monospace">HumanActivityMonitorManager</span> interface:
-<pre class="prettyprint">
-try
-{
-&nbsp;&nbsp;&nbsp;tizen.humanactivitymonitor.stopRecorder(&quot;PRESSURE&quot;);
-}
-catch (error)
-{
-&nbsp;&nbsp;&nbsp;console.log(error.name + &quot;: &quot; + error.message);
-}</pre>
-  </li>
-</ol>
-
-<h2 id="recorder_read_data" name="recorder_read_data">Retrieving Human Activity Recorder Data in Wearable Applications</h2>
-
-<p>Learning how to retrieve human activity recorder data is a basic Human Activity Monitor (HAM) management skill:</p>
-<ol>
-  <li>To check whether a sensor is supported, use the <span style="font-family: Courier New,Courier,monospace">getCapability()</span> method of the <a href="../../../../org.tizen.web.apireference/html/device_api/wearable/tizen/systeminfo.html#SystemInfo">SystemInfo</a> interface:
-<pre class="prettyprint">
-if (tizen.systeminfo.getCapability(&quot;http://tizen.org/feature/sensor.barometer&quot;) === false)
-{
-&nbsp;&nbsp;&nbsp;console.log(&quot;PRESSURE is not supported on this device.&quot;);
-
-&nbsp;&nbsp;&nbsp;return;
-}
-</pre>
-</li>  
-  <li>You can retrieve data for a time period which interests you using the <span style="font-family: Courier New,Courier,monospace">startTime</span> and <span style="font-family: Courier New,Courier,monospace">endTime</span> options in the <a href="../../../../org.tizen.web.apireference/html/device_api/wearable/tizen/humanactivitymonitor.html#HumanActivityRecorderQuery">HumanActivityRecorderQuery</a> interface:
-<pre class="prettyprint">
-/* To retrieve data from July 1, 2016 to July 31, 2016 */
-var query = {};
-query[&#39;startTime&#39;] = (new Date(2016, 7, 1)).getTime() / 1000;
-query[&#39;endTime&#39;] = (new Date(2016, 7, 31)).getTime() / 1000;
-</pre>
-  </li>
-  <li>To get the data sliced by an interval, you can use a combination of the <span style="font-family: Courier New,Courier,monospace">anchorTime</span> and <span style="font-family: Courier New,Courier,monospace">interval</span> options in the <span style="font-family: Courier New,Courier,monospace">HumanActivityRecorderQuery</span> interface.
-  <p>Some human activity recorder types do not allow slicing the data by an interval.</p>
-<pre class="prettyprint">
-/* To retrieve data everyday at midnight */
-query[&#39;anchorTime&#39;] = (new Date(2016, 7, 1, 0, 0)).getTime() / 1000; /* Time is 0:00 internally */
-query[&#39;interval&#39;] = 1440; /* Day */
-</pre>
-  </li>
-  <li>To read the human activity recorder data from the database, use the <span style="font-family: Courier New,Courier,monospace">readRecorderData()</span> method of the <a href="../../../../org.tizen.web.apireference/html/device_api/wearable/tizen/humanactivitymonitor.html#HumanActivityMonitorManager">HumanActivityMonitorManager</a> interface with the query.
-<p>Even if your application never recorded any data, you can access any data that has been recorded in the database by other applications.</p>
-<pre class="prettyprint">
-function onerror(error)
-{
-&nbsp;&nbsp;&nbsp;console.log(error.name + &quot;: &quot; + error.message);
-}
-
-function onread(data)
-{
-&nbsp;&nbsp;&nbsp;for (var idx = 0; idx &lt; data.length; ++idx)
-&nbsp;&nbsp;&nbsp;{
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(&quot;*** &quot; + idx);
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(&quot;average pressure: &quot; + data[idx].average);
-&nbsp;&nbsp;&nbsp;}
-}
-
-try
-{
-&nbsp;&nbsp;&nbsp;tizen.humanactivitymonitor.readRecorderData(&quot;PRESSURE&quot;, query, onread, onerror);
-}
-catch (error)
-{
-&nbsp;&nbsp;&nbsp;console.log(error.name + &quot;: &quot; + error.message);
-}
-</pre>
-  </li>
-</ol>
 <script type="text/javascript" src="../../scripts/jquery.zclip.min.js"></script>
 <script type="text/javascript" src="../../scripts/showhide.js"></script>
 
@@ -499,4 +489,4 @@ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga
 </script>
 
 </body>
-</html>
\ No newline at end of file
+</html>
index 6234658..9df09f0 100644 (file)
@@ -21,6 +21,8 @@ The following human activity monitor functionality is provided:
 Set up callbacks for data change notification          </li>
           <li>
 Get current human activity monitor data          </li>
+          <li>
+Record and read human activity data          </li>
         </ul>
         <p>
 For more information about how to use Human Activity Monitor API, see <a href="https://developer.tizen.org/development/guides/web-application/tizen-features/system/human-activity-monitor">Human Activity Monitor Guide</a>.
@@ -37,16 +39,19 @@ For more information about how to use Human Activity Monitor API, see <a href="h
                     1.1. <a href="#HumanActivityType">HumanActivityType</a>
 </li>
 <li>
-                    1.2. <a href="#PedometerStepStatus">PedometerStepStatus</a>
+                    1.2. <a href="#HumanActivityRecorderType">HumanActivityRecorderType</a>
+</li>
+<li>
+                    1.3. <a href="#PedometerStepStatus">PedometerStepStatus</a>
 </li>
 <li>
-                    1.3. <a href="#ActivityRecognitionType">ActivityRecognitionType</a>
+                    1.4. <a href="#ActivityRecognitionType">ActivityRecognitionType</a>
 </li>
 <li>
-                    1.4. <a href="#ActivityAccuracy">ActivityAccuracy</a>
+                    1.5. <a href="#ActivityAccuracy">ActivityAccuracy</a>
 </li>
 <li>
-                    1.5. <a href="#SleepStatus">SleepStatus</a>
+                    1.6. <a href="#SleepStatus">SleepStatus</a>
 </li>
 </ul>
 </li>
@@ -57,25 +62,41 @@ For more information about how to use Human Activity Monitor API, see <a href="h
 </li>
 <li>2.3. <a href="#StepDifference">StepDifference</a>
 </li>
-<li>2.4. <a href="#HumanActivityData">HumanActivityData</a>
+<li>2.4. <a href="#HumanActivityRecorderOption">HumanActivityRecorderOption</a>
+</li>
+<li>2.5. <a href="#HumanActivityRecorderQuery">HumanActivityRecorderQuery</a>
+</li>
+<li>2.6. <a href="#HumanActivityData">HumanActivityData</a>
+</li>
+<li>2.7. <a href="#HumanActivityPedometerData">HumanActivityPedometerData</a>
+</li>
+<li>2.8. <a href="#HumanActivityAccumulativePedometerData">HumanActivityAccumulativePedometerData</a>
+</li>
+<li>2.9. <a href="#HumanActivityHRMData">HumanActivityHRMData</a>
 </li>
-<li>2.5. <a href="#HumanActivityPedometerData">HumanActivityPedometerData</a>
+<li>2.10. <a href="#HumanActivityGPSInfo">HumanActivityGPSInfo</a>
 </li>
-<li>2.6. <a href="#HumanActivityAccumulativePedometerData">HumanActivityAccumulativePedometerData</a>
+<li>2.11. <a href="#HumanActivityGPSInfoArray">HumanActivityGPSInfoArray</a>
 </li>
-<li>2.7. <a href="#HumanActivityHRMData">HumanActivityHRMData</a>
+<li>2.12. <a href="#HumanActivitySleepMonitorData">HumanActivitySleepMonitorData</a>
 </li>
-<li>2.8. <a href="#HumanActivityGPSInfo">HumanActivityGPSInfo</a>
+<li>2.13. <a href="#HumanActivityMonitorOption">HumanActivityMonitorOption</a>
 </li>
-<li>2.9. <a href="#HumanActivityGPSInfoArray">HumanActivityGPSInfoArray</a>
+<li>2.14. <a href="#HumanActivityRecognitionData">HumanActivityRecognitionData</a>
 </li>
-<li>2.10. <a href="#HumanActivitySleepMonitorData">HumanActivitySleepMonitorData</a>
+<li>2.15. <a href="#HumanActivityRecorderData">HumanActivityRecorderData</a>
 </li>
-<li>2.11. <a href="#HumanActivityMonitorOption">HumanActivityMonitorOption</a>
+<li>2.16. <a href="#HumanActivityRecorderPedometerData">HumanActivityRecorderPedometerData</a>
 </li>
-<li>2.12. <a href="#HumanActivityRecognitionData">HumanActivityRecognitionData</a>
+<li>2.17. <a href="#HumanActivityRecorderHRMData">HumanActivityRecorderHRMData</a>
 </li>
-<li>2.13. <a href="#HumanActivityMonitorSuccessCallback">HumanActivityMonitorSuccessCallback</a>
+<li>2.18. <a href="#HumanActivityRecorderSleepMonitorData">HumanActivityRecorderSleepMonitorData</a>
+</li>
+<li>2.19. <a href="#HumanActivityRecorderPressureData">HumanActivityRecorderPressureData</a>
+</li>
+<li>2.20. <a href="#HumanActivityMonitorSuccessCallback">HumanActivityMonitorSuccessCallback</a>
+</li>
+<li>2.21. <a href="#HumanActivityReadRecorderSuccessCallback">HumanActivityReadRecorderSuccessCallback</a>
 </li>
 </ul>
 </li>
@@ -106,6 +127,9 @@ For more information about how to use Human Activity Monitor API, see <a href="h
 <div>void <a href="#HumanActivityMonitorManager::unsetAccumulativePedometerListener">unsetAccumulativePedometerListener</a> ()</div>
 <div>long <a href="#HumanActivityMonitorManager::addActivityRecognitionListener">addActivityRecognitionListener</a> (<a href="#ActivityRecognitionType">ActivityRecognitionType</a> type, <a href="#HumanActivityMonitorSuccessCallback">HumanActivityMonitorSuccessCallback</a> listener, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback)</div>
 <div>void <a href="#HumanActivityMonitorManager::removeActivityRecognitionListener">removeActivityRecognitionListener</a> (long listenerId, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback)</div>
+<div>void <a href="#HumanActivityMonitorManager::startRecorder">startRecorder</a> (<a href="#HumanActivityRecorderType">HumanActivityRecorderType</a> type, optional <a href="#HumanActivityRecorderOption">HumanActivityRecorderOption</a> option)</div>
+<div>void <a href="#HumanActivityMonitorManager::stopRecorder">stopRecorder</a> (<a href="#HumanActivityRecorderType">HumanActivityRecorderType</a> type)</div>
+<div>void <a href="#HumanActivityMonitorManager::readRecorderData">readRecorderData</a> (<a href="#HumanActivityRecorderType">HumanActivityRecorderType</a> type, <a href="#HumanActivityRecorderQuery">HumanActivityRecorderQuery</a>? query, <a href="#HumanActivityReadRecorderSuccessCallback">HumanActivityReadRecorderSuccessCallback</a> successCallback, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback)</div>
 </td>
 </tr>
 <tr>
@@ -113,6 +137,14 @@ For more information about how to use Human Activity Monitor API, see <a href="h
 <td></td>
 </tr>
 <tr>
+<td><a href="#HumanActivityRecorderOption">HumanActivityRecorderOption</a></td>
+<td></td>
+</tr>
+<tr>
+<td><a href="#HumanActivityRecorderQuery">HumanActivityRecorderQuery</a></td>
+<td></td>
+</tr>
+<tr>
 <td><a href="#HumanActivityData">HumanActivityData</a></td>
 <td></td>
 </tr>
@@ -149,9 +181,33 @@ For more information about how to use Human Activity Monitor API, see <a href="h
 <td></td>
 </tr>
 <tr>
+<td><a href="#HumanActivityRecorderData">HumanActivityRecorderData</a></td>
+<td></td>
+</tr>
+<tr>
+<td><a href="#HumanActivityRecorderPedometerData">HumanActivityRecorderPedometerData</a></td>
+<td></td>
+</tr>
+<tr>
+<td><a href="#HumanActivityRecorderHRMData">HumanActivityRecorderHRMData</a></td>
+<td></td>
+</tr>
+<tr>
+<td><a href="#HumanActivityRecorderSleepMonitorData">HumanActivityRecorderSleepMonitorData</a></td>
+<td></td>
+</tr>
+<tr>
+<td><a href="#HumanActivityRecorderPressureData">HumanActivityRecorderPressureData</a></td>
+<td></td>
+</tr>
+<tr>
 <td><a href="#HumanActivityMonitorSuccessCallback">HumanActivityMonitorSuccessCallback</a></td>
 <td><div>void <a href="#HumanActivityMonitorSuccessCallback::onsuccess">onsuccess</a> (optional <a href="#HumanActivityData">HumanActivityData</a>? humanactivitydata)</div></td>
 </tr>
+<tr>
+<td><a href="#HumanActivityReadRecorderSuccessCallback">HumanActivityReadRecorderSuccessCallback</a></td>
+<td><div>void <a href="#HumanActivityReadRecorderSuccessCallback::onsuccess">onsuccess</a> (<a href="#HumanActivityRecorderData">HumanActivityRecorderData</a>[] humanactivitydata)</div></td>
+</tr>
 </tbody>
 </table>
 <div class="typedefs" id="typedefs-section">
@@ -187,8 +243,34 @@ SLEEP_MONITOR - Sleep monitor (sleep state)            </li>
  <em>SLEEP_MONITOR</em> is supported since Tizen 3.0
           </p>
 </div>
+<div class="enum" id="HumanActivityRecorderType">
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityRecorderType"></a><h3>1.2. HumanActivityRecorderType</h3>
+<div class="brief">
+ Specifies the human activity recorder types.
+          </div>
+<pre class="webidl prettyprint">    enum HumanActivityRecorderType { "PEDOMETER", "HRM", "SLEEP_MONITOR", "PRESSURE" };</pre>
+<p><span class="version">
+            Since: </span>
+ 3.0
+          </p>
+<div class="description">
+          <p>
+The human activity recorder types defined by this enumerator are:
+          </p>
+          <ul>
+            <li>
+PEDOMETER - Pedometer recorder type            </li>
+            <li>
+HRM - Heart rate monitor (Heart rate)            </li>
+            <li>
+SLEEP_MONITOR - Sleep monitor (sleep state)            </li>
+            <li>
+PRESSURE - Pressure sensor            </li>
+          </ul>
+         </div>
+</div>
 <div class="enum" id="PedometerStepStatus">
-<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::PedometerStepStatus"></a><h3>1.2. PedometerStepStatus</h3>
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::PedometerStepStatus"></a><h3>1.3. PedometerStepStatus</h3>
 <div class="brief">
  Specifies the pedometer user's current movement type.
           </div>
@@ -214,7 +296,7 @@ UNKNOWN - The user's movement type is uncertain            </li>
           </p>
 </div>
 <div class="enum" id="ActivityRecognitionType">
-<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::ActivityRecognitionType"></a><h3>1.3. ActivityRecognitionType</h3>
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::ActivityRecognitionType"></a><h3>1.4. ActivityRecognitionType</h3>
 <div class="brief">
  Specifies the supported activity recognition types.
           </div>
@@ -240,7 +322,7 @@ IN_VEHICLE - The in-vehicle activity recognition type            </li>
          </div>
 </div>
 <div class="enum" id="ActivityAccuracy">
-<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::ActivityAccuracy"></a><h3>1.4. ActivityAccuracy</h3>
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::ActivityAccuracy"></a><h3>1.5. ActivityAccuracy</h3>
 <div class="brief">
  Specified the degree of the accuracy.
           </div>
@@ -264,7 +346,7 @@ HIGH - High accuracy            </li>
          </div>
 </div>
 <div class="enum" id="SleepStatus">
-<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::SleepStatus"></a><h3>1.5. SleepStatus</h3>
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::SleepStatus"></a><h3>1.6. SleepStatus</h3>
 <div class="brief">
  Specifies the sleep monitor user's sleep status.
           </div>
@@ -326,17 +408,26 @@ The <em>tizen.humanactivitymonitor</em> object allows access to the human activi
         void getHumanActivityData(<a href="#HumanActivityType">HumanActivityType</a> type, <a href="#HumanActivityMonitorSuccessCallback">HumanActivityMonitorSuccessCallback</a> successCallback,
                                 optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
 
-        void start(<a href="#HumanActivityType">HumanActivityType</a> type, optional <a href="#HumanActivityMonitorSuccessCallback">HumanActivityMonitorSuccessCallback</a>? changedCallback, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback, optional <a href="#HumanActivityMonitorOption">HumanActivityMonitorOption</a>? option) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+        void start(HumanActivityType type, optional HumanActivityMonitorSuccessCallback? changedCallback, optional ErrorCallback? errorCallback, optional HumanActivityMonitorOption? option) raises(WebAPIException);
 
-        void stop(<a href="#HumanActivityType">HumanActivityType</a> type) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+        void stop(HumanActivityType type) raises(WebAPIException);
 
-        void setAccumulativePedometerListener(<a href="#HumanActivityMonitorSuccessCallback">HumanActivityMonitorSuccessCallback</a> changeCallback) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+        void setAccumulativePedometerListener(HumanActivityMonitorSuccessCallback changeCallback) raises(WebAPIException);
 
-        void unsetAccumulativePedometerListener() raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+        void unsetAccumulativePedometerListener() raises(WebAPIException);
 
-        long addActivityRecognitionListener(<a href="#ActivityRecognitionType">ActivityRecognitionType</a> type, <a href="#HumanActivityMonitorSuccessCallback">HumanActivityMonitorSuccessCallback</a> listener, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+        long addActivityRecognitionListener(ActivityRecognitionType type, HumanActivityMonitorSuccessCallback listener, optional ErrorCallback? errorCallback) raises(WebAPIException);
 
-        void removeActivityRecognitionListener(long listenerId, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback);
+        void removeActivityRecognitionListener(long listenerId, optional ErrorCallback? errorCallback);
+
+        void startRecorder(HumanActivityRecorderType type, optional HumanActivityRecorderOption option) raises(WebAPIException);
+
+        void stopRecorder(HumanActivityRecorderType type) raises(WebAPIException);
+
+        void readRecorderData(HumanActivityRecorderType type,
+                              HumanActivityRecorderQuery? query,
+                              HumanActivityReadRecorderSuccessCallback successCallback,
+                              optional ErrorCallback? errorCallback) raises(WebAPIException);
     };</pre>
 <p><span class="version">
             Since: </span>
@@ -388,7 +479,7 @@ The <em>ErrorCallback</em> method is launched with these error types:
 <p><span class="param">Parameters:</span></p>
 <ul>
           <li class="param">
-<span class="name">type</span>: 
+<span class="name">type</span>:
  Human activity data type to read (HRM or PEDOMETER)
                 </li>
           <li class="param">
@@ -504,11 +595,11 @@ For other types, only <b>'http://tizen.org/privilege/healthinfo'</b> should be d
  Callback method to be invoked when new human activity data is available<br>Note that the listener is not called for the successful start of a human activity sensor.
                 </li>
           <li class="param">
-<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>: 
+<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
  Callback method to be invoked when an error occurs
                 </li>
           <li class="param">
-<span class="name">option</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>: 
+<span class="name">option</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
  The option to set the period and the interval for several human activity types<br>By default, this parameter is set to null.
                 </li>
         </ul>
@@ -883,6 +974,248 @@ The <em>ErrorCallback</em> method is launched with this error type:
  </pre>
 </div>
 </dd>
+<dt class="method" id="HumanActivityMonitorManager::startRecorder">
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityMonitorManager::startRecorder"></a><code><b><span class="methodName">startRecorder</span></b></code>
+</dt>
+<dd>
+<div class="brief">
+ Starts recording human activity data for a given human activity type.
+            </div>
+<div class="synopsis"><pre class="signature prettyprint">void startRecorder(<a href="#HumanActivityRecorderType">HumanActivityRecorderType</a> type, optional <a href="#HumanActivityRecorderOption">HumanActivityRecorderOption</a> option);
+             </pre></div>
+<p><span class="version">
+            Since: </span>
+ 3.0
+            </p>
+<p><span class="privilegelevel">
+            Privilege level: </span>
+ public
+            </p>
+<p><span class="privilege">
+            Privilege: </span>
+ http://tizen.org/privilege/healthinfo
+            </p>
+<div class="parameters">
+<p><span class="param">Parameters:</span></p>
+<ul>
+          <li class="param">
+<span class="name">type</span>:
+ Human activity type to record
+                </li>
+          <li class="param">
+<span class="name">option</span><span class="optional"> [optional]</span>:
+ The option to set an interval and a period for retention
+                </li>
+        </ul>
+</div>
+<div class="exceptionlist">
+<p><span class="except">Exceptions:</span></p>
+          <ul class="exception"><li>WebAPIException<ul>
+<li class="list"><p>
+ with error type TypeMismatchError, if any input parameter is not compatible with the expected type for that parameter.
+                </p></li>
+<li class="list"><p>
+ with error type SecurityError, if the application does not have the privilege to use this function.
+                </p></li>
+<li class="list"><p>
+ with error type NotSupportedError, if the human activity recorder type is not supported.
+                </p></li>
+<li class="list"><p>
+ with error type AbortError, if the system operation was aborted.
+                </p></li>
+<li class="list"><p>
+ with error type InvalidValuesError, if any of the input parameters contain an invalid value.
+                </p></li>
+</ul>
+</li></ul>
+        </div>
+<div class="example">
+<span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
+var type = 'PRESSURE';
+var options =
+{
+&nbsp;&nbsp;&nbsp;retentionPeriod: 1 /* 1 hour */
+};
+try
+{
+&nbsp;&nbsp;&nbsp;tizen.humanactivitymonitor.startRecorder(type, options);
+}
+catch (err)
+{
+&nbsp;&nbsp;&nbsp;console.log(err.name + ': ' + err.message);
+}
+</pre>
+</div>
+</dd>
+<dt class="method" id="HumanActivityMonitorManager::stopRecorder">
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityMonitorManager::stopRecorder"></a><code><b><span class="methodName">stopRecorder</span></b></code>
+</dt>
+<dd>
+<div class="brief">
+ Stops recording human activity data for a given human activity type.
+            </div>
+<div class="synopsis"><pre class="signature prettyprint">void stopRecorder(<a href="#HumanActivityRecorderType">HumanActivityRecorderType</a> type);
+             </pre></div>
+<p><span class="version">
+            Since: </span>
+ 3.0
+            </p>
+<div class="parameters">
+<p><span class="param">Parameters:</span></p>
+<ul>
+          <li class="param">
+<span class="name">type</span>:
+ Human activity type to stop recording
+                </li>
+        </ul>
+</div>
+<div class="exceptionlist">
+<p><span class="except">Exceptions:</span></p>
+          <ul class="exception"><li>WebAPIException<ul>
+<li class="list"><p>
+ with error type TypeMismatchError, if any input parameter is not compatible with the expected type for that parameter.
+                </p></li>
+<li class="list"><p>
+ with error type NotSupportedError, if the human activity recorder type is not supported.
+                </p></li>
+<li class="list"><p>
+ with error type AbortError, if the system operation was aborted.
+                </p></li>
+</ul>
+</li></ul>
+        </div>
+<div class="example">
+<span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
+var type = 'PRESSURE';
+try
+{
+&nbsp;&nbsp;&nbsp;tizen.humanactivitymonitor.startRecorder(type);
+
+&nbsp;&nbsp;&nbsp;/* Do something */
+
+&nbsp;&nbsp;&nbsp;tizen.humanactivitymonitor.stopRecorder(type);
+}
+catch (err)
+{
+&nbsp;&nbsp;&nbsp;console.log(err.name + ': ' + err.message);
+}
+</pre>
+</div>
+</dd>
+<dt class="method" id="HumanActivityMonitorManager::readRecorderData">
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityMonitorManager::readRecorderData"></a><code><b><span class="methodName">readRecorderData</span></b></code>
+</dt>
+<dd>
+<div class="brief">
+ Reads the recorded human activity data with some query.
+            </div>
+<div class="synopsis"><pre class="signature prettyprint">void readRecorderData(<a href="#HumanActivityRecorderType">HumanActivityRecorderType</a> type, <a href="#HumanActivityRecorderQuery">HumanActivityRecorderQuery</a>? query, <a href="#HumanActivityReadRecorderSuccessCallback">HumanActivityReadRecorderSuccessCallback</a> successCallback, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback);
+             </pre></div>
+<p><span class="version">
+            Since: </span>
+ 3.0
+            </p>
+<div class="description">
+            <p>
+If another application has recorded data for a particular human activity type, your application can read that data.
+Therefore, you can use this method to read without calling <em>startRecorder()</em>.
+            </p>
+            <p>
+The <em>ErrorCallback</em> method is launched with these error types:
+            </p>
+            <ul>
+              <li>
+AbortError: If the system operation was aborted while reading data asynchronously.              </li>
+              <li>
+NotFoundError: If no recorder data is available.              </li>
+            </ul>
+           </div>
+<p><span class="privilegelevel">
+            Privilege level: </span>
+ public
+            </p>
+<p><span class="privilege">
+            Privilege: </span>
+ http://tizen.org/privilege/healthinfo
+            </p>
+<div class="parameters">
+<p><span class="param">Parameters:</span></p>
+<ul>
+          <li class="param">
+<span class="name">type</span>:
+ Human activity type to record
+                </li>
+          <li class="param">
+<span class="name">query</span><span class="optional"> [nullable]</span>:
+ The query to use
+                </li>
+          <li class="param">
+<span class="name">successCallback</span>:
+ Callback method to be invoked when recorded human activity data is successfully read
+                </li>
+          <li class="param">
+<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
+ Callback method to be invoked when an error occurs
+                </li>
+        </ul>
+</div>
+<div class="exceptionlist">
+<p><span class="except">Exceptions:</span></p>
+          <ul class="exception"><li>WebAPIException<ul>
+<li class="list"><p>
+ with error type TypeMismatchError, if any input parameter is not compatible with the expected type for that parameter.
+                </p></li>
+<li class="list"><p>
+ with error type SecurityError, if the application does not have the privilege to use this function.
+                </p></li>
+<li class="list"><p>
+ with error type NotSupportedError, if the human activity recorder type is not supported.
+                </p></li>
+<li class="list"><p>
+ with error type AbortError, if the system operation was aborted when it is requested to read data.
+                </p></li>
+<li class="list"><p>
+ with error type InvalidValuesError, if any of the input parameters contain an invalid value.
+                </p></li>
+</ul>
+</li></ul>
+        </div>
+<div class="example">
+<span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
+function onerror(error)
+{
+&nbsp;&nbsp;&nbsp;console.log(error.name + ": " + error.message);
+}
+
+function onread(data)
+{
+&nbsp;&nbsp;&nbsp;for (var idx = 0; idx &lt; data.length; ++idx)
+&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log('startTime: ' + data[idx].startTime);
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log('endTime: ' + data[idx].endTime);
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log('calories: ' + data[idx].calorie);
+&nbsp;&nbsp;&nbsp;}
+}
+
+var type = 'PEDOMETER';
+var query = {};
+try
+{
+&nbsp;&nbsp;&nbsp;tizen.humanactivitymonitor.readRecorderData(type, query, onread, onerror);
+}
+catch (err)
+{
+&nbsp;&nbsp;&nbsp;console.log(err.name + ': ' + err.message);
+}
+</pre>
+</div>
+<div class="output">
+<span class="title"><p>Output example:</p></span><pre> startTime: 1420311755
+ endTime: 1420313238
+ calories: 24.83
+ </pre>
+</div>
+</dd>
 </dl>
 </div>
 </div>
@@ -927,32 +1260,242 @@ The <em>ErrorCallback</em> method is launched with this error type:
 </ul>
 </div>
 </div>
-<div class="interface" id="HumanActivityData">
-<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityData"></a><h3>2.4. HumanActivityData</h3>
+<div class="dictionary" id="HumanActivityRecorderOption">
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityRecorderOption"></a><h3>2.4. HumanActivityRecorderOption</h3>
 <div class="brief">
- The HumanActivityData interface is a common abstract interface used by the different types of human activity data.
+ The HumanActivityRecorderOption dictionary contains options, such as the <em>interval</em>, to use with startRecorder().
           </div>
-<pre class="webidl prettyprint">    [NoInterfaceObject] interface HumanActivityData {
+<pre class="webidl prettyprint">    dictionary HumanActivityRecorderOption {
+        long interval;
+
+        long retentionPeriod;
     };</pre>
 <p><span class="version">
             Since: </span>
- 2.3
+ 3.0
           </p>
+<div class="example">
+<span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
+var option =
+{
+&nbsp;&nbsp;&nbsp;interval: 10,
+&nbsp;&nbsp;&nbsp;retentionPeriod: 1
+}
+</pre>
 </div>
-<div class="interface" id="HumanActivityPedometerData">
-<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityPedometerData"></a><h3>2.5. HumanActivityPedometerData</h3>
+<div class="attributes">
+<h4>Dictionary members</h4>
+<dl>
+<dt class="member" id="HumanActivityRecorderOption::interval"><span class="attrName">long interval</span></dt>
+<dd>
 <div class="brief">
- The HumanActivityPedometerData interface represents pedometer data.
+ Interval in minutes at which human activity recorder data will be recorded.
+            </div>
+<div class="description">
+            <p>
+For the HRM type, the <em>interval</em> can be between 10 and 1440 (1 day) inclusive.<br>If <em>interval</em> is not specified, it is set to the default value of 1440 minutes (1 day).<br>For other human activity recorder types, <em>interval</em> will be ignored.
+            </p>
+           </div>
+<p><span class="version">
+            Since: </span>
+ 3.0
+            </p>
+<p><span class="remark"> Remark : </span>
+ The specified interval is only a suggested interval between sensor measurements.
+You will get at least one sensor measurement within the interval you specify, but the actual interval between sensor measurements can be affected by other applications and the system.
+To reduce the system overhead, it is recommended to set the longest interval that you can, because the system usually chooses the shortest interval among all intervals specified.
+            </p>
+</dd>
+<dt class="member" id="HumanActivityRecorderOption::retentionPeriod"><span class="attrName">long retentionPeriod</span></dt>
+<dd>
+<div class="brief">
+ Retention period in hours for which human activity recorder data should be retained.
+            </div>
+<div class="description">
+            <p>
+The <em>retentionPeriod</em> can be between 1 and 744 (31 days) inclusive.<br>If <em>retentionPeriod</em> is not specified, it is set to the default value of 1 hour.
+            </p>
+           </div>
+<p><span class="version">
+            Since: </span>
+ 3.0
+            </p>
+</dd>
+</dl>
+</div>
+</div>
+<div class="dictionary" id="HumanActivityRecorderQuery">
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityRecorderQuery"></a><h3>2.5. HumanActivityRecorderQuery</h3>
+<div class="brief">
+ The HumanActivityRecorderQuery dictionary contains query, such as the <em>startTime</em>, the <em>endTime</em>, the <em>anchorTime</em> and the <em>interval</em>, to use with readRecorderData().
           </div>
-<pre class="webidl prettyprint">    [NoInterfaceObject] interface HumanActivityPedometerData : <a href="#HumanActivityData">HumanActivityData</a> {
-
-        readonly attribute <a href="#PedometerStepStatus">PedometerStepStatus</a> stepStatus;
+<pre class="webidl prettyprint">    dictionary HumanActivityRecorderQuery {
+        long startTime;
 
-        readonly attribute double speed;
+        long endTime;
 
-        readonly attribute double walkingFrequency;
+        long anchorTime;
 
-        readonly attribute double cumulativeDistance;
+        long interval;
+    };</pre>
+<p><span class="version">
+            Since: </span>
+ 3.0
+          </p>
+<div class="attributes">
+<h4>Dictionary members</h4>
+<dl>
+<dt class="member" id="HumanActivityRecorderQuery::startTime"><span class="attrName">long startTime</span></dt>
+<dd>
+<div class="brief">
+ The start time of the data to be queried. Epoch time in seconds.
+            </div>
+<div class="description">
+            <p>
+The <em>startTime</em> should be greater than or equal to zero.<br>If <em>startTime</em> is not specified, it is set to the default value of 1 day ago.
+            </p>
+           </div>
+<p><span class="version">
+            Since: </span>
+ 3.0
+            </p>
+</dd>
+<dt class="member" id="HumanActivityRecorderQuery::endTime"><span class="attrName">long endTime</span></dt>
+<dd>
+<div class="brief">
+ The end time of the date to be queried. Epoch time in seconds.
+            </div>
+<div class="description">
+            <p>
+The <em>endTime</em> should be greater than <em>startTime</em>.<br>If <em>endTime</em> in not specified, it is set to the current time.
+            </p>
+           </div>
+<p><span class="version">
+            Since: </span>
+ 3.0
+            </p>
+</dd>
+<dt class="member" id="HumanActivityRecorderQuery::anchorTime"><span class="attrName">long anchorTime</span></dt>
+<dd>
+<div class="brief">
+ The anchor point to slice the read data. Epoch time in seconds.
+            </div>
+<div class="description">
+            <p>
+For the PEDOMETER and PRESSURE type, the <em>anchorTime</em> can only be used.<br>The <em>anchorTime</em> should be greater than or equal to zero.<br>If <em>anchorTime</em> is not specified, it will be set to the <em>endTime</em>.
+            </p>
+            <p>
+The <em>interval</em> will extend away from the <em>anchorTime</em> in both directions.
+The exact date does not matter for the <em>anchorTime</em>.
+This is because the <em>anchorTime</em> is used in combination with the interval.
+For example, the <em>anchorTime</em> can be 1:00 am, January 1, 2000 or 1:00 am, August 15, 2010 with a 1 day interval. In both cases, the <em>anchorTime</em> will be 1:00 am internally.
+            </p>
+            <p>
+<img src="./human-activity-recorder-query.png" alt="query example">            </p>
+           </div>
+<p><span class="version">
+            Since: </span>
+ 3.0
+            </p>
+<div class="example">
+<span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
+function onerror(error)
+{
+&nbsp;&nbsp;&nbsp;console.log(error.name + ": " + error.message);
+}
+
+function onread(data)
+{
+&nbsp;&nbsp;&nbsp;for (var idx = 0; idx &lt; data.length; ++idx)
+&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log("*** " + idx);
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log('totalStepCount: ' + data[idx].totalStepCount);
+&nbsp;&nbsp;&nbsp;}
+}
+
+var type = 'PEDOMETER';
+var now = new Date();
+var startTime = now.setDate(now.getDate() - 7);
+var anchorTime = (new Date(2000, 1, 2, 6)).getTime();
+var query =
+{
+&nbsp;&nbsp;&nbsp;startTime: startTime / 1000,
+&nbsp;&nbsp;&nbsp;anchorTime: anchorTime / 1000,
+&nbsp;&nbsp;&nbsp;interval: 1440 /* 1 day */
+};
+try
+{
+&nbsp;&nbsp;&nbsp;tizen.humanactivitymonitor.readRecorderData(type, query, onread, onerror);
+}
+catch (err)
+{
+&nbsp;&nbsp;&nbsp;console.log(err.name + ': ' + err.message);
+}
+</pre>
+</div>
+<div class="output">
+<span class="title"><p>Output example:</p></span><pre> *** 0
+ totalStepCount: 3860
+ *** 1
+ totalStepCount: 6705
+ *** 2
+ totalStepCount: 4005
+ *** 3
+ totalStepCount: 2328
+ *** 4
+ totalStepCount: 4705
+ *** 5
+ totalStepCount: 6446
+ *** 6
+ totalStepCount: 4103
+ *** 7
+ totalStepCount: 1456
+ </pre>
+</div>
+</dd>
+<dt class="member" id="HumanActivityRecorderQuery::interval"><span class="attrName">long interval</span></dt>
+<dd>
+<div class="brief">
+ Interval in minutes at which human activity recorder data will be read.
+            </div>
+<div class="description">
+            <p>
+The <em>interval</em> should be greater than or equal to zero.<br>For the PEDOMETER and PRESSURE type, if <em>interval</em> is not specified, it is set to the difference between <em>endTime</em> and <em>startTime</em>.<br>For the PRESSURE type, if it is set to zero, all raw data recorded from <em>startTime</em> to <em>endTime</em> will be returned.<br>For other recorder types, <em>interval</em> will be ignored.<br>            </p>
+           </div>
+<p><span class="version">
+            Since: </span>
+ 3.0
+            </p>
+</dd>
+</dl>
+</div>
+</div>
+<div class="interface" id="HumanActivityData">
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityData"></a><h3>2.6. HumanActivityData</h3>
+<div class="brief">
+ The HumanActivityData interface is a common abstract interface used by the different types of human activity data.
+          </div>
+<pre class="webidl prettyprint">    [NoInterfaceObject] interface HumanActivityData {
+    };</pre>
+<p><span class="version">
+            Since: </span>
+ 2.3
+          </p>
+</div>
+<div class="interface" id="HumanActivityPedometerData">
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityPedometerData"></a><h3>2.7. HumanActivityPedometerData</h3>
+<div class="brief">
+ The HumanActivityPedometerData interface represents pedometer data.
+          </div>
+<pre class="webidl prettyprint">    [NoInterfaceObject] interface HumanActivityPedometerData : <a href="#HumanActivityData">HumanActivityData</a> {
+
+        readonly attribute <a href="#PedometerStepStatus">PedometerStepStatus</a> stepStatus;
+
+        readonly attribute double speed;
+
+        readonly attribute double walkingFrequency;
+
+        readonly attribute double cumulativeDistance;
 
         readonly attribute double cumulativeCalorie;
 
@@ -1072,7 +1615,7 @@ The value is the sum of <em>cumulativeWalkStepCount</em> and <em>cumulativeRunSt
 </div>
 </div>
 <div class="interface" id="HumanActivityAccumulativePedometerData">
-<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityAccumulativePedometerData"></a><h3>2.6. HumanActivityAccumulativePedometerData</h3>
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityAccumulativePedometerData"></a><h3>2.8. HumanActivityAccumulativePedometerData</h3>
 <div class="brief">
  The HumanActivityAccumulativePedometerData interface represents pedometer motion data since the device is booted.
           </div>
@@ -1204,7 +1747,7 @@ The value is the sum of <em>accumulativeWalkStepCount</em> and <em>accumulativeR
 </div>
 </div>
 <div class="interface" id="HumanActivityHRMData">
-<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityHRMData"></a><h3>2.7. HumanActivityHRMData</h3>
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityHRMData"></a><h3>2.9. HumanActivityHRMData</h3>
 <div class="brief">
  The HumanActivityHRMData interface represents Heart Rate Monitor(HRM) data.
           </div>
@@ -1247,7 +1790,7 @@ When a user takes off the watch device, the heartRate is set to -3. When a user
 </div>
 </div>
 <div class="interface" id="HumanActivityGPSInfo">
-<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityGPSInfo"></a><h3>2.8. HumanActivityGPSInfo</h3>
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityGPSInfo"></a><h3>2.10. HumanActivityGPSInfo</h3>
 <div class="brief">
  The HumanActivityGPSInfo interface represents GPS information.
           </div>
@@ -1336,7 +1879,7 @@ When a user takes off the watch device, the heartRate is set to -3. When a user
 </div>
 </div>
 <div class="interface" id="HumanActivityGPSInfoArray">
-<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityGPSInfoArray"></a><h3>2.9. HumanActivityGPSInfoArray</h3>
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityGPSInfoArray"></a><h3>2.11. HumanActivityGPSInfoArray</h3>
 <div class="brief">
  The HumanActivityGPSInfoArray interface represents GPS information array.
           </div>
@@ -1365,7 +1908,7 @@ When a user takes off the watch device, the heartRate is set to -3. When a user
 </div>
 </div>
 <div class="interface" id="HumanActivitySleepMonitorData">
-<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivitySleepMonitorData"></a><h3>2.10. HumanActivitySleepMonitorData</h3>
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivitySleepMonitorData"></a><h3>2.12. HumanActivitySleepMonitorData</h3>
 <div class="brief">
  The HumanActivitySleepMonitorData interface represents sleep monitor data.
           </div>
@@ -1382,7 +1925,7 @@ When a user takes off the watch device, the heartRate is set to -3. When a user
 <p><span class="remark"> Remark : </span>
  If the device's display is off, multiple callbacks consisting of sleep monitor data are all invoked at once at a device specific interval. There is a callback for each minute in the interval. For example, if the device's interval is 20 minutes, 20 callbacks will be invoked every 20 minutes. When the display is turned on, all callbacks which have not been invoked are invoked and the callback is invoked every one minute from then on. Therefore, if the display is turned on at 25 minutes, five callbacks will be invoked.
           </p>
-        
+
       <div class="attributes">
 <h4>Attributes</h4>
 <ul>
@@ -1410,7 +1953,7 @@ When a user takes off the watch device, the heartRate is set to -3. When a user
 </div>
 </div>
 <div class="dictionary" id="HumanActivityMonitorOption">
-<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityMonitorOption"></a><h3>2.11. HumanActivityMonitorOption</h3>
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityMonitorOption"></a><h3>2.13. HumanActivityMonitorOption</h3>
 <div class="brief">
  The HumanActivityMonitorOption dictionary contains options, such as the <em>callbackInterval</em> and the <em>sampleInterval</em>, to use with start().
           </div>
@@ -1430,7 +1973,7 @@ When a user takes off the watch device, the heartRate is set to -3. When a user
 <dt class="member" id="HumanActivityMonitorOption::callbackInterval"><span class="attrName">long callbackInterval</span></dt>
 <dd>
 <div class="brief">
- The interval in milliseconds (ms) at which human activity data will be sent to the Web Application.<br>For the GPS type, <em>callbackInterval</em> should be greater than or equal to the <em>sampleInterval</em>. The maximum permissible value for <em>callbackInterval</em> is device specific. If <em>callbackInterval</em> is not specified or zero, it is set to the default value of 150000ms. The <em>callbackInterval</em> will be ignored when the display is on. Instead, The <em>callbackInterval</em> will be set to the <em>sampleInterval</em>.<br>For the HRM type, <em>callbackInterval</em> can be between 10ms and 1000ms inclusive, however, if it not specified or zero, it is set set by the default value of 100ms.<br>For other activity types, <em>callbackInterval</em> will be ignored.
+ The interval in milliseconds (ms) at which human activity data will be sent to the Web Application.<br>For the GPS type, <em>callbackInterval</em> should be greater than or equal to the <em>sampleInterval</em>. The maximum permissible value for <em>callbackInterval</em> is device specific. If <em>callbackInterval</em> is not specified or zero, it is set to the default value of 150000ms. The <em>callbackInterval</em> will be ignored when the display is on. Instead, The <em>callbackInterval</em> will be set to the <em>sampleInterval</em>.<br>For the HRM type, <em>callbackInterval</em> can be between 10ms and 1000ms inclusive, however, if it not specified or zero, it is set by the default value of 100ms.<br>For other activity types, <em>callbackInterval</em> will be ignored.
             </div>
 <p><span class="version">
             Since: </span>
@@ -1454,7 +1997,7 @@ When a user takes off the watch device, the heartRate is set to -3. When a user
 </div>
 </div>
 <div class="interface" id="HumanActivityRecognitionData">
-<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityRecognitionData"></a><h3>2.12. HumanActivityRecognitionData</h3>
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityRecognitionData"></a><h3>2.14. HumanActivityRecognitionData</h3>
 <div class="brief">
  The HumanActivityRecognitionData interface represents a activity recognition data.
           </div>
@@ -1507,8 +2050,237 @@ When a user takes off the watch device, the heartRate is set to -3. When a user
 </ul>
 </div>
 </div>
+<div class="interface" id="HumanActivityRecorderData">
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityRecorderData"></a><h3>2.15. HumanActivityRecorderData</h3>
+<div class="brief">
+ The HumanActivityRecorderData interface is a common abstract interface used for the different types of human activity recorder data.
+          </div>
+<pre class="webidl prettyprint">    [NoInterfaceObject] interface HumanActivityRecorderData {
+
+        readonly attribute long startTime;
+
+        readonly attribute long endTime;
+    };</pre>
+<p><span class="version">
+            Since: </span>
+ 3.0
+          </p>
+<div class="attributes">
+<h4>Attributes</h4>
+<ul>
+<li class="attribute" id="HumanActivityRecorderData::startTime">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">long </span><span class="name">startTime</span></span><div class="brief">
+ Recording start time of the data in this HumanActivityRecorderData object. Epoch time in seconds.
+            </div>
+<p><span class="version">
+            Since: </span>
+ 3.0
+            </p>
+</li>
+<li class="attribute" id="HumanActivityRecorderData::endTime">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">long </span><span class="name">endTime</span></span><div class="brief">
+ Recording end time of the data in this HumanActivityRecorderData object. Epoch time in seconds.
+            </div>
+<p><span class="version">
+            Since: </span>
+ 3.0
+            </p>
+</li>
+</ul>
+</div>
+</div>
+<div class="interface" id="HumanActivityRecorderPedometerData">
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityRecorderPedometerData"></a><h3>2.16. HumanActivityRecorderPedometerData</h3>
+<div class="brief">
+ The HumanActivityRecorderPedometerData interface represents recorded PEDOMETER data.
+          </div>
+<pre class="webidl prettyprint">    [NoInterfaceObject] interface HumanActivityRecorderPedometerData : <a href="#HumanActivityRecorderData">HumanActivityRecorderData</a> {
+
+        readonly attribute double distance;
+
+        readonly attribute double calorie;
+
+        readonly attribute double totalStepCount;
+
+        readonly attribute double walkStepCount;
+
+        readonly attribute double runStepCount;
+    };</pre>
+<p><span class="version">
+            Since: </span>
+ 3.0
+          </p>
+
+      <div class="attributes">
+<h4>Attributes</h4>
+<ul>
+<li class="attribute" id="HumanActivityRecorderPedometerData::distance">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">double </span><span class="name">distance</span></span><div class="brief">
+ Distance traveled from <em>startTime</em> to <em>endTime</em> in meters.
+            </div>
+<p><span class="version">
+            Since: </span>
+ 3.0
+            </p>
+</li>
+<li class="attribute" id="HumanActivityRecorderPedometerData::calorie">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">double </span><span class="name">calorie</span></span><div class="brief">
+ Calories burned from <em>startTime</em> to <em>endTime</em> in kCal.
+            </div>
+<p><span class="version">
+            Since: </span>
+ 3.0
+            </p>
+</li>
+<li class="attribute" id="HumanActivityRecorderPedometerData::totalStepCount">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">double </span><span class="name">totalStepCount</span></span><div class="brief">
+ Walking and running step count from <em>startTime</em> to <em>endTime</em>. The value is the sum of <em>walkingStepCount</em> and <em>runningStepCount</em>.
+            </div>
+<p><span class="version">
+            Since: </span>
+ 3.0
+            </p>
+</li>
+<li class="attribute" id="HumanActivityRecorderPedometerData::walkStepCount">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">double </span><span class="name">walkStepCount</span></span><div class="brief">
+ Walking step count from <em>startTime</em> to <em>endTime</em>.
+            </div>
+<p><span class="version">
+            Since: </span>
+ 3.0
+            </p>
+</li>
+<li class="attribute" id="HumanActivityRecorderPedometerData::runStepCount">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">double </span><span class="name">runStepCount</span></span><div class="brief">
+ Running step count from <em>startTime</em> to <em>endTime</em>.
+            </div>
+<p><span class="version">
+            Since: </span>
+ 3.0
+            </p>
+</li>
+</ul>
+</div>
+</div>
+<div class="interface" id="HumanActivityRecorderHRMData">
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityRecorderHRMData"></a><h3>2.17. HumanActivityRecorderHRMData</h3>
+<div class="brief">
+ The HumanActivityRecorderHRMData interface represents a recorded HRM data.
+          </div>
+<pre class="webidl prettyprint">    [NoInterfaceObject] interface HumanActivityRecorderHRMData : <a href="#HumanActivityRecorderData">HumanActivityRecorderData</a> {
+
+        readonly attribute long heartRate;
+    };</pre>
+<p><span class="version">
+            Since: </span>
+ 3.0
+          </p>
+
+      <div class="attributes">
+<h4>Attributes</h4>
+<ul><li class="attribute" id="HumanActivityRecorderHRMData::heartRate">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">long </span><span class="name">heartRate</span></span><div class="brief">
+ Heart rate in beats per minute.
+            </div>
+<p><span class="version">
+            Since: </span>
+ 3.0
+            </p>
+</li></ul>
+</div>
+</div>
+<div class="interface" id="HumanActivityRecorderSleepMonitorData">
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityRecorderSleepMonitorData"></a><h3>2.18. HumanActivityRecorderSleepMonitorData</h3>
+<div class="brief">
+ The HumanActivityRecorderSleepMonitorData interface represents a recorded SLEEP_MONITOR data.
+          </div>
+<pre class="webidl prettyprint">    [NoInterfaceObject] interface HumanActivityRecorderSleepMonitorData : <a href="#HumanActivityRecorderData">HumanActivityRecorderData</a> {
+
+        readonly attribute <a href="#SleepStatus">SleepStatus</a> status;
+    };</pre>
+<p><span class="version">
+            Since: </span>
+ 3.0
+          </p>
+
+      <div class="attributes">
+<h4>Attributes</h4>
+<ul><li class="attribute" id="HumanActivityRecorderSleepMonitorData::status">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">SleepStatus </span><span class="name">status</span></span><div class="brief">
+ The sleep status.
+            </div>
+<p><span class="version">
+            Since: </span>
+ 3.0
+            </p>
+</li></ul>
+</div>
+</div>
+<div class="interface" id="HumanActivityRecorderPressureData">
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityRecorderPressureData"></a><h3>2.19. HumanActivityRecorderPressureData</h3>
+<div class="brief">
+ The HumanActivityRecorderPressureData interface represents a recorded PRESSURE data.
+          </div>
+<pre class="webidl prettyprint">    [NoInterfaceObject] interface HumanActivityRecorderPressureData : <a href="#HumanActivityRecorderData">HumanActivityRecorderData</a> {
+
+        readonly attribute double? max;
+
+        readonly attribute double? min;
+
+        readonly attribute double? average;
+    };</pre>
+<p><span class="version">
+            Since: </span>
+ 3.0
+          </p>
+
+      <div class="attributes">
+<h4>Attributes</h4>
+<ul>
+<li class="attribute" id="HumanActivityRecorderPressureData::max">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">double </span><span class="name">max</span><span class="optional"> [nullable]</span></span><div class="brief">
+ Max pressure in hectopascal (hPa).
+            </div>
+<p><span class="version">
+            Since: </span>
+ 3.0
+            </p>
+</li>
+<li class="attribute" id="HumanActivityRecorderPressureData::min">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">double </span><span class="name">min</span><span class="optional"> [nullable]</span></span><div class="brief">
+ Min pressure in hectopascal (hPa).
+            </div>
+<p><span class="version">
+            Since: </span>
+ 3.0
+            </p>
+</li>
+<li class="attribute" id="HumanActivityRecorderPressureData::average">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">double </span><span class="name">average</span><span class="optional"> [nullable]</span></span><div class="brief">
+ Average pressure in hectopascal (hPa).
+            </div>
+<p><span class="version">
+            Since: </span>
+ 3.0
+            </p>
+</li>
+</ul>
+</div>
+</div>
 <div class="interface" id="HumanActivityMonitorSuccessCallback">
-<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityMonitorSuccessCallback"></a><h3>2.13. HumanActivityMonitorSuccessCallback</h3>
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityMonitorSuccessCallback"></a><h3>2.20. HumanActivityMonitorSuccessCallback</h3>
 <div class="brief">
  The HumanActivityMonitorSuccessCallback interface is a callback interface that is invoked when new human activity data is available.
           </div>
@@ -1549,6 +2321,48 @@ When a user takes off the watch device, the heartRate is set to -3. When a user
 </dl>
 </div>
 </div>
+<div class="interface" id="HumanActivityReadRecorderSuccessCallback">
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityReadRecorderSuccessCallback"></a><h3>2.21. HumanActivityReadRecorderSuccessCallback</h3>
+<div class="brief">
+ The HumanActivityReadRecorderSuccessCallback interface is a callback interface that is invoked when recorded human activity data is successfully read.
+          </div>
+<pre class="webidl prettyprint">    [Callback=FunctionOnly, NoInterfaceObject] interface HumanActivityReadRecorderSuccessCallback {
+
+        void onsuccess(<a href="#HumanActivityRecorderData">HumanActivityRecorderData</a>[] humanactivitydata);
+    };</pre>
+<p><span class="version">
+            Since: </span>
+ 3.0
+          </p>
+<div class="methods">
+<h4>Methods</h4>
+<dl>
+<dt class="method" id="HumanActivityReadRecorderSuccessCallback::onsuccess">
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityReadRecorderSuccessCallback::onsuccess"></a><code><b><span class="methodName">onsuccess</span></b></code>
+</dt>
+<dd>
+<div class="brief">
+ Called when recorded human activity data is successfully read.
+            </div>
+<div class="synopsis"><pre class="signature prettyprint">void onsuccess(<a href="#HumanActivityRecorderData">HumanActivityRecorderData</a>[] humanactivitydata);
+             </pre></div>
+<p><span class="version">
+            Since: </span>
+ 3.0
+            </p>
+<div class="parameters">
+<p><span class="param">Parameters:</span></p>
+<ul>
+          <li class="param">
+<span class="name">humanactivitydata</span>:
+ Recorded human activity data.
+                </li>
+        </ul>
+</div>
+</dd>
+</dl>
+</div>
+</div>
 </div>
 <h2 id="api-features">3. Related Feature</h2>
 <div id="def-api-features" class="def-api-features">
@@ -1609,6 +2423,14 @@ To guarantee that the human sleep state tracking application runs on a device wi
            </div></p>
 <li class="feature">http://tizen.org/feature/sensor.sleep_monitor</li>
 </div>
+<div class="def-api-feature">
+<p><div class="description">
+            <p>
+To guarantee that the barometer(pressure) sensor application runs on a device with a barometric (pressure) sensor, declare the following feature requirement in the config file:
+            </p>
+           </div></p>
+<li class="feature">http://tizen.org/feature/sensor.barometer</li>
+</div>
 <p></p>
                     For more information, see <a href="https://developer.tizen.org/development/getting-started/web-application/understanding-tizen-programming/application-filtering">Application Filtering</a>.
 </div>
@@ -1617,6 +2439,8 @@ To guarantee that the human sleep state tracking application runs on a device wi
 
     enum HumanActivityType { "PEDOMETER", "WRIST_UP", "HRM", "GPS", "SLEEP_MONITOR" };
 
+    enum HumanActivityRecorderType { "PEDOMETER", "HRM", "SLEEP_MONITOR", "PRESSURE" };
+
     enum PedometerStepStatus { "NOT_MOVING", "WALKING", "RUNNING", "UNKNOWN" };
 
     enum ActivityRecognitionType { "STATIONARY", "WALKING", "RUNNING", "IN_VEHICLE" };
@@ -1635,17 +2459,26 @@ To guarantee that the human sleep state tracking application runs on a device wi
         void getHumanActivityData(<a href="#HumanActivityType">HumanActivityType</a> type, <a href="#HumanActivityMonitorSuccessCallback">HumanActivityMonitorSuccessCallback</a> successCallback,
                                 optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
 
-        void start(<a href="#HumanActivityType">HumanActivityType</a> type, optional <a href="#HumanActivityMonitorSuccessCallback">HumanActivityMonitorSuccessCallback</a>? changedCallback, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback, optional <a href="#HumanActivityMonitorOption">HumanActivityMonitorOption</a>? option) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+        void start(HumanActivityType type, optional HumanActivityMonitorSuccessCallback? changedCallback, optional ErrorCallback? errorCallback, optional HumanActivityMonitorOption? option) raises(WebAPIException);
+
+        void stop(HumanActivityType type) raises(WebAPIException);
+
+        void setAccumulativePedometerListener(HumanActivityMonitorSuccessCallback changeCallback) raises(WebAPIException);
+
+        void unsetAccumulativePedometerListener() raises(WebAPIException);
 
-        void stop(<a href="#HumanActivityType">HumanActivityType</a> type) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+        long addActivityRecognitionListener(ActivityRecognitionType type, HumanActivityMonitorSuccessCallback listener, optional ErrorCallback? errorCallback) raises(WebAPIException);
 
-        void setAccumulativePedometerListener(<a href="#HumanActivityMonitorSuccessCallback">HumanActivityMonitorSuccessCallback</a> changeCallback) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+        void removeActivityRecognitionListener(long listenerId, optional ErrorCallback? errorCallback);
 
-        void unsetAccumulativePedometerListener() raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+        void startRecorder(HumanActivityRecorderType type, optional HumanActivityRecorderOption option) raises(WebAPIException);
 
-        long addActivityRecognitionListener(<a href="#ActivityRecognitionType">ActivityRecognitionType</a> type, <a href="#HumanActivityMonitorSuccessCallback">HumanActivityMonitorSuccessCallback</a> listener, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+        void stopRecorder(HumanActivityRecorderType type) raises(WebAPIException);
 
-        void removeActivityRecognitionListener(long listenerId, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback);
+        void readRecorderData(HumanActivityRecorderType type,
+                              HumanActivityRecorderQuery? query,
+                              HumanActivityReadRecorderSuccessCallback successCallback,
+                              optional ErrorCallback? errorCallback) raises(WebAPIException);
     };
 
     [NoInterfaceObject] interface StepDifference {
@@ -1655,12 +2488,28 @@ To guarantee that the human sleep state tracking application runs on a device wi
         readonly attribute long timestamp;
     };
 
+    dictionary HumanActivityRecorderOption {
+        long interval;
+
+        long retentionPeriod;
+    };
+
+    dictionary HumanActivityRecorderQuery {
+        long startTime;
+
+        long endTime;
+
+        long anchorTime;
+
+        long interval;
+    };
+
     [NoInterfaceObject] interface HumanActivityData {
     };
 
-    [NoInterfaceObject] interface HumanActivityPedometerData : <a href="#HumanActivityData">HumanActivityData</a> {
+    [NoInterfaceObject] interface HumanActivityPedometerData : HumanActivityData {
 
-        readonly attribute <a href="#PedometerStepStatus">PedometerStepStatus</a> stepStatus;
+        readonly attribute PedometerStepStatus stepStatus;
 
         readonly attribute double speed;
 
@@ -1676,12 +2525,12 @@ To guarantee that the human sleep state tracking application runs on a device wi
 
         readonly attribute double cumulativeRunStepCount;
 
-        readonly attribute <a href="#StepDifference">StepDifference</a>[] stepCountDifferences;
+        readonly attribute StepDifference[] stepCountDifferences;
     };
 
-    [NoInterfaceObject] interface HumanActivityAccumulativePedometerData : <a href="#HumanActivityData">HumanActivityData</a> {
+    [NoInterfaceObject] interface HumanActivityAccumulativePedometerData : HumanActivityData {
 
-        readonly attribute <a href="#PedometerStepStatus">PedometerStepStatus</a> stepStatus;
+        readonly attribute PedometerStepStatus stepStatus;
 
         readonly attribute double speed;
 
@@ -1697,10 +2546,10 @@ To guarantee that the human sleep state tracking application runs on a device wi
 
         readonly attribute double accumulativeRunStepCount;
 
-        readonly attribute <a href="#StepDifference">StepDifference</a>[] stepCountDifferences;
+        readonly attribute StepDifference[] stepCountDifferences;
     };
 
-    [NoInterfaceObject] interface HumanActivityHRMData : <a href="#HumanActivityData">HumanActivityData</a> {
+    [NoInterfaceObject] interface HumanActivityHRMData : HumanActivityData {
 
         readonly attribute long heartRate;
 
@@ -1722,12 +2571,12 @@ To guarantee that the human sleep state tracking application runs on a device wi
         readonly attribute long timestamp;
     };
 
-    [NoInterfaceObject] interface HumanActivityGPSInfoArray : <a href="#HumanActivityData">HumanActivityData</a> {
+    [NoInterfaceObject] interface HumanActivityGPSInfoArray : HumanActivityData {
 
-        readonly attribute <a href="#HumanActivityGPSInfo">HumanActivityGPSInfo</a>[] gpsInfo;
+        readonly attribute HumanActivityGPSInfo[] gpsInfo;
     };
 
-    [NoInterfaceObject] interface <a href="#HumanActivitySleepMonitorData">HumanActivitySleepMonitorData</a> : <a href="#HumanActivityData">HumanActivityData</a> {
+    [NoInterfaceObject] interface HumanActivitySleepMonitorData : HumanActivityData {
 
         readonly attribute SleepStatus status;
 
@@ -1741,20 +2590,63 @@ To guarantee that the human sleep state tracking application runs on a device wi
         long sampleInterval;
     };
 
-    [NoInterfaceObject] interface HumanActivityRecognitionData : <a href="#HumanActivityData">HumanActivityData</a> {
+    [NoInterfaceObject] interface HumanActivityRecognitionData : HumanActivityData {
 
-        readonly attribute <a href="#ActivityRecognitionType">ActivityRecognitionType</a> type;
+        readonly attribute ActivityRecognitionType type;
 
         readonly attribute long timestamp;
 
-        readonly attribute <a href="#ActivityAccuracy">ActivityAccuracy</a> accuracy;
+        readonly attribute ActivityAccuracy accuracy;
+    };
+
+    [NoInterfaceObject] interface HumanActivityRecorderData {
+
+        readonly attribute long startTime;
+
+        readonly attribute long endTime;
+    };
+
+    [NoInterfaceObject] interface HumanActivityRecorderPedometerData : HumanActivityRecorderData {
+
+        readonly attribute double distance;
+
+        readonly attribute double calorie;
+
+        readonly attribute double totalStepCount;
+
+        readonly attribute double walkStepCount;
+
+        readonly attribute double runStepCount;
+    };
+
+    [NoInterfaceObject] interface HumanActivityRecorderHRMData : HumanActivityRecorderData {
+
+        readonly attribute long heartRate;
+    };
+
+    [NoInterfaceObject] interface HumanActivityRecorderSleepMonitorData : HumanActivityRecorderData {
+
+        readonly attribute SleepStatus status;
+    };
+
+    [NoInterfaceObject] interface HumanActivityRecorderPressureData : HumanActivityRecorderData {
+
+        readonly attribute double? max;
+
+        readonly attribute double? min;
+
+        readonly attribute double? average;
     };
 
     [Callback=FunctionOnly, NoInterfaceObject] interface HumanActivityMonitorSuccessCallback {
 
-        void onsuccess(optional <a href="#HumanActivityData">HumanActivityData</a>? humanactivitydata);
+        void onsuccess(optional HumanActivityData? humanactivitydata);
     };
 
+    [Callback=FunctionOnly, NoInterfaceObject] interface HumanActivityReadRecorderSuccessCallback {
+
+        void onsuccess(HumanActivityRecorderData[] humanactivitydata);
+    };
 };</pre>
 </div>
 <div id="page-footer">
index 9982659..2c38d03 100644 (file)
@@ -21,6 +21,8 @@ The following human activity monitor functionality is provided:
 Set up callbacks for data change notification          </li>
           <li>
 Get current human activity monitor data          </li>
+          <li>
+Record and read human activity data          </li>
         </ul>
         <p>
 For more information about how to use Human Activity Monitor API, see <a href="https://developer.tizen.org/development/guides/web-application/tizen-features/system/human-activity-monitor">Human Activity Monitor Guide</a>.
@@ -37,16 +39,19 @@ For more information about how to use Human Activity Monitor API, see <a href="h
                     1.1. <a href="#HumanActivityType">HumanActivityType</a>
 </li>
 <li>
-                    1.2. <a href="#PedometerStepStatus">PedometerStepStatus</a>
+                    1.2. <a href="#HumanActivityRecorderType">HumanActivityRecorderType</a>
+</li>
+<li>
+                    1.3. <a href="#PedometerStepStatus">PedometerStepStatus</a>
 </li>
 <li>
-                    1.3. <a href="#ActivityRecognitionType">ActivityRecognitionType</a>
+                    1.4. <a href="#ActivityRecognitionType">ActivityRecognitionType</a>
 </li>
 <li>
-                    1.4. <a href="#ActivityAccuracy">ActivityAccuracy</a>
+                    1.5. <a href="#ActivityAccuracy">ActivityAccuracy</a>
 </li>
 <li>
-                    1.5. <a href="#SleepStatus">SleepStatus</a>
+                    1.6. <a href="#SleepStatus">SleepStatus</a>
 </li>
 </ul>
 </li>
@@ -57,25 +62,41 @@ For more information about how to use Human Activity Monitor API, see <a href="h
 </li>
 <li>2.3. <a href="#StepDifference">StepDifference</a>
 </li>
-<li>2.4. <a href="#HumanActivityData">HumanActivityData</a>
+<li>2.4. <a href="#HumanActivityRecorderOption">HumanActivityRecorderOption</a>
+</li>
+<li>2.5. <a href="#HumanActivityRecorderQuery">HumanActivityRecorderQuery</a>
+</li>
+<li>2.6. <a href="#HumanActivityData">HumanActivityData</a>
+</li>
+<li>2.7. <a href="#HumanActivityPedometerData">HumanActivityPedometerData</a>
+</li>
+<li>2.8. <a href="#HumanActivityAccumulativePedometerData">HumanActivityAccumulativePedometerData</a>
+</li>
+<li>2.9. <a href="#HumanActivityHRMData">HumanActivityHRMData</a>
 </li>
-<li>2.5. <a href="#HumanActivityPedometerData">HumanActivityPedometerData</a>
+<li>2.10. <a href="#HumanActivityGPSInfo">HumanActivityGPSInfo</a>
 </li>
-<li>2.6. <a href="#HumanActivityAccumulativePedometerData">HumanActivityAccumulativePedometerData</a>
+<li>2.11. <a href="#HumanActivityGPSInfoArray">HumanActivityGPSInfoArray</a>
 </li>
-<li>2.7. <a href="#HumanActivityHRMData">HumanActivityHRMData</a>
+<li>2.12. <a href="#HumanActivitySleepMonitorData">HumanActivitySleepMonitorData</a>
 </li>
-<li>2.8. <a href="#HumanActivityGPSInfo">HumanActivityGPSInfo</a>
+<li>2.13. <a href="#HumanActivityMonitorOption">HumanActivityMonitorOption</a>
 </li>
-<li>2.9. <a href="#HumanActivityGPSInfoArray">HumanActivityGPSInfoArray</a>
+<li>2.14. <a href="#HumanActivityRecognitionData">HumanActivityRecognitionData</a>
 </li>
-<li>2.10. <a href="#HumanActivitySleepMonitorData">HumanActivitySleepMonitorData</a>
+<li>2.15. <a href="#HumanActivityRecorderData">HumanActivityRecorderData</a>
 </li>
-<li>2.11. <a href="#HumanActivityMonitorOption">HumanActivityMonitorOption</a>
+<li>2.16. <a href="#HumanActivityRecorderPedometerData">HumanActivityRecorderPedometerData</a>
 </li>
-<li>2.12. <a href="#HumanActivityRecognitionData">HumanActivityRecognitionData</a>
+<li>2.17. <a href="#HumanActivityRecorderHRMData">HumanActivityRecorderHRMData</a>
 </li>
-<li>2.13. <a href="#HumanActivityMonitorSuccessCallback">HumanActivityMonitorSuccessCallback</a>
+<li>2.18. <a href="#HumanActivityRecorderSleepMonitorData">HumanActivityRecorderSleepMonitorData</a>
+</li>
+<li>2.19. <a href="#HumanActivityRecorderPressureData">HumanActivityRecorderPressureData</a>
+</li>
+<li>2.20. <a href="#HumanActivityMonitorSuccessCallback">HumanActivityMonitorSuccessCallback</a>
+</li>
+<li>2.21. <a href="#HumanActivityReadRecorderSuccessCallback">HumanActivityReadRecorderSuccessCallback</a>
 </li>
 </ul>
 </li>
@@ -106,6 +127,9 @@ For more information about how to use Human Activity Monitor API, see <a href="h
 <div>void <a href="#HumanActivityMonitorManager::unsetAccumulativePedometerListener">unsetAccumulativePedometerListener</a> ()</div>
 <div>long <a href="#HumanActivityMonitorManager::addActivityRecognitionListener">addActivityRecognitionListener</a> (<a href="#ActivityRecognitionType">ActivityRecognitionType</a> type, <a href="#HumanActivityMonitorSuccessCallback">HumanActivityMonitorSuccessCallback</a> listener, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback)</div>
 <div>void <a href="#HumanActivityMonitorManager::removeActivityRecognitionListener">removeActivityRecognitionListener</a> (long listenerId, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback)</div>
+<div>void <a href="#HumanActivityMonitorManager::startRecorder">startRecorder</a> (<a href="#HumanActivityRecorderType">HumanActivityRecorderType</a> type, optional <a href="#HumanActivityRecorderOption">HumanActivityRecorderOption</a> option)</div>
+<div>void <a href="#HumanActivityMonitorManager::stopRecorder">stopRecorder</a> (<a href="#HumanActivityRecorderType">HumanActivityRecorderType</a> type)</div>
+<div>void <a href="#HumanActivityMonitorManager::readRecorderData">readRecorderData</a> (<a href="#HumanActivityRecorderType">HumanActivityRecorderType</a> type, <a href="#HumanActivityRecorderQuery">HumanActivityRecorderQuery</a>? query, <a href="#HumanActivityReadRecorderSuccessCallback">HumanActivityReadRecorderSuccessCallback</a> successCallback, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback)</div>
 </td>
 </tr>
 <tr>
@@ -113,6 +137,14 @@ For more information about how to use Human Activity Monitor API, see <a href="h
 <td></td>
 </tr>
 <tr>
+<td><a href="#HumanActivityRecorderOption">HumanActivityRecorderOption</a></td>
+<td></td>
+</tr>
+<tr>
+<td><a href="#HumanActivityRecorderQuery">HumanActivityRecorderQuery</a></td>
+<td></td>
+</tr>
+<tr>
 <td><a href="#HumanActivityData">HumanActivityData</a></td>
 <td></td>
 </tr>
@@ -149,9 +181,33 @@ For more information about how to use Human Activity Monitor API, see <a href="h
 <td></td>
 </tr>
 <tr>
+<td><a href="#HumanActivityRecorderData">HumanActivityRecorderData</a></td>
+<td></td>
+</tr>
+<tr>
+<td><a href="#HumanActivityRecorderPedometerData">HumanActivityRecorderPedometerData</a></td>
+<td></td>
+</tr>
+<tr>
+<td><a href="#HumanActivityRecorderHRMData">HumanActivityRecorderHRMData</a></td>
+<td></td>
+</tr>
+<tr>
+<td><a href="#HumanActivityRecorderSleepMonitorData">HumanActivityRecorderSleepMonitorData</a></td>
+<td></td>
+</tr>
+<tr>
+<td><a href="#HumanActivityRecorderPressureData">HumanActivityRecorderPressureData</a></td>
+<td></td>
+</tr>
+<tr>
 <td><a href="#HumanActivityMonitorSuccessCallback">HumanActivityMonitorSuccessCallback</a></td>
 <td><div>void <a href="#HumanActivityMonitorSuccessCallback::onsuccess">onsuccess</a> (optional <a href="#HumanActivityData">HumanActivityData</a>? humanactivitydata)</div></td>
 </tr>
+<tr>
+<td><a href="#HumanActivityReadRecorderSuccessCallback">HumanActivityReadRecorderSuccessCallback</a></td>
+<td><div>void <a href="#HumanActivityReadRecorderSuccessCallback::onsuccess">onsuccess</a> (<a href="#HumanActivityRecorderData">HumanActivityRecorderData</a>[] humanactivitydata)</div></td>
+</tr>
 </tbody>
 </table>
 <div class="typedefs" id="typedefs-section">
@@ -184,15 +240,41 @@ SLEEP_MONITOR - Sleep monitor (sleep state)            </li>
           </ul>
          </div>
 <p><span class="remark"> Remark : </span>
- <em>SLEEP_MONITOR</em> is supported since Tizen 3.0
+ <em>SLEEP_MONITOR</em> is supported since Tizen 2.3.2
+          </p>
+</div>
+<div class="enum" id="HumanActivityRecorderType">
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityRecorderType"></a><h3>1.2. HumanActivityRecorderType</h3>
+<div class="brief">
+ Specifies the human activity recorder types.
+          </div>
+<pre class="webidl prettyprint">    enum HumanActivityRecorderType { "PEDOMETER", "HRM", "SLEEP_MONITOR", "PRESSURE" };</pre>
+<p><span class="version">
+            Since: </span>
+ 2.3.2
           </p>
+<div class="description">
+          <p>
+The human activity recorder types defined by this enumerator are:
+          </p>
+          <ul>
+            <li>
+PEDOMETER - Pedometer recorder type            </li>
+            <li>
+HRM - Heart rate monitor (Heart rate)            </li>
+            <li>
+SLEEP_MONITOR - Sleep monitor (sleep state)            </li>
+            <li>
+PRESSURE - Pressure sensor            </li>
+          </ul>
+         </div>
 </div>
 <div class="enum" id="PedometerStepStatus">
-<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::PedometerStepStatus"></a><h3>1.2. PedometerStepStatus</h3>
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::PedometerStepStatus"></a><h3>1.3. PedometerStepStatus</h3>
 <div class="brief">
  Specifies the pedometer user's current movement type.
           </div>
-<pre class="webidl prettyprint">    enum PedometerStepStatus { "NOT_MOVING", "WALKING", "RUNNING" };</pre>
+<pre class="webidl prettyprint">    enum PedometerStepStatus { "NOT_MOVING", "WALKING", "RUNNING", "UNKNOWN" };</pre>
 <p><span class="version">
             Since: </span>
  2.3
@@ -205,18 +287,23 @@ NOT_MOVING - The user remains stationary            </li>
 WALKING - The user is walking            </li>
             <li>
 RUNNING - The user is running            </li>
+            <li>
+UNKNOWN - The user's movement type is uncertain            </li>
           </ul>
          </div>
+<p><span class="remark"> Remark : </span>
+ <em>UNKNOWN</em> is supported since Tizen 2.3.2
+          </p>
 </div>
 <div class="enum" id="ActivityRecognitionType">
-<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::ActivityRecognitionType"></a><h3>1.3. ActivityRecognitionType</h3>
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::ActivityRecognitionType"></a><h3>1.4. ActivityRecognitionType</h3>
 <div class="brief">
  Specifies the supported activity recognition types.
           </div>
 <pre class="webidl prettyprint">    enum ActivityRecognitionType { "STATIONARY", "WALKING", "RUNNING", "IN_VEHICLE" };</pre>
 <p><span class="version">
             Since: </span>
- 3.0
+ 2.3.2
           </p>
 <div class="description">
           <p>
@@ -235,14 +322,14 @@ IN_VEHICLE - The in-vehicle activity recognition type            </li>
          </div>
 </div>
 <div class="enum" id="ActivityAccuracy">
-<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::ActivityAccuracy"></a><h3>1.4. ActivityAccuracy</h3>
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::ActivityAccuracy"></a><h3>1.5. ActivityAccuracy</h3>
 <div class="brief">
  Specified the degree of the accuracy.
           </div>
 <pre class="webidl prettyprint">    enum ActivityAccuracy { "LOW", "MEDIUM", "HIGH" };</pre>
 <p><span class="version">
             Since: </span>
- 3.0
+ 2.3.2
           </p>
 <div class="description">
           <p>
@@ -259,14 +346,14 @@ HIGH - High accuracy            </li>
          </div>
 </div>
 <div class="enum" id="SleepStatus">
-<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::SleepStatus"></a><h3>1.5. SleepStatus</h3>
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::SleepStatus"></a><h3>1.6. SleepStatus</h3>
 <div class="brief">
  Specifies the sleep monitor user's sleep status.
           </div>
 <pre class="webidl prettyprint">    enum SleepStatus { "ASLEEP", "AWAKE", "UNKNOWN" };</pre>
 <p><span class="version">
             Since: </span>
- 3.0
+ 2.3.2
           </p>
 <div class="description">
           <ul>
@@ -321,17 +408,26 @@ The <em>tizen.humanactivitymonitor</em> object allows access to the human activi
         void getHumanActivityData(<a href="#HumanActivityType">HumanActivityType</a> type, <a href="#HumanActivityMonitorSuccessCallback">HumanActivityMonitorSuccessCallback</a> successCallback,
                                 optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
 
-        void start(<a href="#HumanActivityType">HumanActivityType</a> type, optional <a href="#HumanActivityMonitorSuccessCallback">HumanActivityMonitorSuccessCallback</a>? changedCallback, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback, optional <a href="#HumanActivityMonitorOption">HumanActivityMonitorOption</a>? option) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+        void start(HumanActivityType type, optional HumanActivityMonitorSuccessCallback? changedCallback, optional ErrorCallback? errorCallback, optional HumanActivityMonitorOption? option) raises(WebAPIException);
+
+        void stop(HumanActivityType type) raises(WebAPIException);
+
+        void setAccumulativePedometerListener(HumanActivityMonitorSuccessCallback changeCallback) raises(WebAPIException);
 
-        void stop(<a href="#HumanActivityType">HumanActivityType</a> type) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+        void unsetAccumulativePedometerListener() raises(WebAPIException);
 
-        void setAccumulativePedometerListener(<a href="#HumanActivityMonitorSuccessCallback">HumanActivityMonitorSuccessCallback</a> changeCallback) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+        long addActivityRecognitionListener(ActivityRecognitionType type, HumanActivityMonitorSuccessCallback listener, optional ErrorCallback? errorCallback) raises(WebAPIException);
 
-        void unsetAccumulativePedometerListener() raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+        void removeActivityRecognitionListener(long listenerId, optional ErrorCallback? errorCallback);
 
-        long addActivityRecognitionListener(<a href="#ActivityRecognitionType">ActivityRecognitionType</a> type, <a href="#HumanActivityMonitorSuccessCallback">HumanActivityMonitorSuccessCallback</a> listener, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+        void startRecorder(HumanActivityRecorderType type, optional HumanActivityRecorderOption option) raises(WebAPIException);
 
-        void removeActivityRecognitionListener(long listenerId, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback);
+        void stopRecorder(HumanActivityRecorderType type) raises(WebAPIException);
+
+        void readRecorderData(HumanActivityRecorderType type,
+                              HumanActivityRecorderQuery? query,
+                              HumanActivityReadRecorderSuccessCallback successCallback,
+                              optional ErrorCallback? errorCallback) raises(WebAPIException);
     };</pre>
 <p><span class="version">
             Since: </span>
@@ -383,7 +479,7 @@ The <em>ErrorCallback</em> method is launched with these error types:
 <p><span class="param">Parameters:</span></p>
 <ul>
           <li class="param">
-<span class="name">type</span>: 
+<span class="name">type</span>:
  Human activity data type to read (HRM or PEDOMETER)
                 </li>
           <li class="param">
@@ -481,7 +577,7 @@ That means that both <b>'http://tizen.org/privilege/healthinfo'</b> and <b>'http
 For other types, only <b>'http://tizen.org/privilege/healthinfo'</b> should be declared.
             </p>
 <p><span class="remark"> Remark : </span>
- <em>errorCallback</em> and <em>option</em> are supported since Tizen 3.0.
+ <em>errorCallback</em> and <em>option</em> are supported since Tizen 2.3.2.
             </p>
 <div class="parameters">
 <p><span class="param">Parameters:</span></p>
@@ -499,11 +595,11 @@ For other types, only <b>'http://tizen.org/privilege/healthinfo'</b> should be d
  Callback method to be invoked when new human activity data is available<br>Note that the listener is not called for the successful start of a human activity sensor.
                 </li>
           <li class="param">
-<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>: 
+<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
  Callback method to be invoked when an error occurs
                 </li>
           <li class="param">
-<span class="name">option</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>: 
+<span class="name">option</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
  The option to set the period and the interval for several human activity types<br>By default, this parameter is set to null.
                 </li>
         </ul>
@@ -745,7 +841,7 @@ Note that the setAccumulativePedometerListener() method does not need to call th
              </pre></div>
 <p><span class="version">
             Since: </span>
- 3.0
+ 2.3.2
             </p>
 <div class="description">
             <p>
@@ -825,7 +921,7 @@ The <em>ErrorCallback</em> method is launched with this error type:
              </pre></div>
 <p><span class="version">
             Since: </span>
- 3.0
+ 2.3.2
             </p>
 <div class="description">
             <p>
@@ -878,6 +974,251 @@ The <em>ErrorCallback</em> method is launched with this error type:
  </pre>
 </div>
 </dd>
+<dt class="method" id="HumanActivityMonitorManager::startRecorder">
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityMonitorManager::startRecorder"></a><code><b><span class="methodName">startRecorder</span></b></code>
+</dt>
+<dd>
+<div class="brief">
+ Starts recording human activity data for a given human activity type.
+            </div>
+<div class="synopsis"><pre class="signature prettyprint">void startRecorder(<a href="#HumanActivityRecorderType">HumanActivityRecorderType</a> type, optional <a href="#HumanActivityRecorderOption">HumanActivityRecorderOption</a> option);
+             </pre></div>
+<p><span class="version">
+            Since: </span>
+ 2.3.2
+            </p>
+<p><span class="privilegelevel">
+            Privilege level: </span>
+ public
+            </p>
+<p><span class="privilege">
+            Privilege: </span>
+ http://tizen.org/privilege/healthinfo
+            </p>
+<div class="parameters">
+<p><span class="param">Parameters:</span></p>
+<ul>
+          <li class="param">
+<span class="name">type</span>:
+ Human activity type to record
+                </li>
+          <li class="param">
+<span class="name">option</span><span class="optional"> [optional]</span>:
+ The option to set an interval and a period for retention
+                </li>
+        </ul>
+</div>
+<div class="exceptionlist">
+<p><span class="except">Exceptions:</span></p>
+          <ul class="exception"><li>WebAPIException<ul>
+<li class="list"><p>
+ with error type TypeMismatchError, if any input parameter is not compatible with the expected type for that parameter.
+                </p></li>
+<li class="list"><p>
+ with error type SecurityError, if the application does not have the privilege to use this function.
+                </p></li>
+<li class="list"><p>
+ with error type NotSupportedError, if the human activity recorder type is not supported.
+                </p></li>
+<li class="list"><p>
+ with error type AbortError, if the system operation was aborted.
+                </p></li>
+<li class="list"><p>
+ with error type ServiceNotAvailableError, if the human activity recorder type is already started by any application of a package.
+                </p></li>
+<li class="list"><p>
+ with error type InvalidValuesError, if any of the input parameters contain an invalid value.
+                </p></li>
+</ul>
+</li></ul>
+        </div>
+<div class="example">
+<span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
+var type = 'PRESSURE';
+var options =
+{
+&nbsp;&nbsp;&nbsp;retentionPeriod: 1 /* 1 hour */
+};
+try
+{
+&nbsp;&nbsp;&nbsp;tizen.humanactivitymonitor.startRecorder(type, options);
+}
+catch (err)
+{
+&nbsp;&nbsp;&nbsp;console.log(err.name + ': ' + err.message);
+}
+</pre>
+</div>
+</dd>
+<dt class="method" id="HumanActivityMonitorManager::stopRecorder">
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityMonitorManager::stopRecorder"></a><code><b><span class="methodName">stopRecorder</span></b></code>
+</dt>
+<dd>
+<div class="brief">
+ Stops recording human activity data for a given human activity type.
+            </div>
+<div class="synopsis"><pre class="signature prettyprint">void stopRecorder(<a href="#HumanActivityRecorderType">HumanActivityRecorderType</a> type);
+             </pre></div>
+<p><span class="version">
+            Since: </span>
+ 2.3.2
+            </p>
+<div class="parameters">
+<p><span class="param">Parameters:</span></p>
+<ul>
+          <li class="param">
+<span class="name">type</span>:
+ Human activity type to stop recording
+                </li>
+        </ul>
+</div>
+<div class="exceptionlist">
+<p><span class="except">Exceptions:</span></p>
+          <ul class="exception"><li>WebAPIException<ul>
+<li class="list"><p>
+ with error type TypeMismatchError, if any input parameter is not compatible with the expected type for that parameter.
+                </p></li>
+<li class="list"><p>
+ with error type NotSupportedError, if the human activity recorder type is not supported.
+                </p></li>
+<li class="list"><p>
+ with error type AbortError, if the system operation was aborted.
+                </p></li>
+</ul>
+</li></ul>
+        </div>
+<div class="example">
+<span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
+var type = 'PRESSURE';
+try
+{
+&nbsp;&nbsp;&nbsp;tizen.humanactivitymonitor.startRecorder(type);
+
+&nbsp;&nbsp;&nbsp;/* Do something */
+
+&nbsp;&nbsp;&nbsp;tizen.humanactivitymonitor.stopRecorder(type);
+}
+catch (err)
+{
+&nbsp;&nbsp;&nbsp;console.log(err.name + ': ' + err.message);
+}
+</pre>
+</div>
+</dd>
+<dt class="method" id="HumanActivityMonitorManager::readRecorderData">
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityMonitorManager::readRecorderData"></a><code><b><span class="methodName">readRecorderData</span></b></code>
+</dt>
+<dd>
+<div class="brief">
+ Reads the recorded human activity data with some query.
+            </div>
+<div class="synopsis"><pre class="signature prettyprint">void readRecorderData(<a href="#HumanActivityRecorderType">HumanActivityRecorderType</a> type, <a href="#HumanActivityRecorderQuery">HumanActivityRecorderQuery</a>? query, <a href="#HumanActivityReadRecorderSuccessCallback">HumanActivityReadRecorderSuccessCallback</a> successCallback, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback);
+             </pre></div>
+<p><span class="version">
+            Since: </span>
+ 2.3.2
+            </p>
+<div class="description">
+            <p>
+If another application has recorded data for a particular human activity type, your application can read that data.
+Therefore, you can use this method to read without calling <em>startRecorder()</em>.
+            </p>
+            <p>
+The <em>ErrorCallback</em> method is launched with these error types:
+            </p>
+            <ul>
+              <li>
+AbortError: If the system operation was aborted while reading data asynchronously.              </li>
+              <li>
+NotFoundError: If no recorder data is available.              </li>
+            </ul>
+           </div>
+<p><span class="privilegelevel">
+            Privilege level: </span>
+ public
+            </p>
+<p><span class="privilege">
+            Privilege: </span>
+ http://tizen.org/privilege/healthinfo
+            </p>
+<div class="parameters">
+<p><span class="param">Parameters:</span></p>
+<ul>
+          <li class="param">
+<span class="name">type</span>:
+ Human activity type to record
+                </li>
+          <li class="param">
+<span class="name">query</span><span class="optional"> [nullable]</span>:
+ The query to use
+                </li>
+          <li class="param">
+<span class="name">successCallback</span>:
+ Callback method to be invoked when recorded human activity data is successfully read
+                </li>
+          <li class="param">
+<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
+ Callback method to be invoked when an error occurs
+                </li>
+        </ul>
+</div>
+<div class="exceptionlist">
+<p><span class="except">Exceptions:</span></p>
+          <ul class="exception"><li>WebAPIException<ul>
+<li class="list"><p>
+ with error type TypeMismatchError, if any input parameter is not compatible with the expected type for that parameter.
+                </p></li>
+<li class="list"><p>
+ with error type SecurityError, if the application does not have the privilege to use this function.
+                </p></li>
+<li class="list"><p>
+ with error type NotSupportedError, if the human activity recorder type is not supported.
+                </p></li>
+<li class="list"><p>
+ with error type AbortError, if the system operation was aborted when it is requested to read data.
+                </p></li>
+<li class="list"><p>
+ with error type InvalidValuesError, if any of the input parameters contain an invalid value.
+                </p></li>
+</ul>
+</li></ul>
+        </div>
+<div class="example">
+<span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
+function onerror(error)
+{
+&nbsp;&nbsp;&nbsp;console.log(error.name + ": " + error.message);
+}
+
+function onread(data)
+{
+&nbsp;&nbsp;&nbsp;for (var idx = 0; idx &lt; data.length; ++idx)
+&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log('startTime: ' + data[idx].startTime);
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log('endTime: ' + data[idx].endTime);
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log('calories: ' + data[idx].calorie);
+&nbsp;&nbsp;&nbsp;}
+}
+
+var type = 'PEDOMETER';
+var query = {};
+try
+{
+&nbsp;&nbsp;&nbsp;tizen.humanactivitymonitor.readRecorderData(type, query, onread, onerror);
+}
+catch (err)
+{
+&nbsp;&nbsp;&nbsp;console.log(err.name + ': ' + err.message);
+}
+</pre>
+</div>
+<div class="output">
+<span class="title"><p>Output example:</p></span><pre> startTime: 1420311755
+ endTime: 1420313238
+ calories: 24.83
+ </pre>
+</div>
+</dd>
 </dl>
 </div>
 </div>
@@ -922,34 +1263,246 @@ The <em>ErrorCallback</em> method is launched with this error type:
 </ul>
 </div>
 </div>
-<div class="interface" id="HumanActivityData">
-<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityData"></a><h3>2.4. HumanActivityData</h3>
+<div class="dictionary" id="HumanActivityRecorderOption">
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityRecorderOption"></a><h3>2.4. HumanActivityRecorderOption</h3>
 <div class="brief">
- The HumanActivityData interface is a common abstract interface used by the different types of human activity data.
+ The HumanActivityRecorderOption dictionary contains options, such as the <em>interval</em>, to use with startRecorder().
           </div>
-<pre class="webidl prettyprint">    [NoInterfaceObject] interface HumanActivityData {
+<pre class="webidl prettyprint">    dictionary HumanActivityRecorderOption {
+
+        long interval;
+
+        long retentionPeriod;
     };</pre>
 <p><span class="version">
             Since: </span>
- 2.3
+ 2.3.2
           </p>
+<div class="example">
+<span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
+var option =
+{
+&nbsp;&nbsp;&nbsp;interval: 10,
+&nbsp;&nbsp;&nbsp;retentionPeriod: 1
+}
+</pre>
 </div>
-<div class="interface" id="HumanActivityPedometerData">
-<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityPedometerData"></a><h3>2.5. HumanActivityPedometerData</h3>
+<div class="attributes">
+<h4>Dictionary members</h4>
+<dl>
+<dt class="member" id="HumanActivityRecorderOption::interval"><span class="attrName">long interval</span></dt>
+<dd>
 <div class="brief">
- The HumanActivityPedometerData interface represents pedometer data.
+ Interval in minutes at which human activity recorder data will be recorded.
+            </div>
+<div class="description">
+            <p>
+For the HRM type, the <em>interval</em> can be between 10 and 1440 (1 day) inclusive.<br>If <em>interval</em> is not specified, it is set to the default value of 1440 minutes (1 day).<br>For other human activity recorder types, <em>interval</em> will be ignored.
+            </p>
+           </div>
+<p><span class="version">
+            Since: </span>
+ 2.3.2
+            </p>
+<p><span class="remark"> Remark : </span>
+ The specified interval is only a suggested interval between sensor measurements.
+You will get at least one sensor measurement within the interval you specify, but the actual interval between sensor measurements can be affected by other applications and the system.
+To reduce the system overhead, it is recommended to set the longest interval that you can, because the system usually chooses the shortest interval among all intervals specified.
+            </p>
+</dd>
+<dt class="member" id="HumanActivityRecorderOption::retentionPeriod"><span class="attrName">long retentionPeriod</span></dt>
+<dd>
+<div class="brief">
+ Retention period in hours for which human activity recorder data should be retained.
+            </div>
+<div class="description">
+            <p>
+The <em>retentionPeriod</em> can be between 1 and 744 (31 days) inclusive.<br>If <em>retentionPeriod</em> is not specified, it is set to the default value of 1 hour.
+            </p>
+           </div>
+<p><span class="version">
+            Since: </span>
+ 2.3.2
+            </p>
+</dd>
+</dl>
+</div>
+</div>
+<div class="dictionary" id="HumanActivityRecorderQuery">
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityRecorderQuery"></a><h3>2.5. HumanActivityRecorderQuery</h3>
+<div class="brief">
+ The HumanActivityRecorderQuery dictionary contains query, such as the <em>startTime</em>, the <em>endTime</em>, the <em>anchorTime</em> and the <em>interval</em>, to use with readRecorderData().
           </div>
-<pre class="webidl prettyprint">    [NoInterfaceObject] interface HumanActivityPedometerData : <a href="#HumanActivityData">HumanActivityData</a> {
-
-        readonly attribute <a href="#PedometerStepStatus">PedometerStepStatus</a> stepStatus;
+<pre class="webidl prettyprint">    dictionary HumanActivityRecorderQuery {
 
-        readonly attribute double speed;
+        long startTime;
 
-        readonly attribute double walkingFrequency;
+        long endTime;
 
-        readonly attribute double cumulativeDistance;
+        long anchorTime;
 
-        readonly attribute double cumulativeCalorie;
+        long interval;
+    };</pre>
+<p><span class="version">
+            Since: </span>
+ 2.3.2
+          </p>
+<div class="attributes">
+<h4>Dictionary members</h4>
+<dl>
+<dt class="member" id="HumanActivityRecorderQuery::startTime"><span class="attrName">long startTime</span></dt>
+<dd>
+<div class="brief">
+ The start time of the data to be queried. Epoch time in seconds.
+            </div>
+<div class="description">
+            <p>
+The <em>startTime</em> should be greater than or equal to zero.<br>If <em>startTime</em> is not specified, it is set to the default value of 1 day ago.
+            </p>
+           </div>
+<p><span class="version">
+            Since: </span>
+ 2.3.2
+            </p>
+</dd>
+<dt class="member" id="HumanActivityRecorderQuery::endTime"><span class="attrName">long endTime</span></dt>
+<dd>
+<div class="brief">
+ The end time of the date to be queried. Epoch time in seconds.
+            </div>
+<div class="description">
+            <p>
+The <em>endTime</em> should be greater than <em>startTime</em>.<br>If <em>endTime</em> in not specified, it is set to the current time.
+            </p>
+           </div>
+<p><span class="version">
+            Since: </span>
+ 2.3.2
+            </p>
+</dd>
+<dt class="member" id="HumanActivityRecorderQuery::anchorTime"><span class="attrName">long anchorTime</span></dt>
+<dd>
+<div class="brief">
+ The anchor point to slice the read data. Epoch time in seconds.
+            </div>
+<div class="description">
+            <p>
+For the PEDOMETER and PRESSURE type, the <em>anchorTime</em> can only be used.<br>The <em>anchorTime</em> should be greater than or equal to zero.<br>If <em>anchorTime</em> is not specified, it will be set to the <em>endTime</em>.
+            </p>
+            <p>
+The <em>interval</em> will extend away from the <em>anchorTime</em> in both directions.
+The exact date does not matter for the <em>anchorTime</em>.
+This is because the <em>anchorTime</em> is used in combination with the interval.
+For example, the <em>anchorTime</em> can be 1:00 am, January 1, 2000 or 1:00 am, August 15, 2010 with a 1 day interval. In both cases, the <em>anchorTime</em> will be 1:00 am internally.
+            </p>
+            <p>
+<img src="./human-activity-recorder-query.png" alt="query example">            </p>
+           </div>
+<p><span class="version">
+            Since: </span>
+ 2.3.2
+            </p>
+<div class="example">
+<span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
+function onerror(error)
+{
+&nbsp;&nbsp;&nbsp;console.log(error.name + ": " + error.message);
+}
+
+function onread(data)
+{
+&nbsp;&nbsp;&nbsp;for (var idx = 0; idx &lt; data.length; ++idx)
+&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log("*** " + idx);
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log('totalStepCount: ' + data[idx].totalStepCount);
+&nbsp;&nbsp;&nbsp;}
+}
+
+var type = 'PEDOMETER';
+var now = new Date();
+var startTime = now.setDate(now.getDate() - 7);
+var anchorTime = (new Date(2000, 1, 2, 6)).getTime();
+var query =
+{
+&nbsp;&nbsp;&nbsp;startTime: startTime / 1000,
+&nbsp;&nbsp;&nbsp;anchorTime: anchorTime / 1000,
+&nbsp;&nbsp;&nbsp;interval: 1440 /* 1 day */
+};
+try
+{
+&nbsp;&nbsp;&nbsp;tizen.humanactivitymonitor.readRecorderData(type, query, onread, onerror);
+}
+catch (err)
+{
+&nbsp;&nbsp;&nbsp;console.log(err.name + ': ' + err.message);
+}
+</pre>
+</div>
+<div class="output">
+<span class="title"><p>Output example:</p></span><pre> *** 0
+ totalStepCount: 3860
+ *** 1
+ totalStepCount: 6705
+ *** 2
+ totalStepCount: 4005
+ *** 3
+ totalStepCount: 2328
+ *** 4
+ totalStepCount: 4705
+ *** 5
+ totalStepCount: 6446
+ *** 6
+ totalStepCount: 4103
+ *** 7
+ totalStepCount: 1456
+ </pre>
+</div>
+</dd>
+<dt class="member" id="HumanActivityRecorderQuery::interval"><span class="attrName">long interval</span></dt>
+<dd>
+<div class="brief">
+ Interval in minutes at which human activity recorder data will be read.
+            </div>
+<div class="description">
+            <p>
+The <em>interval</em> should be greater than or equal to zero.<br>For the PEDOMETER and PRESSURE type, if <em>interval</em> is not specified, it is set to the difference between <em>endTime</em> and <em>startTime</em>.<br>For the PRESSURE type, if it is set to zero, all raw data recorded from <em>startTime</em> to <em>endTime</em> will be returned.<br>For other recorder types, <em>interval</em> will be ignored.<br>            </p>
+           </div>
+<p><span class="version">
+            Since: </span>
+ 2.3.2
+            </p>
+</dd>
+</dl>
+</div>
+</div>
+<div class="interface" id="HumanActivityData">
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityData"></a><h3>2.6. HumanActivityData</h3>
+<div class="brief">
+ The HumanActivityData interface is a common abstract interface used by the different types of human activity data.
+          </div>
+<pre class="webidl prettyprint">    [NoInterfaceObject] interface HumanActivityData {
+    };</pre>
+<p><span class="version">
+            Since: </span>
+ 2.3
+          </p>
+</div>
+<div class="interface" id="HumanActivityPedometerData">
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityPedometerData"></a><h3>2.7. HumanActivityPedometerData</h3>
+<div class="brief">
+ The HumanActivityPedometerData interface represents pedometer data.
+          </div>
+<pre class="webidl prettyprint">    [NoInterfaceObject] interface HumanActivityPedometerData : <a href="#HumanActivityData">HumanActivityData</a> {
+
+        readonly attribute <a href="#PedometerStepStatus">PedometerStepStatus</a> stepStatus;
+
+        readonly attribute double speed;
+
+        readonly attribute double walkingFrequency;
+
+        readonly attribute double cumulativeDistance;
+
+        readonly attribute double cumulativeCalorie;
 
         readonly attribute double cumulativeTotalStepCount;
 
@@ -963,7 +1516,7 @@ The <em>ErrorCallback</em> method is launched with this error type:
             Since: </span>
  2.3
           </p>
-        
+
       <div class="attributes">
 <h4>Attributes</h4>
 <ul>
@@ -1067,7 +1620,7 @@ The value is the sum of <em>cumulativeWalkStepCount</em> and <em>cumulativeRunSt
 </div>
 </div>
 <div class="interface" id="HumanActivityAccumulativePedometerData">
-<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityAccumulativePedometerData"></a><h3>2.6. HumanActivityAccumulativePedometerData</h3>
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityAccumulativePedometerData"></a><h3>2.8. HumanActivityAccumulativePedometerData</h3>
 <div class="brief">
  The HumanActivityAccumulativePedometerData interface represents pedometer motion data since the device is booted.
           </div>
@@ -1095,7 +1648,7 @@ The value is the sum of <em>cumulativeWalkStepCount</em> and <em>cumulativeRunSt
             Since: </span>
  2.3
           </p>
-        
+
       <div class="attributes">
 <h4>Attributes</h4>
 <ul>
@@ -1199,7 +1752,7 @@ The value is the sum of <em>accumulativeWalkStepCount</em> and <em>accumulativeR
 </div>
 </div>
 <div class="interface" id="HumanActivityHRMData">
-<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityHRMData"></a><h3>2.7. HumanActivityHRMData</h3>
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityHRMData"></a><h3>2.9. HumanActivityHRMData</h3>
 <div class="brief">
  The HumanActivityHRMData interface represents Heart Rate Monitor(HRM) data.
           </div>
@@ -1213,7 +1766,7 @@ The value is the sum of <em>accumulativeWalkStepCount</em> and <em>accumulativeR
             Since: </span>
  2.3
           </p>
-        
+
       <div class="attributes">
 <h4>Attributes</h4>
 <ul>
@@ -1242,7 +1795,7 @@ When a user takes off the watch device, the heartRate is set to -3. When a user
 </div>
 </div>
 <div class="interface" id="HumanActivityGPSInfo">
-<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityGPSInfo"></a><h3>2.8. HumanActivityGPSInfo</h3>
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityGPSInfo"></a><h3>2.10. HumanActivityGPSInfo</h3>
 <div class="brief">
  The HumanActivityGPSInfo interface represents GPS information.
           </div>
@@ -1331,7 +1884,7 @@ When a user takes off the watch device, the heartRate is set to -3. When a user
 </div>
 </div>
 <div class="interface" id="HumanActivityGPSInfoArray">
-<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityGPSInfoArray"></a><h3>2.9. HumanActivityGPSInfoArray</h3>
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityGPSInfoArray"></a><h3>2.11. HumanActivityGPSInfoArray</h3>
 <div class="brief">
  The HumanActivityGPSInfoArray interface represents GPS information array.
           </div>
@@ -1343,7 +1896,7 @@ When a user takes off the watch device, the heartRate is set to -3. When a user
             Since: </span>
  2.3
           </p>
-        
+
       <div class="attributes">
 <h4>Attributes</h4>
 <ul><li class="attribute" id="HumanActivityGPSInfoArray::gpsInfo">
@@ -1360,7 +1913,7 @@ When a user takes off the watch device, the heartRate is set to -3. When a user
 </div>
 </div>
 <div class="interface" id="HumanActivitySleepMonitorData">
-<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivitySleepMonitorData"></a><h3>2.10. HumanActivitySleepMonitorData</h3>
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivitySleepMonitorData"></a><h3>2.12. HumanActivitySleepMonitorData</h3>
 <div class="brief">
  The HumanActivitySleepMonitorData interface represents sleep monitor data.
           </div>
@@ -1372,12 +1925,12 @@ When a user takes off the watch device, the heartRate is set to -3. When a user
     };</pre>
 <p><span class="version">
             Since: </span>
- 3.0
+ 2.3.2
           </p>
 <p><span class="remark"> Remark : </span>
  If the device's display is off, multiple callbacks consisting of sleep monitor data are all invoked at once at a device specific interval. There is a callback for each minute in the interval. For example, if the device's interval is 20 minutes, 20 callbacks will be invoked every 20 minutes. When the display is turned on, all callbacks which have not been invoked are invoked and the callback is invoked every one minute from then on. Therefore, if the display is turned on at 25 minutes, five callbacks will be invoked.
           </p>
-        
+
       <div class="attributes">
 <h4>Attributes</h4>
 <ul>
@@ -1388,7 +1941,7 @@ When a user takes off the watch device, the heartRate is set to -3. When a user
             </div>
 <p><span class="version">
             Since: </span>
- 3.0
+ 2.3.2
             </p>
 </li>
 <li class="attribute" id="HumanActivitySleepMonitorData::timestamp">
@@ -1398,14 +1951,14 @@ When a user takes off the watch device, the heartRate is set to -3. When a user
             </div>
 <p><span class="version">
             Since: </span>
- 3.0
+ 2.3.2
             </p>
 </li>
 </ul>
 </div>
 </div>
 <div class="dictionary" id="HumanActivityMonitorOption">
-<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityMonitorOption"></a><h3>2.11. HumanActivityMonitorOption</h3>
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityMonitorOption"></a><h3>2.13. HumanActivityMonitorOption</h3>
 <div class="brief">
  The HumanActivityMonitorOption dictionary contains options, such as the <em>callbackInterval</em> and the <em>sampleInterval</em>, to use with start().
           </div>
@@ -1417,7 +1970,7 @@ When a user takes off the watch device, the heartRate is set to -3. When a user
     };</pre>
 <p><span class="version">
             Since: </span>
- 3.0
+ 2.3.2
           </p>
 <div class="attributes">
 <h4>Dictionary members</h4>
@@ -1425,11 +1978,11 @@ When a user takes off the watch device, the heartRate is set to -3. When a user
 <dt class="member" id="HumanActivityMonitorOption::callbackInterval"><span class="attrName">long callbackInterval</span></dt>
 <dd>
 <div class="brief">
- The interval in milliseconds (ms) at which human activity data will be sent to the Web Application.<br>For the GPS type, <em>callbackInterval</em> should be greater than or equal to the <em>sampleInterval</em>. The maximum permissible value for <em>callbackInterval</em> is device specific. If <em>callbackInterval</em> is not specified or zero, it is set to the default value of 150000ms. The <em>callbackInterval</em> will be ignored when the display is on. Instead, The <em>callbackInterval</em> will be set to the <em>sampleInterval</em>.<br>For the HRM type, <em>callbackInterval</em> can be between 10ms and 1000ms inclusive, however, if it not specified or zero, it is set set by the default value of 100ms.<br>For other activity types, <em>callbackInterval</em> will be ignored.
+ The interval in milliseconds (ms) at which human activity data will be sent to the Web Application.<br>For the GPS type, <em>callbackInterval</em> should be greater than or equal to the <em>sampleInterval</em>. The maximum permissible value for <em>callbackInterval</em> is device specific. If <em>callbackInterval</em> is not specified or zero, it is set to the default value of 150000ms. The <em>callbackInterval</em> will be ignored when the display is on. Instead, The <em>callbackInterval</em> will be set to the <em>sampleInterval</em>.<br>For the HRM type, <em>callbackInterval</em> can be between 10ms and 1000ms inclusive, however, if it not specified or zero, it is set by the default value of 100ms.<br>For other activity types, <em>callbackInterval</em> will be ignored.
             </div>
 <p><span class="version">
             Since: </span>
- 3.0
+ 2.3.2
             </p>
 <p><span class="remark"> Remark : </span>
  The specified interval is only a suggested interval between sensor measurements. You will get at least one sensor measurement within the interval you specify, but the actual interval between sensor measurements can be affected by other applications and the system. To reduce the system overhead, it is recommended to set the longest interval that you can, because the system usually chooses the shortest interval among all intervals specified.
@@ -1442,14 +1995,14 @@ When a user takes off the watch device, the heartRate is set to -3. When a user
             </div>
 <p><span class="version">
             Since: </span>
- 3.0
+ 2.3.2
             </p>
 </dd>
 </dl>
 </div>
 </div>
 <div class="interface" id="HumanActivityRecognitionData">
-<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityRecognitionData"></a><h3>2.12. HumanActivityRecognitionData</h3>
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityRecognitionData"></a><h3>2.14. HumanActivityRecognitionData</h3>
 <div class="brief">
  The HumanActivityRecognitionData interface represents a activity recognition data.
           </div>
@@ -1463,9 +2016,9 @@ When a user takes off the watch device, the heartRate is set to -3. When a user
     };</pre>
 <p><span class="version">
             Since: </span>
- 3.0
+ 2.3.2
           </p>
-        
+
       <div class="attributes">
 <h4>Attributes</h4>
 <ul>
@@ -1476,7 +2029,7 @@ When a user takes off the watch device, the heartRate is set to -3. When a user
             </div>
 <p><span class="version">
             Since: </span>
- 3.0
+ 2.3.2
             </p>
 </li>
 <li class="attribute" id="HumanActivityRecognitionData::timestamp">
@@ -1486,7 +2039,7 @@ When a user takes off the watch device, the heartRate is set to -3. When a user
             </div>
 <p><span class="version">
             Since: </span>
- 3.0
+ 2.3.2
             </p>
 </li>
 <li class="attribute" id="HumanActivityRecognitionData::accuracy">
@@ -1496,14 +2049,243 @@ When a user takes off the watch device, the heartRate is set to -3. When a user
             </div>
 <p><span class="version">
             Since: </span>
- 3.0
+ 2.3.2
+            </p>
+</li>
+</ul>
+</div>
+</div>
+<div class="interface" id="HumanActivityRecorderData">
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityRecorderData"></a><h3>2.15. HumanActivityRecorderData</h3>
+<div class="brief">
+ The HumanActivityRecorderData interface is a common abstract interface used for the different types of human activity recorder data.
+          </div>
+<pre class="webidl prettyprint">    [NoInterfaceObject] interface HumanActivityRecorderData {
+
+        readonly attribute long startTime;
+
+        readonly attribute long endTime;
+    };</pre>
+<p><span class="version">
+            Since: </span>
+ 2.3.2
+          </p>
+<div class="attributes">
+<h4>Attributes</h4>
+<ul>
+<li class="attribute" id="HumanActivityRecorderData::startTime">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">long </span><span class="name">startTime</span></span><div class="brief">
+ Recording start time of the data in this HumanActivityRecorderData object. Epoch time in seconds.
+            </div>
+<p><span class="version">
+            Since: </span>
+ 2.3.2
+            </p>
+</li>
+<li class="attribute" id="HumanActivityRecorderData::endTime">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">long </span><span class="name">endTime</span></span><div class="brief">
+ Recording end time of the data in this HumanActivityRecorderData object. Epoch time in seconds.
+            </div>
+<p><span class="version">
+            Since: </span>
+ 2.3.2
+            </p>
+</li>
+</ul>
+</div>
+</div>
+<div class="interface" id="HumanActivityRecorderPedometerData">
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityRecorderPedometerData"></a><h3>2.16. HumanActivityRecorderPedometerData</h3>
+<div class="brief">
+ The HumanActivityRecorderPedometerData interface represents recorded PEDOMETER data.
+          </div>
+<pre class="webidl prettyprint">    [NoInterfaceObject] interface HumanActivityRecorderPedometerData : <a href="#HumanActivityRecorderData">HumanActivityRecorderData</a> {
+
+        readonly attribute double distance;
+
+        readonly attribute double calorie;
+
+        readonly attribute double totalStepCount;
+
+        readonly attribute double walkStepCount;
+
+        readonly attribute double runStepCount;
+    };</pre>
+<p><span class="version">
+            Since: </span>
+ 2.3.2
+          </p>
+
+      <div class="attributes">
+<h4>Attributes</h4>
+<ul>
+<li class="attribute" id="HumanActivityRecorderPedometerData::distance">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">double </span><span class="name">distance</span></span><div class="brief">
+ Distance traveled from <em>startTime</em> to <em>endTime</em> in meters.
+            </div>
+<p><span class="version">
+            Since: </span>
+ 2.3.2
+            </p>
+</li>
+<li class="attribute" id="HumanActivityRecorderPedometerData::calorie">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">double </span><span class="name">calorie</span></span><div class="brief">
+ Calories burned from <em>startTime</em> to <em>endTime</em> in kCal.
+            </div>
+<p><span class="version">
+            Since: </span>
+ 2.3.2
+            </p>
+</li>
+<li class="attribute" id="HumanActivityRecorderPedometerData::totalStepCount">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">double </span><span class="name">totalStepCount</span></span><div class="brief">
+ Walking and running step count from <em>startTime</em> to <em>endTime</em>. The value is the sum of <em>walkingStepCount</em> and <em>runningStepCount</em>.
+            </div>
+<p><span class="version">
+            Since: </span>
+ 2.3.2
+            </p>
+</li>
+<li class="attribute" id="HumanActivityRecorderPedometerData::walkStepCount">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">double </span><span class="name">walkStepCount</span></span><div class="brief">
+ Walking step count from <em>startTime</em> to <em>endTime</em>.
+            </div>
+<p><span class="version">
+            Since: </span>
+ 2.3.2
+            </p>
+</li>
+<li class="attribute" id="HumanActivityRecorderPedometerData::runStepCount">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">double </span><span class="name">runStepCount</span></span><div class="brief">
+ Running step count from <em>startTime</em> to <em>endTime</em>.
+            </div>
+<p><span class="version">
+            Since: </span>
+ 2.3.2
+            </p>
+</li>
+</ul>
+</div>
+</div>
+<div class="interface" id="HumanActivityRecorderHRMData">
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityRecorderHRMData"></a><h3>2.17. HumanActivityRecorderHRMData</h3>
+<div class="brief">
+ The HumanActivityRecorderHRMData interface represents a recorded HRM data.
+          </div>
+<pre class="webidl prettyprint">    [NoInterfaceObject] interface HumanActivityRecorderHRMData : <a href="#HumanActivityRecorderData">HumanActivityRecorderData</a> {
+
+        readonly attribute long heartRate;
+    };</pre>
+<p><span class="version">
+            Since: </span>
+ 2.3.2
+          </p>
+
+      <div class="attributes">
+<h4>Attributes</h4>
+<ul><li class="attribute" id="HumanActivityRecorderHRMData::heartRate">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">long </span><span class="name">heartRate</span></span><div class="brief">
+ Heart rate in beats per minute.
+            </div>
+<p><span class="version">
+            Since: </span>
+ 2.3.2
+            </p>
+</li></ul>
+</div>
+</div>
+<div class="interface" id="HumanActivityRecorderSleepMonitorData">
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityRecorderSleepMonitorData"></a><h3>2.18. HumanActivityRecorderSleepMonitorData</h3>
+<div class="brief">
+ The HumanActivityRecorderSleepMonitorData interface represents a recorded SLEEP_MONITOR data.
+          </div>
+<pre class="webidl prettyprint">    [NoInterfaceObject] interface HumanActivityRecorderSleepMonitorData : <a href="#HumanActivityRecorderData">HumanActivityRecorderData</a> {
+
+        readonly attribute <a href="#SleepStatus">SleepStatus</a> status;
+    };</pre>
+<p><span class="version">
+            Since: </span>
+ 2.3.2
+          </p>
+
+      <div class="attributes">
+<h4>Attributes</h4>
+<ul><li class="attribute" id="HumanActivityRecorderSleepMonitorData::status">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">SleepStatus </span><span class="name">status</span></span><div class="brief">
+ The sleep status.
+            </div>
+<p><span class="version">
+            Since: </span>
+ 2.3.2
+            </p>
+</li></ul>
+</div>
+</div>
+<div class="interface" id="HumanActivityRecorderPressureData">
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityRecorderPressureData"></a><h3>2.19. HumanActivityRecorderPressureData</h3>
+<div class="brief">
+ The HumanActivityRecorderPressureData interface represents a recorded PRESSURE data.
+          </div>
+<pre class="webidl prettyprint">    [NoInterfaceObject] interface HumanActivityRecorderPressureData : <a href="#HumanActivityRecorderData">HumanActivityRecorderData</a> {
+
+        readonly attribute double? max;
+
+        readonly attribute double? min;
+
+        readonly attribute double? average;
+    };</pre>
+<p><span class="version">
+            Since: </span>
+ 2.3.2
+          </p>
+
+      <div class="attributes">
+<h4>Attributes</h4>
+<ul>
+<li class="attribute" id="HumanActivityRecorderPressureData::max">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">double </span><span class="name">max</span><span class="optional"> [nullable]</span></span><div class="brief">
+ Max pressure in hectopascal (hPa).
+            </div>
+<p><span class="version">
+            Since: </span>
+ 2.3.2
+            </p>
+</li>
+<li class="attribute" id="HumanActivityRecorderPressureData::min">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">double </span><span class="name">min</span><span class="optional"> [nullable]</span></span><div class="brief">
+ Min pressure in hectopascal (hPa).
+            </div>
+<p><span class="version">
+            Since: </span>
+ 2.3.2
+            </p>
+</li>
+<li class="attribute" id="HumanActivityRecorderPressureData::average">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">double </span><span class="name">average</span><span class="optional"> [nullable]</span></span><div class="brief">
+ Average pressure in hectopascal (hPa).
+            </div>
+<p><span class="version">
+            Since: </span>
+ 2.3.2
             </p>
 </li>
 </ul>
 </div>
 </div>
 <div class="interface" id="HumanActivityMonitorSuccessCallback">
-<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityMonitorSuccessCallback"></a><h3>2.13. HumanActivityMonitorSuccessCallback</h3>
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityMonitorSuccessCallback"></a><h3>2.20. HumanActivityMonitorSuccessCallback</h3>
 <div class="brief">
  The HumanActivityMonitorSuccessCallback interface is a callback interface that is invoked when new human activity data is available.
           </div>
@@ -1544,6 +2326,48 @@ When a user takes off the watch device, the heartRate is set to -3. When a user
 </dl>
 </div>
 </div>
+<div class="interface" id="HumanActivityReadRecorderSuccessCallback">
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityReadRecorderSuccessCallback"></a><h3>2.21. HumanActivityReadRecorderSuccessCallback</h3>
+<div class="brief">
+ The HumanActivityReadRecorderSuccessCallback interface is a callback interface that is invoked when recorded human activity data is successfully read.
+          </div>
+<pre class="webidl prettyprint">    [Callback=FunctionOnly, NoInterfaceObject] interface HumanActivityReadRecorderSuccessCallback {
+
+        void onsuccess(<a href="#HumanActivityRecorderData">HumanActivityRecorderData</a>[] humanactivitydata);
+    };</pre>
+<p><span class="version">
+            Since: </span>
+ 2.3
+          </p>
+<div class="methods">
+<h4>Methods</h4>
+<dl>
+<dt class="method" id="HumanActivityReadRecorderSuccessCallback::onsuccess">
+<a class="backward-compatibility-anchor" name="::HumanActivityMonitor::HumanActivityReadRecorderSuccessCallback::onsuccess"></a><code><b><span class="methodName">onsuccess</span></b></code>
+</dt>
+<dd>
+<div class="brief">
+ Called when recorded human activity data is successfully read.
+            </div>
+<div class="synopsis"><pre class="signature prettyprint">void onsuccess(<a href="#HumanActivityRecorderData">HumanActivityRecorderData</a>[] humanactivitydata);
+             </pre></div>
+<p><span class="version">
+            Since: </span>
+ 2.3
+            </p>
+<div class="parameters">
+<p><span class="param">Parameters:</span></p>
+<ul>
+          <li class="param">
+<span class="name">humanactivitydata</span>:
+ Recorded human activity data.
+                </li>
+        </ul>
+</div>
+</dd>
+</dl>
+</div>
+</div>
 </div>
 <h2 id="api-features">3. Related Feature</h2>
 <div id="def-api-features" class="def-api-features">
@@ -1604,6 +2428,14 @@ To guarantee that the human sleep state tracking application runs on a device wi
            </div></p>
 <li class="feature">http://tizen.org/feature/sensor.sleep_monitor</li>
 </div>
+<div class="def-api-feature">
+<p><div class="description">
+            <p>
+To guarantee that the barometer(pressure) sensor application runs on a device with a barometric (pressure) sensor, declare the following feature requirement in the config file:
+            </p>
+           </div></p>
+<li class="feature">http://tizen.org/feature/sensor.barometer</li>
+</div>
 <p></p>
                     For more information, see <a href="https://developer.tizen.org/development/getting-started/web-application/understanding-tizen-programming/application-filtering">Application Filtering</a>.
 </div>
@@ -1612,7 +2444,9 @@ To guarantee that the human sleep state tracking application runs on a device wi
 
     enum HumanActivityType { "PEDOMETER", "WRIST_UP", "HRM", "GPS", "SLEEP_MONITOR" };
 
-    enum PedometerStepStatus { "NOT_MOVING", "WALKING", "RUNNING" };
+    enum HumanActivityRecorderType { "PEDOMETER", "HRM", "SLEEP_MONITOR", "PRESSURE" };
+
+    enum PedometerStepStatus { "NOT_MOVING", "WALKING", "RUNNING", "UNKNOWN" };
 
     enum ActivityRecognitionType { "STATIONARY", "WALKING", "RUNNING", "IN_VEHICLE" };
 
@@ -1630,17 +2464,26 @@ To guarantee that the human sleep state tracking application runs on a device wi
         void getHumanActivityData(<a href="#HumanActivityType">HumanActivityType</a> type, <a href="#HumanActivityMonitorSuccessCallback">HumanActivityMonitorSuccessCallback</a> successCallback,
                                 optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
 
-        void start(<a href="#HumanActivityType">HumanActivityType</a> type, optional <a href="#HumanActivityMonitorSuccessCallback">HumanActivityMonitorSuccessCallback</a>? changedCallback, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback, optional <a href="#HumanActivityMonitorOption">HumanActivityMonitorOption</a>? option) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+        void start(HumanActivityType type, optional HumanActivityMonitorSuccessCallback? changedCallback, optional ErrorCallback? errorCallback, optional HumanActivityMonitorOption? option) raises(WebAPIException);
+
+        void stop(HumanActivityType type) raises(WebAPIException);
+
+        void setAccumulativePedometerListener(HumanActivityMonitorSuccessCallback changeCallback) raises(WebAPIException);
 
-        void stop(<a href="#HumanActivityType">HumanActivityType</a> type) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+        void unsetAccumulativePedometerListener() raises(WebAPIException);
 
-        void setAccumulativePedometerListener(<a href="#HumanActivityMonitorSuccessCallback">HumanActivityMonitorSuccessCallback</a> changeCallback) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+        long addActivityRecognitionListener(ActivityRecognitionType type, HumanActivityMonitorSuccessCallback listener, optional ErrorCallback? errorCallback) raises(WebAPIException);
 
-        void unsetAccumulativePedometerListener() raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+        void removeActivityRecognitionListener(long listenerId, optional ErrorCallback? errorCallback);
 
-        long addActivityRecognitionListener(<a href="#ActivityRecognitionType">ActivityRecognitionType</a> type, <a href="#HumanActivityMonitorSuccessCallback">HumanActivityMonitorSuccessCallback</a> listener, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+        void startRecorder(HumanActivityRecorderType type, optional HumanActivityRecorderOption option) raises(WebAPIException);
 
-        void removeActivityRecognitionListener(long listenerId, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback);
+        void stopRecorder(HumanActivityRecorderType type) raises(WebAPIException);
+
+        void readRecorderData(HumanActivityRecorderType type,
+                              HumanActivityRecorderQuery? query,
+                              HumanActivityReadRecorderSuccessCallback successCallback,
+                              optional ErrorCallback? errorCallback) raises(WebAPIException);
     };
 
     [NoInterfaceObject] interface StepDifference {
@@ -1650,12 +2493,30 @@ To guarantee that the human sleep state tracking application runs on a device wi
         readonly attribute long timestamp;
     };
 
+    dictionary HumanActivityRecorderOption {
+
+        long interval;
+
+        long retentionPeriod;
+    };
+
+    dictionary HumanActivityRecorderQuery {
+
+        long startTime;
+
+        long endTime;
+
+        long anchorTime;
+
+        long interval;
+    };
+
     [NoInterfaceObject] interface HumanActivityData {
     };
 
-    [NoInterfaceObject] interface HumanActivityPedometerData : <a href="#HumanActivityData">HumanActivityData</a> {
+    [NoInterfaceObject] interface HumanActivityPedometerData : HumanActivityData {
 
-        readonly attribute <a href="#PedometerStepStatus">PedometerStepStatus</a> stepStatus;
+        readonly attribute PedometerStepStatus stepStatus;
 
         readonly attribute double speed;
 
@@ -1671,12 +2532,12 @@ To guarantee that the human sleep state tracking application runs on a device wi
 
         readonly attribute double cumulativeRunStepCount;
 
-        readonly attribute <a href="#StepDifference">StepDifference</a>[] stepCountDifferences;
+        readonly attribute StepDifference[] stepCountDifferences;
     };
 
-    [NoInterfaceObject] interface HumanActivityAccumulativePedometerData : <a href="#HumanActivityData">HumanActivityData</a> {
+    [NoInterfaceObject] interface HumanActivityAccumulativePedometerData : HumanActivityData {
 
-        readonly attribute <a href="#PedometerStepStatus">PedometerStepStatus</a> stepStatus;
+        readonly attribute PedometerStepStatus stepStatus;
 
         readonly attribute double speed;
 
@@ -1692,10 +2553,10 @@ To guarantee that the human sleep state tracking application runs on a device wi
 
         readonly attribute double accumulativeRunStepCount;
 
-        readonly attribute <a href="#StepDifference">StepDifference</a>[] stepCountDifferences;
+        readonly attribute StepDifference[] stepCountDifferences;
     };
 
-    [NoInterfaceObject] interface HumanActivityHRMData : <a href="#HumanActivityData">HumanActivityData</a> {
+    [NoInterfaceObject] interface HumanActivityHRMData : HumanActivityData {
 
         readonly attribute long heartRate;
 
@@ -1717,12 +2578,12 @@ To guarantee that the human sleep state tracking application runs on a device wi
         readonly attribute long timestamp;
     };
 
-    [NoInterfaceObject] interface HumanActivityGPSInfoArray : <a href="#HumanActivityData">HumanActivityData</a> {
+    [NoInterfaceObject] interface HumanActivityGPSInfoArray : HumanActivityData {
 
-        readonly attribute <a href="#HumanActivityGPSInfo">HumanActivityGPSInfo</a>[] gpsInfo;
+        readonly attribute HumanActivityGPSInfo[] gpsInfo;
     };
 
-    [NoInterfaceObject] interface <a href="#HumanActivitySleepMonitorData">HumanActivitySleepMonitorData</a> : <a href="#HumanActivityData">HumanActivityData</a> {
+    [NoInterfaceObject] interface HumanActivitySleepMonitorData : HumanActivityData {
 
         readonly attribute SleepStatus status;
 
@@ -1736,20 +2597,64 @@ To guarantee that the human sleep state tracking application runs on a device wi
         long sampleInterval;
     };
 
-    [NoInterfaceObject] interface HumanActivityRecognitionData : <a href="#HumanActivityData">HumanActivityData</a> {
 
-        readonly attribute <a href="#ActivityRecognitionType">ActivityRecognitionType</a> type;
+    [NoInterfaceObject] interface HumanActivityRecognitionData : HumanActivityData {
+
+        readonly attribute ActivityRecognitionType type;
 
         readonly attribute long timestamp;
 
-        readonly attribute <a href="#ActivityAccuracy">ActivityAccuracy</a> accuracy;
+        readonly attribute ActivityAccuracy accuracy;
+    };
+
+    [NoInterfaceObject] interface HumanActivityRecorderData {
+
+        readonly attribute long startTime;
+
+        readonly attribute long endTime;
+    };
+
+    [NoInterfaceObject] interface HumanActivityRecorderPedometerData : HumanActivityRecorderData {
+
+        readonly attribute double distance;
+
+        readonly attribute double calorie;
+
+        readonly attribute double totalStepCount;
+
+        readonly attribute double walkStepCount;
+
+        readonly attribute double runStepCount;
+    };
+
+    [NoInterfaceObject] interface HumanActivityRecorderHRMData : HumanActivityRecorderData {
+
+        readonly attribute long heartRate;
+    };
+
+    [NoInterfaceObject] interface HumanActivityRecorderSleepMonitorData : HumanActivityRecorderData {
+
+        readonly attribute SleepStatus status;
+    };
+
+    [NoInterfaceObject] interface HumanActivityRecorderPressureData : HumanActivityRecorderData {
+
+        readonly attribute double? max;
+
+        readonly attribute double? min;
+
+        readonly attribute double? average;
     };
 
     [Callback=FunctionOnly, NoInterfaceObject] interface HumanActivityMonitorSuccessCallback {
 
-        void onsuccess(optional <a href="#HumanActivityData">HumanActivityData</a>? humanactivitydata);
+        void onsuccess(optional HumanActivityData? humanactivitydata);
     };
 
+    [Callback=FunctionOnly, NoInterfaceObject] interface HumanActivityReadRecorderSuccessCallback {
+
+        void onsuccess(HumanActivityRecorderData[] humanactivitydata);
+    };
 };</pre>
 </div>
 <div id="page-footer">