enviarDatosSDMT function
- required String codeid,
- required String fNacimiento,
- required String sexo,
- required String nivelEduc,
- required String mano,
- required String numSim,
- required String tiempo,
- required String errores,
- required String score,
- required String number_Errors,
- required String num_Dig_1,
- required String num_Dig_2,
- required String num_Dig_3,
- required String number_Errors_1,
- required String number_Errors_2,
- required String number_Errors_3,
- required String averaged_duration,
- required String sdev_duration,
- required String symbol_set,
- required String device,
- required String diagInch,
This function is called to send the test and profile data to the server
through the reportarSDMT service.
Its arguments are all the strings sent through the API:
codeid the reference code
fNacimiento birth date
sexo sex
nivelEduc level of finsihed studies
mano hand used to attempt the test
numSim total number of symbols displayed
tiempo duration of the test
score total number of symbols guessed correctly
number_Errors total number of mistakes
num_Dig_1 symbols displayed in the first third (1 to 30 seconds)
num_Dig_2 symbols displayed in the second third (31 to 60 seconds)
num_Dig_3 symbols displayed in the last third (61 to 90 seconds)
number_Errors_1 mistakes in the first third (1 to 30 seconds)
number_Errors_2 mistakes in the second third (31 to 60 seconds)
number_Errors_3 mistakes in the last third (61 to 90 seconds)
averaged_duration average time taken to press a number in the keyboard
sdev_duration standard deviation of the times taken to press a number
symbol_set 1 or 2 depending on the set of symbols displayed
device model of the device used for the test
diagInch diagonal of the device measured in inches
The function returns an integer:
-1 if it was not able to connect the server
1 if the data was sent correctly
2 if it connected the server but there was a mistake in the data sending
Implementation
Future<int> enviarDatosSDMT({
required String codeid,
required String fNacimiento,
required String sexo,
required String nivelEduc,
required String mano,
required String numSim,
required String tiempo,
required String errores,
required String score,
required String number_Errors,
required String num_Dig_1,
required String num_Dig_2,
required String num_Dig_3,
required String number_Errors_1,
required String number_Errors_2,
required String number_Errors_3,
required String averaged_duration,
required String sdev_duration,
required String symbol_set,
required String device,
required String diagInch
}) async {
final url = Uri.parse('http://apii01.etsii.upm.es/AppCognit/reportarSDMT');
final response = await http.post(
url,
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
body: {
'codeid': codeid,
'F_nacimiento': fNacimiento,
'Sexo': sexo,
'Nivel_Educ': nivelEduc,
'Mano': mano,
'NumSim': numSim,
'Time_complete': tiempo,
'Number_Errors': number_Errors,
'Score': score,
'Num_Dig_1': num_Dig_1,
'Num_Dig_2': num_Dig_2,
'Num_Dig_3': num_Dig_3,
'Number_Errors_1': number_Errors_1,
'Number_Errors_2': number_Errors_2,
'Number_Errors_3': number_Errors_3,
'Averaged_Duration': averaged_duration,
'Sdev_Duration': sdev_duration,
'Device': device,
'DiagInch': diagInch,
'Symbol_Set': symbol_set,
},
);
if (response.statusCode == 200) {
print('Datos enviados Correctamente: ${response.body}');
final data = jsonDecode(response.body);
if(data['message'] == 'OK'){
return 1;
} else{
return 2;
}
} else {
print('Error al Enviar datos: ${response.statusCode}' + '');
return -1;
}
}