POST-запрос не отправляет данные - ИСПРАВЛЕНО - PullRequest
0 голосов
/ 12 июня 2018

Я некоторое время программировал в Android Studio и пытался отправить JSON на свой IIS Server несколькими различными способами (Retrofit2, Volley, HttpClient ...), и мне так и не удалось сделать это должным образом, так как мойIIS APP не вводит новую строку в моем Mysql BBDD.

Этот метод взят из моего IIS APP, который получает Json, преобразует его в объект, а затем выполняет запрос к моему BBDD и вводит новыйrow.

 public String Post([FromBody] Empleado empleado)
    {}

Этот метод работает нормально, потому что я попробовал его из консольного приложения IIS, и он отлично работает

Два примера того, что я делаю в Android Studio:

Залп:

public class MainActivity extends AppCompatActivity {

TextView textView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    enviarDatos();
}

public void enviarDatos(){
    String url ="http://...myurl";
    textView = (TextView)findViewById(R.id.text);

    try {
        RequestQueue requestQueue = Volley.newRequestQueue(this);
        final org.json.JSONObject jsonBody = new org.json.JSONObject();

        jsonBody.put("idTag",112353);
        jsonBody.put("Longitud","1253");
        jsonBody.put("Latitud","Test");

        JsonObjectRequest request = new JsonObjectRequest
                (Request.Method.POST, url, jsonBody, new Response.Listener<JSONObject>() {

                    @Override
                    public void onResponse(JSONObject response) {
                        textView.setText(response.toString());
                    }
                }, new Response.ErrorListener() {

                    @Override
                    public void onErrorResponse(VolleyError error) {
                        // TODO Auto-generated method stub
                        textView.setText(error.toString());
                    }
                });

        requestQueue.add(request);
    } catch (JSONException e) {
        e.printStackTrace();
    }
}
}

AndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET" />

Любая помощь будет благодарна, спасибо за ваши комментарии и извините за мой плохой английский

РедактироватьНаконец-то это работает!Похоже, порт моего URL создавал некоторые проблемы, поэтому я поменял его, и теперь он работает отлично.

1 Ответ

0 голосов
/ 16 июня 2018

Наконец-то, это работает!Похоже, порт моего URL создавал некоторые проблемы, поэтому я поменял его на другой, и теперь он работает отлично.

...