2014-09-13 2 views
0

내가 가진 WebAPI : http://some.com:39760/odata/DriverInfoesAndroid에서 OData를 사용하는 방법은 무엇입니까?

그것을 보여줍니다 내가 안드로이드의 링크

{ 
    "odata.metadata":"http://some.com:39760/odata/$metadata#DriverInfoes","value":[ 
    { 
     "DriverID":"1","Name":"Faria","Phone":"ss","Email":"ss","Time":null 
    } 
    ] 
} 

를 쳤을 때 다음 나는 점점 오전

private class DownloadWebPageTask extends AsyncTask<Void, Void, OEntity> { 
    protected OEntity doInBackground(Void... params) { 

     String serviceUrl = "http://some.com:39760/odata/DriverInfoes "; 
     ODataConsumer consumer = ODataConsumers.create(serviceUrl); 

     return (OEntity) consumer.getEntities("DriverInfoes").execute(); //getting exception here 
    } 

    @Override 
    protected void onPostExecute(OEntity consumer) { 
     Log.v("mango", consumer.getType().getFullyQualifiedTypeName()); 
    } 

} 

을 하나로, OData

소비에 대한 odata4j-0.7.0-clientbundle 추가 예외 사항 :

return (OEntity) consumer.getEntities("DriverInfoes").execute(); 

그리고 내 oncreate 방법에서 나는 썼다

DownloadWebPageTask task = new DownloadWebPageTask(); 
task.execute(); 

나는 어떤 행운을 가지고 있지 않다. 나는 뭔가 잘못하고 있다고 생각합니다! 누구든지 나에게 그것을 지적 할 수 있습니까?

답변

1

의 JSON 데이터는 ... 은 ... 된 JSONObject 및 JSONArray와 함께

귀하의 데이터를 구문 분석하려고합니다. 다음 코드를 사용하여 데이터를 구문 분석

{ 
    "odata.metadata": "http://some.com:39760/odata/$metadata#DriverInfoes", 
    "value": [ 
     { 
      "DriverID": "1", 
      "Name": "Faria", 
      "Phone": "ss", 
      "Email": "ss", 
      "Time": null 
     } 
    ] 
} 

...

JSONObject JObj=new JSONObject (jsonresult); 
String metadata= JObj.getString("odata.metadata"); 

JSONArray array_list = JObj.getJSONArray("value"); 

//getting order Id from **order_list array** 
for(int i=0;i<array_list.length();i++) 
{ 
     String DriverID= array_list.getJSONObject(i).getString("DriverID"); 
     String Name= array_list.getJSONObject(i).getString("Name"); 
     String Phone= array_list.getJSONObject(i).getString("Phone"); 
     String Email= array_list.getJSONObject(i).getString("Email"); 
     String Time= array_list.getJSONObject(i).getString("Time"); 
} 
관련 문제