To insert a DataType in google fit, you must create a DataSet of the same type and make sure you create a GoogleApiClient with the appropriate fields as described above. Below is an example of inserting height in google fit
public boolean saveUserHeight(int heightCentimiters) { // to post data float height = ((float) heightCentimiters) / 100.0f; Calendar cal = Calendar.getInstance(); Date now = new Date(); cal.setTime(now); long endTime = cal.getTimeInMillis(); cal.add(Calendar.DAY_OF_YEAR, -1); long startTime = cal.getTimeInMillis(); DataSet heightDataSet = createDataForRequest(DataType.TYPE_HEIGHT, // for DataSource.TYPE_RAW, height, // weight in kgs startTime, // start time endTime, // end time TimeUnit.MILLISECONDS // Time Unit, for example, // TimeUnit.MILLISECONDS ); com.google.android.gms.common.api.Status heightInsertStatus = Fitness.HistoryApi .insertData(fitnessClient, heightDataSet).await(1, TimeUnit.MINUTES); if (heightInsertStatus.isSuccess()) { //Log.e("Height", heightCentimiters+"Inserted"); } else { //Log.e("Height", "inserted failed"); } return heightInsertStatus.isSuccess(); }
source share