저는 Android 개발의 초보자입니다. WCF 데이터 서비스를 통해 데이터를 검색하려고합니다. 이 서비스는 원자 및 json 형식의 데이터를 반환하도록 구성됩니다.Android 클라이언트에서 WCF 데이터 서비스 사용
odata4j 라이브러리를 사용하고 있습니다. 내 코드가 아래에 있습니다 ...
public class Welcome extends Activity {
Button call;
ListView list;
ArrayList categories;
ArrayAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_welcome);
setTitle("WCF Example");
call = (Button) findViewById (R.id.mybtn);
list = (ListView) findViewById(R.id.mylistview);
categories = new ArrayList();
call.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
new callService().execute();
}
});
}
public class callService extends AsyncTask<Void, Void, ArrayList<String>> {
@Override
protected ArrayList<String> doInBackground(Void... params) {
ODataConsumer c = ODataJerseyConsumer.create("http://217.37.219.177:82/EbosDataService.svc");
List<OEntity> listEntities = c.getEntities("driver_details").execute().toList();
System.out.println("Size"+ listEntities.size());
if (listEntities.size() > 0) {
for (OEntity entity : listEntities) {
categories.add(entity.getProperty("DriverID").getValue().toString()
+ " - "
+ entity.getProperty("DriverFirstName").getValue());
}
}
return categories;
}
@Override
protected void onPostExecute(ArrayList<String> result) {
super.onPostExecute(result);
adapter = new ArrayAdapter<String>(Welcome.this,
android.R.layout.simple_list_item_1, result);
list.setAdapter(adapter);
}
}
}
실행하면 응용 프로그램이 응답하지 않게됩니다. 로그를 참조하십시오
http://217.37.219.177:85/errorlog.txt
그러나 http://services.odata.org/Northwind/Northwind.svc에 액세스하면 내 코드가 작동합니다. 로그를 참조하십시오
http://217.37.219.177:85/successlog.txt
내 서비스에 뭔가 문제가 있다고 생각합니다. 내가 다른 닷 넷 클라이언트에서 동일한 서비스를 사용하고 잘 작동 문제로 해결할 수 없습니다.
도움이 될 것입니다.
감사합니다.