5

google fit api を利用できるアプリを作成しています。Google Fit で利用できるすべてのアクティビティ (動き) を取得したい。google fitリファレンスのアクティビティ一覧はこちら。

編集済み

ユーザーが実行したアクティビティを取得する方法は知っていますが、Google Fit API で利用可能なアクティビティの完全なリストが必要です (ユーザーが実行したアクティビティだけでなく、アクティビティの全リストが必要です) で利用可能なリストのように上記のリンク。

4

3 に答える 3

3

Google Fit アクティビティは、FitnessActivitiesクラスにリストされています。

以下を使用して、これらすべてのフィールドのリストをプログラムで取得できます。

FitnessActivities.class.getFields()
于 2015-01-07T23:42:18.020 に答える
1

Android で Google Fit API を使い始めたときに同様の問題が発生しました。

Google Fit の Web サイトには、コード サンプルを含むビデオと、より詳細な API ドキュメントがあります。

それは私を大いに助けました - https://developers.google.com/fit/android/get-started

両方のビデオと、後でデータ型を保存および取得する方法を確認してください。

https://developers.google.com/fit/android/data-types

一部のデータを利用できるようにするには、Android スマートフォンに Google Fit アプリをインストールします。しばらく使用すると、Google Fit データベースで実際のデータが利用できるようになります。

編集:

編集した質問を正しく取得できた場合、次のコードのようなものが必要になります。Google Fit Andorid アプリによって記録されたアクティビティを一覧表示する自分のアプリでこれを使用していることに注意してください。他のアプリによって記録されたカスタムデータタイプなど、他のアクティビティがリストされるかどうかはわかりません。

Google Fit から「アクティビティ」(STILL、RUNNING、WALKING など)をリクエストします。

        DataReadRequest readRequest = new DataReadRequest.Builder()
            .read(DataType.TYPE_ACTIVITY_SEGMENT)
            // maybe you want to limit data to specific time range?
            //.setTimeRange(today.startTime, today.endTime, TimeUnit.MILLISECONDS)
            .build();

次に、応答を解析します。解析中、利用可能なアクティビティ時間があります:

        Fitness.HistoryApi.readData(mClient, readRequest).setResultCallback(new ResultCallback<DataReadResult>() {
        @Override
        public void onResult(DataReadResult dataReadResult) {
            for (DataSet dataSet : dataReadResult.getDataSets()) {
                for (DataPoint dataPoint : dataSet.getDataPoints()) {
                    DataType dataType = dataPoint.getDataType();
                    if (dataType.equals(DataType.TYPE_ACTIVITY_SEGMENT)) {
                        String activity = FitnessActivities.getValue(dataPoint);

                        /* process as needed */
                        /* the `activitity' string contains values as described here:
                         * https://developer.android.com/reference/com/google/android/gms/fitness/FitnessActivities.html
                         */

                    }
                }
            }
        }
    });

私が言ったように、それは私にとってはうまくいきます-私自身のアプリでは、Android用のGoogle Fitアプリによって記録されたアクティビティ(およびそのタイプ、つまりウォーキング、ランニングなど)をリストします。

于 2014-11-27T15:25:18.107 に答える