Android 如何在一天内完成所有google fit活动
当我特别订阅时,我知道如何从google Fit获取各种数据,比如步骤或卡路里。 但是,我如何检索用户执行的所有活动,而不知道他们到底执行了哪些活动 还有,我如何获得活动(如爬楼梯)的值? 它在DataType类中不可用,google开发者网站上的示例仅显示步骤和卡路里。Android 如何在一天内完成所有google fit活动,android,google-fit,google-fit-sdk,Android,Google Fit,Google Fit Sdk,当我特别订阅时,我知道如何从google Fit获取各种数据,比如步骤或卡路里。 但是,我如何检索用户执行的所有活动,而不知道他们到底执行了哪些活动 还有,我如何获得活动(如爬楼梯)的值? 它在DataType类中不可用,google开发者网站上的示例仅显示步骤和卡路里。 谢谢我发现我只能找到使用Sessions API的所有练习 我先提出请求 委员会: 在这里进行所有训练都很重要 private SessionReadRequest readFitnessSession() {
谢谢我发现我只能找到使用Sessions API的所有练习 我先提出请求 委员会: 在这里进行所有训练都很重要
private SessionReadRequest readFitnessSession() {
Calendar cal = Calendar.getInstance();
Date now = new Date();
cal.setTime(now);
long endTime = cal.getTimeInMillis();
cal.add(Calendar.WEEK_OF_YEAR, -1);
long startTime = cal.getTimeInMillis();
// Build a session read request
SessionReadRequest readRequest = new SessionReadRequest.Builder()
.setTimeInterval(startTime, endTime, TimeUnit.MILLISECONDS)
.read(DataType.TYPE_WORKOUT_EXERCISE)
.readSessionsFromAllApps()
.build();
// [END build_read_session_request]
return readRequest;
}
并读取会话数据
private void readSessionsApiAllSessions() {
SessionReadRequest readRequest = readFitnessSession();
Fitness.getSessionsClient(getActivity(), GoogleSignIn.getLastSignedInAccount(getActivity()))
.readSession(readRequest)
.addOnSuccessListener(new OnSuccessListener<SessionReadResponse>() {
@Override
public void onSuccess(SessionReadResponse sessionReadResponse) {
// Get a list of the sessions that match the criteria to check the result.
List<Session> sessions = sessionReadResponse.getSessions();
Log.i(TAG, "Session read was successful. Number of returned sessions is: "
+ sessions.size());
for (Session session : sessions) {
// Process the session
dumpSession(session);
// Process the data sets for this session
List<DataSet> dataSets = sessionReadResponse.getDataSet(session);
for (DataSet dataSet : dataSets) {
dumpDataSet(dataSet);
}
}
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.i(TAG, "Failed to read session");
}
});
}
private void readSessionsApiAllSessions(){
SessionReadRequest readRequest=readFitnessSession();
Fitness.GetSessionClient(getActivity(),GoogleSignIn.GetLastSignedAccount(getActivity()))
.readSession(readRequest)
.addOnSuccessListener(新的OnSuccessListener(){
@凌驾
成功时公共无效(SessionReadResponse SessionReadResponse){
//获取符合条件的会话列表以检查结果。
List sessions=sessionReadResponse.getSessions();
Log.i(标记“会话读取成功。返回的会话数为:”
+sessions.size());
用于(会话:会话){
//处理会议
第一届会议(第届会议);
//处理此会话的数据集
List dataSets=sessionReadResponse.getDataSet(会话);
用于(数据集:数据集){
数据集(dataSet);
}
}
}
})
.addOnFailureListener(新的OnFailureListener(){
@凌驾
public void onFailure(@NonNull异常e){
Log.i(标记“读取会话失败”);
}
});
}
private void readSessionsApiAllSessions() {
SessionReadRequest readRequest = readFitnessSession();
Fitness.getSessionsClient(getActivity(), GoogleSignIn.getLastSignedInAccount(getActivity()))
.readSession(readRequest)
.addOnSuccessListener(new OnSuccessListener<SessionReadResponse>() {
@Override
public void onSuccess(SessionReadResponse sessionReadResponse) {
// Get a list of the sessions that match the criteria to check the result.
List<Session> sessions = sessionReadResponse.getSessions();
Log.i(TAG, "Session read was successful. Number of returned sessions is: "
+ sessions.size());
for (Session session : sessions) {
// Process the session
dumpSession(session);
// Process the data sets for this session
List<DataSet> dataSets = sessionReadResponse.getDataSet(session);
for (DataSet dataSet : dataSets) {
dumpDataSet(dataSet);
}
}
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.i(TAG, "Failed to read session");
}
});
}