Frage

Ich muss eine erholsame API bereitstellen, die in Ruby on Rails mit CRUD -Funktionen für eine Android -App entwickelt werden soll. Ich habe nicht früher mit der Integration von Handy -Betriebssystemen (Android/iPhone) mit ROR gearbeitet. Bitte helfen Sie mir, loszulegen.

Danke im Voraus.

War es hilfreich?

Lösung

Sie können die Daten als JSON -Pakete an das Gerät senden und im Gerät die JSON -Pakete analysieren und auf die Daten zugreifen. Ihre Anrufe bei WebService sollten ein HTTP -Anruf sein, z. B. für den Client.

http: server metnod get_somedata? name = etwas

und der Server sollte die Datenbank für diesen Parameter abfragen und Ihnen die Antwort als JSON senden. Analysieren Sie JSON und erhalten Sie Ihre Details.

String url = "http:\\example.com\mycontroller\get_employee?id=2"

HttpPost httpPostRequest = new HttpPost(url);
    StringEntity se;
    se = new StringEntity(jsonObjSend.toString());


    httpPostRequest.setEntity(se);
    httpPostRequest.setHeader("Authorization", usercredential);
    httpPostRequest.setHeader("Accept", "application/json");
    httpPostRequest.setHeader("Content-type", "application/json");

    long t = System.currentTimeMillis();
    response = (HttpResponse) httpclient.execute(httpPostRequest);
    Log.i(TAG, "HTTPResponse received in [" + (System.currentTimeMillis()-t) + "ms]");

    HttpEntity entity = response.getEntity();

    if (entity != null) {

        InputStream instream = entity.getContent();
        Header contentEncoding = response.getFirstHeader("Content-Encoding");
        if (contentEncoding != null && contentEncoding.getValue().equalsIgnoreCase("gzip")) {
            instream = new GZIPInputStream(instream);
        }

        // convert content stream to a String
        String resultString= convertStreamToString(instream);
        Log.v(null, "resultString "+resultString);
        instream.close();


        // Transform the String into a JSONObject
        if(resultString!=null){
            jsonObjRecv = new JSONObject(resultString);

        }

        // Raw DEBUG output of our received JSON object:
        Log.i(TAG,"<jsonobject>\n"+jsonObjRecv.toString()+"\n</jsonobject>");

        return jsonObjRecv;

Auf der Serverseite sollten Sie über eine Get_EMPOTEE -Methode in einem Controller namens MyController verfügen. In der Methode können Sie die Anforderung als normale HTTP -Anfrage bearbeiten und die Antwort als JSON -EG senden

employee = Employee.find_by_id(params[:id])
  @js_response = ActiveSupport::JSON.encode(employee)
respond_to do |format|
  format.json { render :json => @js_response} 
  format.html
end

Für CRUD müssen Sie unterschiedliche Methoden mit geeigneten Parametern wie Delete_aMployee, update_aMployee usw. erstellen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top