質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Google Cloud Platform

Google Cloud Platformは、Google社がクラウド上で提供しているサービス郡の総称です。エンドユーザー向けサービスと同様のインフラストラクチャーで運営されており、Webサイト開発から複雑なアプリ開発まで対応可能です。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

0回答

1221閲覧

Android Studioで作るJavaアプリでGoogleFitのデータを表示させたい

mt_engineeeeer

総合スコア3

Google Cloud Platform

Google Cloud Platformは、Google社がクラウド上で提供しているサービス郡の総称です。エンドユーザー向けサービスと同様のインフラストラクチャーで運営されており、Webサイト開発から複雑なアプリ開発まで対応可能です。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2022/04/20 10:26

編集2022/04/21 05:19

Android StudioでGoogleFitのデータを画面に表示したいです。

現在アプリを実行するとGoogleアカウント認証が始まり、認証が終わると、「アプリが身体活動にアクセスしようとしています。許可しますか?」といった文言が表示され、許可を押すという動作まで作ることができました。
以下のコードでMainActivity.javaは書いています。
//use response data hereと書くところに処理を追記すればよいと思っています。
resposneに取得した結果が入っていると思うのですが、アプリの画面に表示させる方法が分かりません。
ご教示いただければと存じます。

Java

1package com.example.baastest; 2 3import android.app.Activity; 4import android.content.Intent; 5import android.os.Bundle; 6import android.util.Log; 7import android.widget.TextView; 8 9import androidx.appcompat.app.AppCompatActivity; 10 11import com.google.android.gms.auth.api.signin.GoogleSignIn; 12import com.google.android.gms.auth.api.signin.GoogleSignInAccount; 13import com.google.android.gms.fitness.Fitness; 14import com.google.android.gms.fitness.FitnessOptions; 15import com.google.android.gms.fitness.data.DataType; 16import com.google.android.gms.fitness.request.DataReadRequest; 17 18import java.util.Calendar; 19import java.util.Date; 20import java.util.concurrent.TimeUnit; 21 22public class MainActivity extends AppCompatActivity { 23 final int GOOGLE_FIT_PERMISSIONS_REQUEST_CODE = System.identityHashCode(this) & 0xFFFF; 24 25 @Override 26 protected void onCreate(Bundle savedInstanceState) { 27 super.onCreate(savedInstanceState); 28 setContentView(R.layout.activity_main); 29 FitnessOptions fitnessOptions = FitnessOptions.builder() 30 .addDataType(DataType.TYPE_STEP_COUNT_DELTA, FitnessOptions.ACCESS_READ) 31 .addDataType(DataType.AGGREGATE_STEP_COUNT_DELTA, FitnessOptions.ACCESS_READ) 32 .build(); 33 GoogleSignInAccount account = GoogleSignIn.getAccountForExtension(this, fitnessOptions); 34 35 if (!GoogleSignIn.hasPermissions(account, fitnessOptions)) { 36 GoogleSignIn.requestPermissions( 37 this, // your activity 38 GOOGLE_FIT_PERMISSIONS_REQUEST_CODE, // e.g. 1 39 account, 40 fitnessOptions); 41 } else { 42 accessGoogleFit(); 43 } 44 45 } 46 47 @Override 48 protected void onActivityResult(int requestCode, int resultCode, Intent data) { 49 super.onActivityResult(requestCode, resultCode, data); 50 if (resultCode == Activity.RESULT_OK) { 51 if (requestCode == GOOGLE_FIT_PERMISSIONS_REQUEST_CODE) { 52 accessGoogleFit(); 53 } 54 } 55 } 56 57 private void accessGoogleFit() { 58 Calendar cal = Calendar.getInstance(); 59 cal.setTime(new Date()); 60 long endTime = cal.getTimeInMillis(); 61 cal.add(Calendar.YEAR, -1); 62 long startTime = cal.getTimeInMillis(); 63 64 DataReadRequest readRequest = new DataReadRequest.Builder() 65 .aggregate(DataType.TYPE_STEP_COUNT_DELTA, DataType.AGGREGATE_STEP_COUNT_DELTA) 66 .setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS) 67 .bucketByTime(1, TimeUnit.DAYS) 68 .build(); 69 70 FitnessOptions fitnessOptions = FitnessOptions.builder() 71 .addDataType(DataType.TYPE_STEP_COUNT_DELTA, FitnessOptions.ACCESS_READ) 72 .addDataType(DataType.AGGREGATE_STEP_COUNT_DELTA, FitnessOptions.ACCESS_READ) 73 .build(); 74 GoogleSignInAccount account = GoogleSignIn 75 .getAccountForExtension(this, fitnessOptions); 76 77 78 String TAG ="MainActivity"; 79 Fitness.getHistoryClient(this, account) 80 .readData(readRequest) 81 .addOnSuccessListener(response -> { 82 // Use response data here 83// TextView textView = findViewById(R.id.text_view); 84// textView.setText(response.toString()); 85 86 87 Log.d(TAG, "OnSuccess()"); 88 }) 89 .addOnFailureListener(e -> { 90 Log.d(TAG, "OnFailure()", e); 91 }); 92 } 93 94}

また、ビューのactivity_main.xmlもどのように記載していいかわかりません。

よろしくお願いいたします。

追記
デバッグを行い、responseの中身を確認したところイメージ説明
歩数が取れていることはわかりました。
このcount=54をアプリの画面に表示させたいと考えています。
どのように記載すればよいかご教示下さい。

なおコードを記述する際に参考にしたサイトは
https://developers.google.com/fit/android/get-started

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jimbe

2022/04/21 03:52

> resposneに取得した結果が入っていると思う 「思う」では何の役にも立ちません。プログラムは推測で作るモノではありません。 そもそもどのようにしてご提示のコードに辿り着いたのでしょうか。 「GoogleFitのデータ」を得るにはどんなことをする必要があるのか等を何か資料・ドキュメントを参考にされたはずです。それらには何と書いてあるのでしょうか。 > ビューのactivity_main.xmlもどのように記載していいか activity_main.xml はビューでは無くレイアウトです。 得たデータをどう表現すか、それを既存のレイアウト・ビューで表現するかは作者次第ですので、他人には分かりません。
jimbe

2022/04/22 11:33

データが分かっているのでしたら、 TextView にセットすれば良いように思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問