ufen Sie RESTful Web Service auf, der von NetBeans IDE unter Android generiert wurd

Die NetBeans-IDE kann also RESTful Web Service aus der Datenbank generieren (die Tabelle wurde in eine Entitätsklasse gepackt). Ich folgte diesemLernprogram und der RESTful-Webdienst wurde erfolgreich generiert.

Nun, ich würde gerne von meiner Android App aus anrufen, aber bisher kein Glück. Ich habe "Android Asynchronous Http Client Eine Callback-basierte Http-Client-Bibliothek für Android" verwendet.

Also hier ist mein Code-Schnipsel:

customActionBarView.findViewById(R.id.actionbar_done).setOnClickListener(
                new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        // "Done"
                        String id = generateId();
                        EditText number = (EditText) findViewById(R.id.caller_phone_number);
                        EditText information = (EditText) findViewById(R.id.caller_information);

                        checkAvailability(id, number.getText().toString(), information.getText().toString());

                        finish();
                    }
                });

und das

 public void processWebServices(RequestParams params) {
        AsyncHttpClient client = new AsyncHttpClient();
        client.post("http://localhost:8080/AndroidRESTful/com.erikchenmelbourne.entities.caller/create", params, new AsyncHttpResponseHandler() {
            @Override
            public void onSuccess(int statusCode, Header[] headers, byte[] response) {
                try {
                    JSONObject obj = new JSONObject(response.toString());
                    if (obj.getBoolean("status")) {
                        setDefaultValues();
                        Toast.makeText(getApplicationContext(), "Information has been sent!", Toast.LENGTH_LONG).show();
                    } else {
                        Toast.makeText(getApplicationContext(), obj.getString("error_msg"), Toast.LENGTH_LONG).show();
                    }
                } catch (JSONException e) {
                    Toast.makeText(getApplicationContext(), "Error Occured [Server's JSON response is invalid]!", Toast.LENGTH_LONG).show();
                    e.printStackTrace();
                }
            }

            @Override
            public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) {
                if (i == 404) {
                    Toast.makeText(getApplicationContext(), "Requested resource not found", Toast.LENGTH_LONG).show();
                } else if (i == 500) {
                    Toast.makeText(getApplicationContext(), "Something went wrong at server end", Toast.LENGTH_LONG).show();
                } else {
                    Toast.makeText(getApplicationContext(), "Unexpected Error occcured! [Most common Error: Device might not be connected to Internet or remote server is not up and running]", Toast.LENGTH_LONG).show();
                }
            }
        });
    }

und hier ist die von NetBeans IDE generierte POST-Methode:

 @Path("/create") 
    @POST
    @Consumes({"application/xml", "application/json"})
    public void create(@QueryParam("id") int id, @QueryParam("number") String number, @QueryParam("information") String information) {
    Caller entity = new Caller (id, number, information);
        super.create(entity);
    }

Ich habe die Annotation @Path ("/ create") hinzugefügt und die Methode ein wenig geändert.

Bitte werfen Sie etwas Licht, ich bin ziemlich neu in diesem Bereich, damit ich keine Ahnung habe. Ich weiß, es liegt an einigen sehr dummen Fehlern, aber bitte helfen Sie. Das Programm stoppt bei

"Unerwarteter Fehler aufgetreten! [Häufigster Fehler: Das Gerät ist möglicherweise nicht mit dem Internet verbunden oder der Remote-Server ist nicht in Betrieb.]"

. So offensichtlich, dass ich die beiden Programme nicht gut verbinden konnte.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage