1<!DOCTYPE html> 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87<html> 88<head> 89 90 91<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 92<meta name="viewport" content="width=device-width" /> 93 94<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" /> 95<title>HistoryApi | Android Developers</title> 96 97<!-- STYLESHEETS --> 98<link rel="stylesheet" 99href="//fonts.googleapis.com/css?family=Roboto+Condensed"> 100<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" 101 title="roboto"> 102<link href="/assets/css/default.css?v=2" rel="stylesheet" type="text/css"> 103 104 105 106<!-- JAVASCRIPT --> 107<script src="//www.google.com/jsapi" type="text/javascript"></script> 108<script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script> 109<script type="text/javascript"> 110 var toRoot = "/"; 111 var metaTags = []; 112 var devsite = false; 113</script> 114<script src="/assets/js/docs.js?v=2" type="text/javascript"></script> 115 116<script> 117 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 118 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 119 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 120 })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 121 122 ga('create', 'UA-5831155-1', 'android.com'); 123 ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'}); // New tracker); 124 ga('send', 'pageview'); 125 ga('universal.send', 'pageview'); // Send page view for new tracker. 126</script> 127 128</head> 129 130<body class="gc-documentation google 131 develop" itemscope itemtype="http://schema.org/Article"> 132 <div id="doc-api-level" class="" style="display:none"></div> 133 <a name="top"></a> 134 135 136<a name="top"></a> 137 138 <!-- Header --> 139 <div id="header-wrapper"> 140 <div id="header"> 141 <div class="wrap" id="header-wrap"> 142 <div class="col-3 logo"> 143 <a href="/index.html"> 144 <img src="/assets/images/dac_logo.png" 145 srcset="/assets/images/dac_logo@2x.png 2x" 146 width="123" height="25" alt="Android Developers" /> 147 </a> 148 <div class="btn-quicknav" id="btn-quicknav"> 149 <a href="#" class="arrow-inactive">Quicknav</a> 150 <a href="#" class="arrow-active">Quicknav</a> 151 </div> 152 </div> 153 <ul class="nav-x col-9"> 154 <li class="design"> 155 <a href="/design/index.html" 156 zh-tw-lang="設計" 157 zh-cn-lang="设计" 158 ru-lang="Проектирование" 159 ko-lang="디자인" 160 ja-lang="設計" 161 es-lang="Diseñar" 162 >Design</a></li> 163 <li class="develop"><a href="/develop/index.html" 164 zh-tw-lang="開發" 165 zh-cn-lang="开发" 166 ru-lang="Разработка" 167 ko-lang="개발" 168 ja-lang="開発" 169 es-lang="Desarrollar" 170 >Develop</a></li> 171 <li class="distribute last"><a href="/distribute/index.html" 172 zh-tw-lang="發佈" 173 zh-cn-lang="分发" 174 ru-lang="Распространение" 175 ko-lang="배포" 176 ja-lang="配布" 177 es-lang="Distribuir" 178 >Distribute</a></li> 179 </ul> 180 181 182 183 184<div class="menu-container"> 185 <div class="moremenu"> 186 <div id="more-btn"></div> 187 </div> 188 <div class="morehover" id="moremenu"> 189 <div class="top"></div> 190 <div class="mid"> 191 <div class="header">Links</div> 192 <ul> 193 <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> 194 <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> 195 <li><a href="/about/index.html">About Android</a></li> 196 </ul> 197 <div class="header">Android Sites</div> 198 <ul> 199 <li><a href="http://www.android.com">Android.com</a></li> 200 <li class="active"><a>Android Developers</a></li> 201 <li><a href="http://source.android.com">Android Open Source Project</a></li> 202 </ul> 203 204 205 206 <div class="header">Language</div> 207 <div id="language" class="locales"> 208 <select name="language" onChange="changeLangPref(this.value, true)"> 209 <option value="en">English</option> 210 <option value="es">Español</option> 211 <option value="ja">日本語</option> 212 <option value="ko">한국어</option> 213 <option value="ru">Русский</option> 214 <option value="zh-cn">中文 (中国)</option> 215 <option value="zh-tw">中文 (台灣)</option> 216 </select> 217 </div> 218 <script type="text/javascript"> 219 <!-- 220 loadLangPref(); 221 //--> 222 </script> 223 224 225 <br class="clearfix" /> 226 </div><!-- end 'mid' --> 227 <div class="bottom"></div> 228 </div><!-- end 'moremenu' --> 229 230 <div class="search" id="search-container"> 231 <div class="search-inner"> 232 <div id="search-btn"></div> 233 <div class="left"></div> 234 <form onsubmit="return submit_search()"> 235 <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" 236 onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" 237 onkeydown="return search_changed(event, true, '/')" 238 onkeyup="return search_changed(event, false, '/')" /> 239 </form> 240 <div class="right"></div> 241 <a class="close hide">close</a> 242 <div class="left"></div> 243 <div class="right"></div> 244 </div><!-- end search-inner --> 245 </div><!-- end search-container --> 246 247 <div class="search_filtered_wrapper reference"> 248 <div class="suggest-card reference no-display"> 249 <ul class="search_filtered"> 250 </ul> 251 </div> 252 </div> 253 254 <div class="search_filtered_wrapper docs"> 255 <div class="suggest-card dummy no-display"> </div> 256 <div class="suggest-card develop no-display"> 257 <ul class="search_filtered"> 258 </ul> 259 <div class="child-card guides no-display"> 260 </div> 261 <div class="child-card training no-display"> 262 </div> 263 <div class="child-card samples no-display"> 264 </div> 265 </div> 266 <div class="suggest-card design no-display"> 267 <ul class="search_filtered"> 268 </ul> 269 </div> 270 <div class="suggest-card distribute no-display"> 271 <ul class="search_filtered"> 272 </ul> 273 </div> 274 </div> 275</div><!-- end menu-container (search and menu widget) --> 276 277 278 279 <!-- Expanded quicknav --> 280 <div id="quicknav" class="col-13"> 281 <ul> 282 <li class="about"> 283 <ul> 284 <li><a href="/about/index.html">About</a></li> 285 <li><a href="/wear/index.html">Wear</a></li> 286 <li><a href="/tv/index.html">TV</a></li> 287 <li><a href="/auto/index.html">Auto</a></li> 288 </ul> 289 </li> 290 <li class="design"> 291 <ul> 292 <li><a href="/design/index.html">Get Started</a></li> 293 <li><a href="/design/devices.html">Devices</a></li> 294 <li><a href="/design/style/index.html">Style</a></li> 295 <li><a href="/design/patterns/index.html">Patterns</a></li> 296 <li><a href="/design/building-blocks/index.html">Building Blocks</a></li> 297 <li><a href="/design/downloads/index.html">Downloads</a></li> 298 <li><a href="/design/videos/index.html">Videos</a></li> 299 </ul> 300 </li> 301 <li class="develop"> 302 <ul> 303 <li><a href="/training/index.html" 304 zh-tw-lang="訓練課程" 305 zh-cn-lang="培训" 306 ru-lang="Курсы" 307 ko-lang="교육" 308 ja-lang="トレーニング" 309 es-lang="Capacitación" 310 >Training</a></li> 311 <li><a href="/guide/index.html" 312 zh-tw-lang="API 指南" 313 zh-cn-lang="API 指南" 314 ru-lang="Руководства по API" 315 ko-lang="API 가이드" 316 ja-lang="API ガイド" 317 es-lang="Guías de la API" 318 >API Guides</a></li> 319 <li><a href="/reference/packages.html" 320 zh-tw-lang="參考資源" 321 zh-cn-lang="参考" 322 ru-lang="Справочник" 323 ko-lang="참조문서" 324 ja-lang="リファレンス" 325 es-lang="Referencia" 326 >Reference</a></li> 327 <li><a href="/sdk/index.html" 328 zh-tw-lang="相關工具" 329 zh-cn-lang="工具" 330 ru-lang="Инструменты" 331 ko-lang="도구" 332 ja-lang="ツール" 333 es-lang="Herramientas" 334 >Tools</a> 335 </li> 336 <li><a href="/google/index.html">Google Services</a> 337 </li> 338 339 <li><a href="/samples/index.html">Samples</a> 340 </li> 341 342 </ul> 343 </li> 344 <li class="distribute last"> 345 <ul> 346 <li><a href="/distribute/googleplay/index.html">Google Play</a></li> 347 <li><a href="/distribute/essentials/index.html">Essentials</a></li> 348 <li><a href="/distribute/users/index.html">Get Users</a></li> 349 <li><a href="/distribute/engage/index.html">Engage & Retain</a></li> 350 <li><a href="/distribute/monetize/index.html">Monetize</a></li> 351 <li><a href="/distribute/tools/index.html">Tools & Reference</a></li> 352 <li><a href="/distribute/stories/index.html">Developer Stories</a></li> 353 </ul> 354 </li> 355 </ul> 356 </div><!-- /Expanded quicknav --> 357 </div><!-- end header-wrap.wrap --> 358 </div><!-- end header --> 359 360 361 <!-- Secondary x-nav --> 362 <div id="nav-x"> 363 <div class="wrap"> 364 <ul class="nav-x col-9 develop" style="width:100%"> 365 <li class="training"><a href="/training/index.html" 366 zh-tw-lang="訓練課程" 367 zh-cn-lang="培训" 368 ru-lang="Курсы" 369 ko-lang="교육" 370 ja-lang="トレーニング" 371 es-lang="Capacitación" 372 >Training</a></li> 373 <li class="guide"><a href="/guide/index.html" 374 zh-tw-lang="API 指南" 375 zh-cn-lang="API 指南" 376 ru-lang="Руководства по API" 377 ko-lang="API 가이드" 378 ja-lang="API ガイド" 379 es-lang="Guías de la API" 380 >API Guides</a></li> 381 <li class="reference"><a href="/reference/packages.html" 382 zh-tw-lang="參考資源" 383 zh-cn-lang="参考" 384 ru-lang="Справочник" 385 ko-lang="참조문서" 386 ja-lang="リファレンス" 387 es-lang="Referencia" 388 >Reference</a></li> 389 <li class="tools"><a href="/sdk/index.html" 390 zh-tw-lang="相關工具" 391 zh-cn-lang="工具" 392 ru-lang="Инструменты" 393 ko-lang="도구" 394 ja-lang="ツール" 395 es-lang="Herramientas" 396 >Tools</a></li> 397 <li class="google"><a href="/google/index.html" 398 >Google Services</a> 399 </li> 400 401 <li class="samples"><a href="/samples/index.html" 402 >Samples</a> 403 </li> 404 405 </ul> 406 </div> 407 </div> 408 <!-- /Sendondary x-nav DEVELOP --> 409 410 411 412 <div id="searchResults" class="wrap" style="display:none;"> 413 <h2 id="searchTitle">Results</h2> 414 <div id="leftSearchControl" class="search-control">Loading...</div> 415 </div> 416 </div> <!--end header-wrapper --> 417 418 <div id="sticky-header"> 419 <div> 420 <a class="logo" href="#top"></a> 421 <a class="top" href="#top"></a> 422 <ul class="breadcrumb"> 423 424 <li class="current">HistoryApi</li> 425 </ul> 426 </div> 427 </div> 428 429 430 431 432 433 434 <div class="wrap clearfix" id="body-content"> 435 <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> 436 <div id="devdoc-nav" class="scroll-pane"> 437 438 439 440<ul id="nav"> 441 442 <li class="nav-section"> 443 <div class="nav-section-header empty"><a href="/google/index.html"> 444 <span class="en">Overview</span> 445 </a></div> 446 </li> 447 448 <li class="nav-section"> 449 <div class="nav-section-header empty"><a href="/google/play-services/games.html"> 450 <span class="en">Games</span> 451 </a></div> 452 </li> 453 <li class="nav-section"> 454 <div class="nav-section-header empty"><a href="/google/play-services/location.html"> 455 <span class="en">Location</span> 456 </a></div> 457 </li> 458 <li class="nav-section"> 459 <div class="nav-section-header empty"><a href="/google/play-services/plus.html"> 460 <span class="en">Google+</span> 461 </a></div> 462 </li> 463 <li class="nav-section"> 464 <div class="nav-section-header empty"><a href="/google/play-services/maps.html"> 465 <span class="en">Maps</span> 466 </a></div> 467 </li> 468 <li class="nav-section"> 469 <div class="nav-section-header empty"><a href="/google/play-services/drive.html"> 470 <span class="en">Drive</span> 471 </a></div> 472 </li> 473 <li class="nav-section"> 474 <div class="nav-section-header empty"><a href="/google/play-services/cast.html"> 475 <span class="en">Cast</span> 476 </a></div> 477 </li> 478 <li class="nav-section"> 479 <div class="nav-section-header"><a href="/google/play-services/ads.html"> 480 <span class="en">Ads</span></a> 481 </div> 482 <ul> 483 <li><a href="/google/play-services/id.html"> 484 <span class="en">Advertising ID</span></a> 485 </li> 486 </ul> 487 </li> 488 <li class="nav-section"> 489 <div class="nav-section-header empty"><a href="/google/play-services/wallet.html"> 490 <span class="en">Wallet</span> 491 </a></div> 492 </li> 493 494 495 <li class="nav-section"> 496 <div class="nav-section-header"><a href="/google/play-services/index.html"> 497 <span class="en">Google Play Services</span></a> 498 </div> 499 <ul> 500 <li><a href="/google/play-services/setup.html"> 501 <span class="en">Setting Up Google Play Services</span></a> 502 </li> 503 <li class="nav-section"> 504 <div class="nav-section-header"><a href="/google/auth/api-client.html"> 505 <span class="en">Accessing Google APIs</span></a> 506 </div> 507 <ul> 508 <li> 509 <a href="/google/auth/http-auth.html"> 510 <span class="en">Authorizing with Google for REST APIs</span> 511 </a> 512 </li> 513 </ul> 514 </li> 515 <li id="gms-tree-list" class="nav-section"> 516 <div class="nav-section-header"> 517 <a href="/reference/gms-packages.html"> 518 <span class="en">Reference</span> 519 </a> 520 <div> 521 </li> 522 </ul> 523 </li> 524 525 526 <li class="nav-section"> 527 <div class="nav-section-header"><a href="/google/play/billing/index.html"> 528 <span class="en">Google Play In-app Billing</span></a> 529 </div> 530 <ul> 531 <li><a href="/google/play/billing/billing_overview.html"> 532 <span class="en">Overview</span></a> 533 </li> 534 <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/api.html"> 535 <span class="en">Version 3 API</span></a></div> 536 <ul> 537 <li><a href="/google/play/billing/billing_integrate.html"> 538 <span class="en">Implementing the API</span></a></li> 539 <li><a href="/google/play/billing/billing_reference.html"> 540 <span class="en">Reference</span></a></li> 541 </ul> 542 </li> 543 <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/v2/api.html"> 544 <span class="en">Version 2 API</span></a></div> 545 <ul> 546 <li><a href="/google/play/billing/v2/billing_integrate.html"> 547 <span class="en">Implementing the API</span></a></li> 548 <li><a href="/google/play/billing/v2/billing_subscriptions.html"> 549 <span class="en">Subscriptions</span></a></li> 550 <li><a href="/google/play/billing/v2/billing_reference.html"> 551 <span class="en">Reference</span></a></li> 552 </ul> 553 </li> 554 <li><a href="/google/play/billing/billing_subscriptions.html"> 555 <span class="en">Subscriptions</span></a> 556 </li> 557 <li><a href="/google/play/billing/billing_best_practices.html"> 558 <span class="en">Security and Design</span></a> 559 </li> 560 <li><a href="/google/play/billing/billing_testing.html"> 561 <span class="en">Testing In-app Billing</span></a> 562 </li> 563 <li><a href="/google/play/billing/billing_admin.html"> 564 <span class="en">Administering In-app Billing</span></a> 565 </li> 566 <li><a href="/google/play/billing/versions.html"> 567 <span class="en">Version Notes</span></a> 568 </li> 569 </ul> 570 </li> 571 572 573 574 <li class="nav-section"> 575 <div class="nav-section-header"><a href="/google/gcm/index.html"> 576 <span class="en">Google Cloud Messaging</span></a> 577 </div> 578 <ul> 579 <li><a href="/google/gcm/gcm.html"> 580 <span class="en">Overview</span></a> 581 </li> 582 <li><a href="/google/gcm/gs.html"> 583 <span class="en">Getting Started</span></a> 584 </li> 585 <li><a href="/google/gcm/client.html"> 586 <span class="en">Implementing GCM Client</span></a> 587 </li> 588 <li class="nav-section"><div class="nav-section-header"><a href="/google/gcm/server.html"> 589 <span class="en">Implementing GCM Server</span></a></div> 590 <ul> 591 <li><a href="/google/gcm/ccs.html"> 592 <span class="en">CCS (XMPP)</span></a></li> 593 <li><a href="/google/gcm/http.html"> 594 <span class="en">HTTP</span></a></li> 595 </ul> 596 </li> 597 <li><a href="/google/gcm/notifications.html"> 598 <span class="en">User Notifications</span></a> 599 </li> 600 <li><a href="/google/gcm/adv.html"> 601 <span class="en">Advanced Topics</span></a> 602 </li> 603 <li><a href="/google/gcm/c2dm.html"> 604 <span class="en">Migration</span></a> 605 </li> 606 <li id="gcm-tree-list" class="nav-section"> 607 <div class="nav-section-header"> 608 <a href="/reference/gcm-packages.html"> 609 <span class="en">Reference</span> 610 </a> 611 <div> 612 </li> 613 </ul> 614 </li> 615 616 <li class="nav-section"> 617 <div class="nav-section-header empty"><a href="/google/gcs/index.html"> 618 <span class="en">Google Cloud Save</span></a> 619 </div> 620 </li> 621 622 <li class="nav-section"> 623 <div class="nav-section-header"><a href="/google/play/dist.html"> 624 <span class="en">Google Play Distribution</span></a> 625 </div> 626 <ul> 627 <li><a href="/google/play/filters.html"> 628 <span class="en">Filters on Google Play</span></a> 629 </li> 630 <li><a href="/google/play/billing/gp-purchase-status-api.html"> 631 <span class="en">Google Play Developer API</span></a> 632 </li> 633 <li><a href="/google/play/publishing/multiple-apks.html"> 634 <span class="en">Multiple APK Support</span></a> 635 </li> 636 <li><a href="/google/play/expansion-files.html"> 637 <span class="en">APK Expansion Files</span></a> 638 </li> 639 <li class="nav-section"> 640 <div class="nav-section-header"><a href="/google/play/licensing/index.html"> 641 <span class="en">Application Licensing</span></a> 642 </div> 643 <ul> 644 <li><a href="/google/play/licensing/overview.html"> 645 <span class="en">Licensing Overview</span></a> 646 </li> 647 <li><a href="/google/play/licensing/setting-up.html"> 648 <span class="en">Setting Up for Licensing</span></a> 649 </li> 650 <li><a href="/google/play/licensing/adding-licensing.html"> 651 <span class="en">Adding Licensing to Your App</span></a> 652 </li> 653 <li><a href="/google/play/licensing/licensing-reference.html"> 654 <span class="en">Licensing Reference</span></a> 655 </li> 656 </ul> 657 </li> 658 659 <li class="nav-section"> 660 <div class="nav-section-header"><a href="/google/backup/index.html"> 661 Android Backup Service</a> 662 </div> 663 <ul> 664 <li><a href="/google/backup/signup.html"> 665 Register</a> 666 </li> 667 </ul> 668 </li> 669 670 </ul> 671 672</li> 673 674 675 676</ul> 677 678<script type="text/javascript"> 679<!-- 680 buildToggleLists(); 681 changeNavLang(getLangPref()); 682//--> 683</script> 684 685 686 687 688 </div> 689 <script type="text/javascript"> 690 showGoogleRefTree(); 691 692 </script> 693 </div> <!-- end side-nav --> 694 <script> 695 $(document).ready(function() { 696 scrollIntoView("devdoc-nav"); 697 }); 698 </script> 699 700 701 702 703 704 705<div class="col-12" id="doc-col"> 706 707<div id="api-info-block"> 708 709 710 711 712<div class="sum-details-links"> 713 714</div><!-- end sum-details-links --> 715<div class="api-level"> 716 717 718 719 720</div> 721</div><!-- end api-info-block --> 722 723 724<!-- ======== START OF CLASS DATA ======== --> 725 726<div id="jd-header"> 727 public 728 729 730 731 interface 732<h1 itemprop="name">HistoryApi</h1> 733 734 735 736 737 738 739 740 741</div><!-- end header --> 742 743<div id="naMessage"></div> 744 745<div id="jd-content" class="api apilevel-"> 746<table class="jd-inheritance-table"> 747 748 749 <tr> 750 751 <td colspan="1" class="jd-inheritance-class-cell">com.google.android.gms.fitness.HistoryApi</td> 752 </tr> 753 754 755</table> 756 757 758 759 760 761 762 763<div class="jd-descr"> 764 765 766<h2>Class Overview</h2> 767<p itemprop="articleBody">The Google Fit History API provides methods for inserting, deleting and reading data from the 768 user's Google Fit history. 769 <p> 770 The <code><a href="/reference/com/google/android/gms/fitness/HistoryApi.html#readData(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.fitness.request.DataReadRequest)">readData(GoogleApiClient, com.google.android.gms.fitness.request.DataReadRequest)</a></code> method should be used whenever historical 771 data is needed. It can be combined with a subscription in the <code><a href="/reference/com/google/android/gms/fitness/RecordingApi.html">Recording Api</a></code> 772 to collect data in the background and query it later for displaying. 773 <p> 774 The <code><a href="/reference/com/google/android/gms/fitness/HistoryApi.html#insert(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.fitness.request.DataInsertRequest)">insert(GoogleApiClient, com.google.android.gms.fitness.request.DataInsertRequest)</a></code> method can be used for batch insertion of 775 data that was collected outside of Google Fit. It can be useful when data is entered directly 776 by the user or imported from a device that isn't supported by the platform. 777 <p> 778 The History API should be accessed via the <code><a href="/reference/com/google/android/gms/fitness/Fitness.html">Fitness</a></code> entry point. Example: 779 <pre> 780 GoogleApiClient client = new GoogleApiClient.Builder(context) 781 .addApi(Fitness.API) 782 ... 783 .build(); 784 client.connect(); 785 786 PendingResult<DataReadResult> pendingResult = Fitness.HistoryApi.readData( 787 client, 788 new DataReadRequest.Builder() 789 .read(DataTypes.STEP_COUNT_DELTA) 790 .setTimeRange(startTime.getMillis(), endTime.getMillis()) 791 .build()); 792 793 DataReadResult readDataResult = pendingResult.await(); 794 DataSet dataSet = readDataResult.getDataSet(DataTypes.STEP_COUNT_DELTA); 795 </pre> 796</p> 797 798 799 800 801 802</div><!-- jd-descr --> 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819<div class="jd-descr"> 820 821 822<h2>Summary</h2> 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850<!-- ========== METHOD SUMMARY =========== --> 851<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr> 852 853 854 855 856 <tr class="alt-color api apilevel-" > 857 <td class="jd-typecol"><nobr> 858 abstract 859 860 861 862 863 <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/common/api/Status.html">Status</a>></nobr> 864 </td> 865 <td class="jd-linkcol" width="100%"><nobr> 866 <span class="sympad"><a href="/reference/com/google/android/gms/fitness/HistoryApi.html#deleteData(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.fitness.request.DataDeleteRequest)">deleteData</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, <a href="/reference/com/google/android/gms/fitness/request/DataDeleteRequest.html">DataDeleteRequest</a> request)</nobr> 867 868 <div class="jd-descrdiv">Deletes data from the user’s Google Fit history.</div> 869 870 </td></tr> 871 872 873 874 <tr class=" api apilevel-" > 875 <td class="jd-typecol"><nobr> 876 abstract 877 878 879 880 881 <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/common/api/Status.html">Status</a>></nobr> 882 </td> 883 <td class="jd-linkcol" width="100%"><nobr> 884 <span class="sympad"><a href="/reference/com/google/android/gms/fitness/HistoryApi.html#insert(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.fitness.request.DataInsertRequest)">insert</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, <a href="/reference/com/google/android/gms/fitness/request/DataInsertRequest.html">DataInsertRequest</a> request)</nobr> 885 886 <div class="jd-descrdiv"><em> 887 This method is deprecated. 888 please use <code><a href="/reference/com/google/android/gms/fitness/HistoryApi.html#insertData(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.fitness.data.DataSet)">insertData(GoogleApiClient, DataSet)</a></code> 889</em></div> 890 891 </td></tr> 892 893 894 895 <tr class="alt-color api apilevel-" > 896 <td class="jd-typecol"><nobr> 897 abstract 898 899 900 901 902 <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/common/api/Status.html">Status</a>></nobr> 903 </td> 904 <td class="jd-linkcol" width="100%"><nobr> 905 <span class="sympad"><a href="/reference/com/google/android/gms/fitness/HistoryApi.html#insertData(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.fitness.data.DataSet)">insertData</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, <a href="/reference/com/google/android/gms/fitness/data/DataSet.html">DataSet</a> dataSet)</nobr> 906 907 <div class="jd-descrdiv">Inserts data collected from a data source directly into the user’s Google Fit history, 908 on behalf of the current application.</div> 909 910 </td></tr> 911 912 913 914 <tr class=" api apilevel-" > 915 <td class="jd-typecol"><nobr> 916 abstract 917 918 919 920 921 <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/fitness/result/DataReadResult.html">DataReadResult</a>></nobr> 922 </td> 923 <td class="jd-linkcol" width="100%"><nobr> 924 <span class="sympad"><a href="/reference/com/google/android/gms/fitness/HistoryApi.html#readData(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.fitness.request.DataReadRequest)">readData</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, <a href="/reference/com/google/android/gms/fitness/request/DataReadRequest.html">DataReadRequest</a> request)</nobr> 925 926 <div class="jd-descrdiv">Reads data from the user’s Google Fit history.</div> 927 928 </td></tr> 929 930 931 932</table> 933 934 935 936 937 938 939 940</div><!-- jd-descr (summary) --> 941 942<!-- Details --> 943 944 945 946 947 948 949 950 951<!-- XML Attributes --> 952 953 954<!-- Enum Values --> 955 956 957<!-- Constants --> 958 959 960<!-- Fields --> 961 962 963<!-- Public ctors --> 964 965 966 967<!-- ========= CONSTRUCTOR DETAIL ======== --> 968<!-- Protected ctors --> 969 970 971 972<!-- ========= METHOD DETAIL ======== --> 973<!-- Public methdos --> 974 975<h2>Public Methods</h2> 976 977 978 979<A NAME="deleteData(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.fitness.request.DataDeleteRequest)"></A> 980 981<div class="jd-details api apilevel-"> 982 <h4 class="jd-details-title"> 983 <span class="normal"> 984 public 985 986 987 abstract 988 989 <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/common/api/Status.html">Status</a>> 990 </span> 991 <span class="sympad">deleteData</span> 992 <span class="normal">(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, <a href="/reference/com/google/android/gms/fitness/request/DataDeleteRequest.html">DataDeleteRequest</a> request)</span> 993 </h4> 994 <div class="api-level"> 995 <div></div> 996 997 998 999 </div> 1000 <div class="jd-details-descr"> 1001 1002 <div class="jd-tagdata jd-tagdescr"><p>Deletes data from the user’s Google Fit history. This request will fail if the requesting 1003 app tries to delete data that it hasn't inserted. The user can delete data from any 1004 application (or hardware sensors) by visiting the Google Fit dashboard.</p></div> 1005 <div class="jd-tagdata"> 1006 <h5 class="jd-tagtitle">Parameters</h5> 1007 <table class="jd-tagtable"> 1008 <tr> 1009 <th>client</td> 1010 <td>an existing GoogleApiClient. It does not need to be connected at the time of 1011 this call, but the deletion will be delayed until the connection is complete.</td> 1012 </tr> 1013 <tr> 1014 <th>request</td> 1015 <td>specifying the data source/type and time range to delete</td> 1016 </tr> 1017 </table> 1018 </div> 1019 <div class="jd-tagdata"> 1020 <h5 class="jd-tagtitle">Returns</h5> 1021 <ul class="nolist"><li>a pending result containing status of the request 1022</li></ul> 1023 </div> 1024 1025 </div> 1026</div> 1027 1028 1029<A NAME="insert(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.fitness.request.DataInsertRequest)"></A> 1030 1031<div class="jd-details api apilevel-"> 1032 <h4 class="jd-details-title"> 1033 <span class="normal"> 1034 public 1035 1036 1037 abstract 1038 1039 <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/common/api/Status.html">Status</a>> 1040 </span> 1041 <span class="sympad">insert</span> 1042 <span class="normal">(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, <a href="/reference/com/google/android/gms/fitness/request/DataInsertRequest.html">DataInsertRequest</a> request)</span> 1043 </h4> 1044 <div class="api-level"> 1045 <div></div> 1046 1047 1048 1049 </div> 1050 <div class="jd-details-descr"> 1051 <p> 1052 <p class="caution"><strong> 1053 This method is deprecated.</strong><br/> 1054 please use <code><a href="/reference/com/google/android/gms/fitness/HistoryApi.html#insertData(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.fitness.data.DataSet)">insertData(GoogleApiClient, DataSet)</a></code> 1055 1056 </p> 1057 <div class="jd-tagdata jd-tagdescr"><p></p></div> 1058 1059 </div> 1060</div> 1061 1062 1063<A NAME="insertData(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.fitness.data.DataSet)"></A> 1064 1065<div class="jd-details api apilevel-"> 1066 <h4 class="jd-details-title"> 1067 <span class="normal"> 1068 public 1069 1070 1071 abstract 1072 1073 <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/common/api/Status.html">Status</a>> 1074 </span> 1075 <span class="sympad">insertData</span> 1076 <span class="normal">(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, <a href="/reference/com/google/android/gms/fitness/data/DataSet.html">DataSet</a> dataSet)</span> 1077 </h4> 1078 <div class="api-level"> 1079 <div></div> 1080 1081 1082 1083 </div> 1084 <div class="jd-details-descr"> 1085 1086 <div class="jd-tagdata jd-tagdescr"><p>Inserts data collected from a data source directly into the user’s Google Fit history, 1087 on behalf of the current application. Useful when the data source isn't compatible with our 1088 platform or when we're importing historical data. 1089 <p> 1090 If the data source can be exposed via a BLE GATT profile, 1091 as an <code><a href="/reference/com/google/android/gms/fitness/service/FitnessSensorService.html">application-exposed sensor</a></code>, 1092 or some other method compatible with the platform, it's preferable to create a 1093 subscription via the Recording API instead of inserting data directly.</p></div> 1094 <div class="jd-tagdata"> 1095 <h5 class="jd-tagtitle">Parameters</h5> 1096 <table class="jd-tagtable"> 1097 <tr> 1098 <th>client</td> 1099 <td>an existing GoogleApiClient. It does not need to be connected at the time of 1100 this call, but the insertion will be delayed until the connection is complete.</td> 1101 </tr> 1102 <tr> 1103 <th>dataSet</td> 1104 <td>the data we’re adding</td> 1105 </tr> 1106 </table> 1107 </div> 1108 <div class="jd-tagdata"> 1109 <h5 class="jd-tagtitle">Returns</h5> 1110 <ul class="nolist"><li>a pending result containing ths status of the request 1111</li></ul> 1112 </div> 1113 1114 </div> 1115</div> 1116 1117 1118<A NAME="readData(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.fitness.request.DataReadRequest)"></A> 1119 1120<div class="jd-details api apilevel-"> 1121 <h4 class="jd-details-title"> 1122 <span class="normal"> 1123 public 1124 1125 1126 abstract 1127 1128 <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a><<a href="/reference/com/google/android/gms/fitness/result/DataReadResult.html">DataReadResult</a>> 1129 </span> 1130 <span class="sympad">readData</span> 1131 <span class="normal">(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, <a href="/reference/com/google/android/gms/fitness/request/DataReadRequest.html">DataReadRequest</a> request)</span> 1132 </h4> 1133 <div class="api-level"> 1134 <div></div> 1135 1136 1137 1138 </div> 1139 <div class="jd-details-descr"> 1140 1141 <div class="jd-tagdata jd-tagdescr"><p>Reads data from the user’s Google Fit history. Values can be read in detailed or in 1142 aggregate formats. Aggregate data is presented in buckets, while detailed data is returned 1143 as a single data set.</p></div> 1144 <div class="jd-tagdata"> 1145 <h5 class="jd-tagtitle">Parameters</h5> 1146 <table class="jd-tagtable"> 1147 <tr> 1148 <th>client</td> 1149 <td>an existing GoogleApiClient. It does not need to be connected at the time of 1150 this call, but the read operation will be delayed until the connection is complete.</td> 1151 </tr> 1152 <tr> 1153 <th>request</td> 1154 <td>a built request specifying the data sources we’re interested in reading and 1155 the time range of the returned data.</td> 1156 </tr> 1157 </table> 1158 </div> 1159 <div class="jd-tagdata"> 1160 <h5 class="jd-tagtitle">Returns</h5> 1161 <ul class="nolist"><li>a pending result containing the requested data. Includes a data set for each 1162 requested data source. 1163</li></ul> 1164 </div> 1165 1166 </div> 1167</div> 1168 1169 1170 1171 1172 1173<!-- ========= METHOD DETAIL ======== --> 1174 1175 1176 1177<!-- ========= END OF CLASS DATA ========= --> 1178<A NAME="navbar_top"></A> 1179 1180<div id="footer" class="wrap" > 1181 1182 1183 <div id="copyright"> 1184 1185 Except as noted, this content is licensed under <a 1186 href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. 1187 For details and restrictions, see the <a href="/license.html"> 1188 Content License</a>. 1189 </div> 1190 <div id="build_info"> 1191 1192<script src="/timestamp.js" type="text/javascript"></script> 1193<script>document.write(BUILD_TIMESTAMP)</script> 1194 1195 </div> 1196 1197 1198 <div id="footerlinks"> 1199 1200 <p> 1201 <a href="/about/index.html">About Android</a> | 1202 <a href="/legal.html">Legal</a> | 1203 <a href="/support.html">Support</a> 1204 </p> 1205 </div> 1206 1207</div> <!-- end footer --> 1208</div> <!-- jd-content --> 1209 1210</div><!-- end doc-content --> 1211 1212</div> <!-- end body-content --> 1213 1214 1215 1216 1217 1218 1219</body> 1220</html> 1221