Ich versuche, zwischen Android und einem Flask-Server zu kommunizieren, den ich in AWS eingerichtet habe. Ich habe einige Daten, die ich in eine JSONObject
gelegt habe, und ich sende das über eine POST-Anfrage an den Server.Keine angemessene JSON-Antwort vom Server empfangen
Der Flask-Server empfängt dieses JSON, analysiert es und führt sogar die entsprechenden Manipulationen durch. Wenn ich jedoch ein Response
zurück an Android sende, scheint es es überhaupt nicht zu identifizieren.
Ich glaube, ich gehe falsch in die Flask
Return-Teil, aber ich weiß nicht, wo genau.
Hier ist die Flask
Rückgabecode:
parsed_results = parse_text(results)
#json_x = json.dumps({'id':str(status.inserted_id), 'Result':'OK', 'data': parsed_results})
return Response(json.dumps({'id': str(status.inserted_id), 'Result': 'OK', 'data': parsed_results, 'raw_data': results}), mimetype='application/json'), 200
if __name__ == "__main__":
app.run(host='0.0.0.0', debug=True)
Hier ist der Android Listener
Code:
JsonObjectRequest request = new JsonObjectRequest(
Request.Method.POST,
URL,
data,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Log.d("JSON_TAG", response.toString());
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
error.printStackTrace();
}
}
)
{
@Override
protected Map<String, String> getParams() throws AuthFailureError {
return super.getParams();
}
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
//return super.getHeaders();
Map<String,String> headers = new HashMap<>();
headers.put("Content-Type","application/json");
return headers;
}
};
Die Android-Anwendung bleibt nur im Leerlauf. Wo gehe ich falsch? Jede Hilfe würde sehr geschätzt werden. Vielen Dank!