Consuming OData WCF REST Service from Android Client Device

As in my previous blog , already mentioned to create about OData Service feed in ATOM format which can be consumed in Windows Phone 7, Android, iPhone/iPAD , Silverlight,PHP, Windows Azure Table Storage clients.

  • Lets check , how to consume the OData WCF REST service in Android client. To work with OData Android client lets download Odata4j Android client library from RESTlet: & select the OData4j-Bundle.jar in Java Build Path of your Android project.
  • Next, to consume OData service from android device, we need to host the service in IIS. In my demo, i have hosted it in IIS 7.5.
  • Now, Start develop an android client application which can consume OData feed.
  • Modify AndroidManifest.xml as it can consume feed from internet from native application:



   Write code for :


import java.util.ArrayList;

import java.util.List;

import org.odata4j.consumer.ODataConsumer;

import org.odata4j.core.OEntity;


import android.os.Bundle;

import android.widget.ArrayAdapter;

public class JsonGrabbingConsumerExampleActivity  extends  ListActivity {

/** Called when the activity is first created. */


public void  onCreate(Bundle savedInstanceState) {


        setListAdapter(new ArrayAdapter<String>(this,   android.R.layout.simple_list_item_1, GetExpenseReports()));



// read expenses odata feed

    ArrayList<String> GetExpenseReports()


// build a simple array list of strings to test things out

        ArrayList<String> listUI = new ArrayList<String>();

// use odata4j consumer

        ODataConsumer c = ODataConsumer.create(;

// run a query just for Pending states

        List<OEntity> listExpenses = c.getEntities(“SampleCustomerData”).execute().toList();

for(OEntity expense : listExpenses) {




“; “ + expense.getProperty(“CustomerName”).getValue().toString()


“; “ + expense.getProperty(“CustomerNotes”).getValue().toString()



return  listUI;   



  • Checkout the output in Android 2.3:

About Anindita
Anindita Basak is working as Big Data Cloud Consultant in Microsoft. Worked in multiple MNCs as Developer & Senior Developer on Microsoft Azure, Data Platform, IoT & BI , Data Visualization, Data warehousing & ETL & of course in Hadoop platform.She played both as FTE & v- employee in Azure platform teams of Microsoft.Passionate about .NET , Java, Python & Data Science. She is also an active Big Data & Cloud Trainer & would love share her experience in IT Training Industry. She is an author, forum contributor, blogger & technical reviewer of various books on Big Data Hadoop, HDInsight, IoT & Data Science, SQL Server PDW & PowerBI.

12 Responses to Consuming OData WCF REST Service from Android Client Device

  1. Pingback: URL

  2. Pingback: led vs lcd

  3. Pingback: Walks

  4. Pingback: formation soins des pieds

  5. Pingback: outdoor furniture cushions

  6. Pingback: tatuaggi nomi

  7. Pingback: go here

  8. Pingback: Oscar

  9. cmnunis says:

    Hi Anindita,

    thank you for this post. I am very new to OData and Android and this post has certainly helped.

    By any chance, can you show me how you created your WCF service? My service is running, but I can’t seem to get the headers to show, as yours does.

    Additionally, I also ran into some authentication issues after uploading them to an IIS server. I have a dummy machine that runs IIS 6.

    Please advise if you get a chance. Thank you. 🙂

  10. Can you tell me how to add some authentication infos to the connection. I am working with a SharePoit site which need authentication to get the List data

  11. Pingback: Capsiplex

  12. Pingback: bluehost coupons

Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: