2017-03-21 4 views
2

Ich versuche, die Antwortdaten von ConnectionRequest auf lokale JSON-Datei in Codename eins zu schreiben, aber ich habe keine Ahnung, wo ich anfangen soll ... Jeder hat eine Ahnung davon, also bitte posten Sie Ihre Antworten.ConnectionRequest Antwortbehandlung

+0

'In Codename eins '- was meinst du? – Divers

+0

Werfen Sie einen Blick auf die PropertyCross Demo – Diamond

+0

@Divers https://www.codenameone.com/ –

Antwort

0

Ich bin mir nicht sicher, was Sie eigentlich tun wollen, aber JSON-Objekte für die Handhabung, möchten Sie vielleicht das Rahmen von json.org versuchen: https://mvnrepository.com/artifact/org.json/json Damit Sie eine Antwort in ein JSON-Objekt konvertieren und dann extrahiere Daten von diesem Objekt.

Dies ist ein Beispiel für eine HTTP-POST-Anfrage:

String fieldContent = responseObject.getString("fieldName"); 
System.out.println("Example field: " + fieldContent); 

wo fieldName darstellt:

public class PostTest { 
      public static void main(String[] args) { 
       CloseableHttpClient httpclient = HttpClients.createDefault(); 

    try { 
     //This section is for creating and executing the POST-Request 
     URIBuilder uriBuilder = new URIBuilder("http://www.example.com/"); 
     URI uri = uriBuilder.build(); 
     HttpPost request = new HttpPost(uri); 
     HttpResponse response = httpclient.execute(request); 

     //This section converts the response into a HttpEntity 
     HttpEntity entity = response.getEntity(); 
     System.out.println(response.getStatusLine()); 

     //This converts the HttpEntity into a JSON Object 
     if (entity != null) { 
      String responseString = EntityUtils.toString(entity); 
      JSONObject responseObject = responseString.getJSONObject(); 
     } 

    catch (Exception e) { 
     System.out.println(e.getMessage()); 
    } 

Wenn die Anforderung erfolgreich war, können Sie nun Daten aus dem responseObject wie folgt extrahieren könnte Der Name einer Variablen in responseObject

Ich weiß, dass dies wahrscheinlich nicht das genaue Szenario, das Sie suchen für, aber ich hoffe, es könnte dir eine Idee geben.

+0

Siehe https://www.codenameone.com/ –

1

Hier ist ein Beispiel mit ConnectionRequest.setDestinationFile(), um Inhalt in eine lokale Datei herunterzuladen.


private static boolean downloadUrlTo(String url, String fileName, boolean showProgress, boolean background, boolean storage, ActionListener callback) { 
     ConnectionRequest cr = new ConnectionRequest(); 
     cr.setPost(false); 
     cr.setFailSilently(true); 
     cr.setDuplicateSupported(true); 
     cr.setUrl(url); 
     if(callback != null) { 
      cr.addResponseListener(callback); 
     } 
     if(storage) { 
      cr.setDestinationStorage(fileName); 
     } else { 
      cr.setDestinationFile(fileName); 
     } 
     if(background) { 
      NetworkManager.getInstance().addToQueue(cr); 
      return true; 
     } 
     if(showProgress) { 
      InfiniteProgress ip = new InfiniteProgress(); 
      Dialog d = ip.showInifiniteBlocking(); 
      NetworkManager.getInstance().addToQueueAndWait(cr); 
      d.dispose(); 
     } else { 
      NetworkManager.getInstance().addToQueueAndWait(cr); 
     } 
     return cr.getResponseCode() == 200; 
    } 

See full source

1

Der folgende Code würde ein JSON-Objekt von einem Server erhalten und es in einer lokalen Datei speichern.

String fspath = FileSystemStorage.getInstance().getAppHomePath(); 
String url = "http://example.com/getSomeJSON.php"; 

ConnectionRequest cr = new ConnectionRequest(url, false); 
cr.setDestinationFile(fspath + "mylocalfile.json"); 
NetworkManager.getInstance().addToQueue(cr); 
Verwandte Themen