2012-03-03 16 views
5

sto sviluppando l'app in blackberry versione 5.0 e ho importato tutte le librerie che richiedono per json in 5.0.JSON che analizza in Blackberry 5.0

ho avuto library scaricare da questo URL http://supportforums.blackberry.com/t5/Java-Development/JSON-library/td-p/573687

anche io non ottenere risposta, quello che avevo mancanza in questo codice per favore mi aiuti.

Di seguito è riportato il mio codice Per l'analisi json.

package mypackage; 

import java.io.ByteArrayOutputStream; 
import java.io.IOException; 
import java.io.InputStream; 

import javax.microedition.io.Connector; 
import javax.microedition.io.HttpConnection; 

import JSON_ME_Library.src.org.json.me.JSONArray; 
import JSON_ME_Library.src.org.json.me.JSONException; 
import JSON_ME_Library.src.org.json.me.JSONObject; 

import net.rim.device.api.ui.UiApplication; 
import net.rim.device.api.ui.component.ButtonField; 
import net.rim.device.api.ui.component.Dialog; 
import net.rim.device.api.ui.component.LabelField; 
import net.rim.device.api.ui.container.MainScreen; 


public final class MyScreen extends MainScreen 
{ 

    String url="http://www.appymail.com/iphone-messenger/456842/"; 

    public MyScreen() 
    {     
     setTitle("Json Parsing Sample"); 

     String aa=jsonresponse(url); 

     if(aa.equalsIgnoreCase("")) 
     { 
      add(new LabelField("NO res")); 
     } 
     else 
     { 
      parseJSONResponceInBB(aa); 

     } 


    } 



    void parseJSONResponceInBB(String jsonInStrFormat) 
    { 


     try { 
      JSONObject json = new JSONObject(jsonInStrFormat); 
      JSONArray jArray= json.getJSONArray("messages"); 

      //JSONArray arr=jArray.getJSONArray(0); 

      for(int i=0;i<jArray.length();i++) 
      { 
       JSONObject j = jArray.getJSONObject(i); 
       String from = j.getString("id");   
       add(new LabelField("id=="+from)); 

       String to =j.getString("title"); 
       add(new LabelField("title=="+to));   

       String message=j.getString("body");     
       add(new LabelField("Body=="+message)); 

      } 
     } catch (JSONException e) 
     {   
      e.printStackTrace(); 
     }  



    } 

    public static String jsonresponse (String url) 
    { 
     String response = null; 
     HttpConnection httpConnection = null; 
     InputStream inStream = null; 
     int code; 
     StringBuffer stringBuffer = new StringBuffer(); 

     try { 

      httpConnection = (HttpConnection) Connector.open(url, Connector.READ); 
      httpConnection.setRequestMethod(HttpConnection.GET); 

      code = httpConnection.getResponseCode(); 

      if(code == HttpConnection.HTTP_OK) 
      { 
       inStream=httpConnection.openInputStream(); 
       int c; 


       while((c=inStream.read())!=-1) 
       { 
        stringBuffer.append((char)c); 
       } 
       response=stringBuffer.toString(); 
       System.out.println("Response Getting from Server is ================" + response); 



      } 
     else 
      { 
       UiApplication.getUiApplication().invokeLater(new Runnable() 
       { 

        public void run() 
        {  
         Dialog.inform("Connection error"); 
        } 
       }); 
      } 


     } 
     catch (Exception e) 
     { 

      System.out.println("caught exception in jsonResponse method"+e.getMessage()); 

     } 
     finally 
     { 

     //  if (outputStream != null) 
     //  { 
     //   outputStream.close(); 
     //  } 
       if (inStream != null) 
       { 
        try { 
         inStream.close(); 
        } catch (IOException e) { 
         // TODO Auto-generated catch block 
         e.printStackTrace(); 
        } 
       } 
       if (httpConnection != null) 
       { 
        try { 
         httpConnection.close(); 
        } catch (IOException e) { 
         // TODO Auto-generated catch block 
         e.printStackTrace(); 
        } 
       } 
     } 

     return response; 
    } 


} 
+0

Thank You! Il tuo codice mi ha aiutato a capire il mio problema :) – yanike

risposta

1

Ciao caro è necessario utilizzare l'estensione URL per la mora

quindi per favore cercate di cambiare questa linea

String aa=jsonresponse(url); 

come

String aa=jsonresponse(url+";interface=wifi"); 

Dopo che i dati di download completato con successo da url quindi una volta verificate che String abbia ottenuto un valore o no? se ottenere dati quindi seguire

provare questo se si sta lavorando bene quindi passare attraverso questo link seguente

Guide for URL extensions

+0

fammi sapere se funziona o meno per te? –

1

Inserisci URL in

 String url="Your url"; 
    String request=jsonresponse(url+";interface=wifi"); 
    String response = parseJSONResponceInBB(request); 
    if(response .equalsIgnoreCase("")) 
    { 
     add(new LabelField("NO res")); 
    } 
    else 
    { 
     add(new LabelField(response)); 
    } 
+0

Grazie per rply .. – Hasmukh

Problemi correlati