2016-03-25 6 views
1

Diese Android App verwendet Android Studio. Die Funktion ist das Scannen und Anzeigen von Daten vom Beacon/Eddystone. Die App funktioniert bereits und nachdem der Scanvorgang beendet ist, werden die Daten in der lokalen Datei gespeichert. Aber mein Problem ist, wenn ich die Scandaten auf den Server übertragen muss, muss ich es zum Backend-Server entpacken. Aber ich wusste wirklich nicht, was der beste Weg ist, da ich ein Anfänger bin. HierWie Sie Daten von Android-Apps mit Android Studio auf den Server veröffentlichen

ist der Code, der die Daten an den lokalen Daten übertragen werden:

private void stopScanning(Button scanButton) { 
    try { 
     beaconManager.stopRangingBeaconsInRegion(region); 
    } catch (RemoteException e) { 
      // TODO - OK, what now then? 
    } 
    String scanData = logString.toString(); 
    if (scanData.length() > 0) 
    { 
     // Write file 
     fileHelper.createFile(scanData); 
     // Display file created message. 
     Toast.makeText(getBaseContext(), 
       "File saved to:" + getFilesDir().getAbsolutePath(), 
       Toast.LENGTH_SHORT).show(); 
     scanButton.setText(MODE_STOPPED); 
    } else { 
     // We didn't get any data, so there's no point writing an empty file. 
     Toast.makeText(getBaseContext(), 
       "No data captured during scan, output file will not be created.", 
       Toast.LENGTH_SHORT).show(); 
     scanButton.setText(MODE_STOPPED); 
    } 
} 
+0

Verwenden Sie die Volley- oder Retrofit-Bibliothek für Verbindungen zum Server, zum Senden von Daten an den Server oder zum Abrufen von Daten vom Server http://inthecheesefactory.com/blog/retrofit-2.0/de http://developer.android.com/intl/zh -cn/training/volley/index.html – Arshad

+0

Ich empfehle Retrofit Studium (auch rxandroid, aber das ist optional) http://square.github.io/retrofit/ – hehe

+0

Wie möchten Sie die Daten auf dem Server erhalten? als JSON, XML, Abfrageparameter, laden Sie die Datei hoch? – leonziyo

Antwort

1

Um Daten an einen Server gibt es viele Möglichkeiten zu senden, aber ich bevorzuge Sie Volley-Bibliothek verwenden, weil es schneller ist und einfacher

Sie können Daten Volley verwenden zum Abrufen und Senden zum Beispiel:

//Request serever for JsonObject 
    JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, url, new Response.Listener<JSONObject>() { 
     @Override 
     public void onResponse(JSONObject response) { 

      //Your code to proceed with fetched data 

      } 
    }, new Response.ErrorListener() { 
     @Override 
     public void onErrorResponse(VolleyError error) { 

     } 
    }){ 
       //This is the method used to put params into the body, this what you will have to use for sending post data 
     @Override 
     public Map<String, String> getParams() throws AuthFailureError { 
      HashMap<String, String> params = new HashMap<String, String>(); 

       params.put("name","jois"); 
      return params; 
     } 

    }; 

    Volley.newRequestQueue(getApplicationContext()).add(request); 




compile 'com.mcxiaoke.volley:library:1.0.19' This is the dependice you will have to add in build.gradle file to use volley library 

ich hoffe, das war hilfreich, ThankYou

+0

Wenn ich Volley zum Senden von Daten verwende, brauche ich einen Webservice? oder ich kann direkt an den URL-Server senden? – najihah93

+0

Sie können über URL senden oder Web-Service verwenden! U Cab beides – Jois