Извините, новичок, я совершенно новичок в Android и API Google. У меня есть следующий код, который подключается к GoogleFit. У меня также есть ключ API и Oauth.
Где/как использовать ключ API и Oauth? Много руководств о том, как их получить, но нет информации о том, куда их поместить/как их использовать в приложении.
И как мне на самом деле использовать возвращенные шаги. Я установил глобальный:
private int steps;
а затем попробуйте установить его через:
steps = (int)total;
но это ничего не делает.
Вот остальная часть функции. Как мне на самом деле получить количество шагов из него.
private void accessGoogleFit() {
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
long endtime = cal.getTimeInMillis();
cal.add(Calendar.YEAR, -1);
long starttime = cal.getTimeInMillis();
DataReadRequest readRequest = new DataReadRequest.Builder()
.aggregate(DataType.TYPE_STEP_COUNT_DELTA, DataType.AGGREGATE_STEP_COUNT_DELTA)
.bucketByTime(1, TimeUnit.DAYS)
.setTimeRange(starttime, endtime, TimeUnit.MILLISECONDS)
.build();
Fitness.getHistoryClient(this, GoogleSignIn.getLastSignedInAccount(this))
.readDailyTotal(DataType.TYPE_STEP_COUNT_DELTA)
.addOnSuccessListener(new OnSuccessListener<DataSet>() {
@Override
public void onSuccess(DataSet dataSet) {
Log.d("Status", "Success");
long total = dataSet.isEmpty()
? 0
: dataSet.getDataPoints().get(0).getValue(Field.FIELD_STEPS).asInt();
Log.d("Steps ", String.valueOf(total));
steps = (int)total; //Trying to get steps here
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.d("Status", "Failure", e);
}
})
.addOnCompleteListener(new OnCompleteListener<DataSet>() {
@Override
public void onComplete(@NonNull Task<DataSet> task) {
Log.d("Status", "Complete");
}
});
}
Я просматривал официальную документацию и StackOverflow. Но похоже, что Google внес большие изменения в API в прошлом году, и поэтому большинство вещей устарели, включая собственные учебные пособия Google (опубликованные в 2015 году). И несколько мест с обновленной документацией содержат фрагменты кода, и я понятия не имею, как их использовать или куда их поместить.
dataReadResponse.getBuckets().get(0));
: мой журналBucket{startTime=1551260296979, endTime=1551865096979, activity=0, dataSets=[DataSet{d:step_count.delta:gms:aggregated [RawDataPoint{[21648]@[1551260985001540984, 1551864350023920959](0,1)}]}], bucketType=time, serverHasMoreData=false}
- person Vadim Eksler   schedule 06.03.2019.addOnSuccessListener(new OnSuccessListener<DataReadResponse>()
- person Vadim Eksler   schedule 06.03.2019