Reputation: 31
I have a public google spreadsheet with some data in tables.
I'm developing an Android app which I want it to read these tables and then make a listview with the fields on the spreadsheet.
Which will be the best way to do that?
Upvotes: 3
Views: 8364
Reputation: 1536
You can use the code of James Moore: http://blog.restphone.com/2011/05/very-simple-google-spreadsheet-code.html.
package com.banshee;
import java.io.IOException;
import java.net.URL;
import com.google.gdata.client.spreadsheet.SpreadsheetService;
import com.google.gdata.data.spreadsheet.CustomElementCollection;
import com.google.gdata.data.spreadsheet.ListEntry;
import com.google.gdata.data.spreadsheet.ListFeed;
import com.google.gdata.util.ServiceException;
public class SpreadsheetSucker {
public static void main(String[] args) {
SpreadsheetService service = new SpreadsheetService("com.banshee");
try {
// Notice that the url ends
// with default/public/values.
// That wasn't obvious (at least to me)
// from the documentation.
String urlString = "https://spreadsheets.google.com/feeds/list/0AsaDhyyXNaFSdDJ2VUxtVGVWN1Yza1loU1RPVVU3OFE/default/public/values";
// turn the string into a URL
URL url = new URL(urlString);
// You could substitute a cell feed here in place of
// the list feed
ListFeed feed = service.getFeed(url, ListFeed.class);
for (ListEntry entry : feed.getEntries()) {
CustomElementCollection elements = entry.getCustomElements();
String name = elements.getValue("name");
System.out.println(name);
String number = elements.getValue("Number");
System.out.println(number);
}
} catch (IOException e) {
e.printStackTrace();
} catch (ServiceException e) {
e.printStackTrace();
}
}
}
Upvotes: 2
Reputation: 512
I have developed a client Lib for SpreadSheet which works on Android. Please try- http://code.google.com/p/google-spreadsheet-lib-android/
hope it helps.
Cheers, Prasanta
Upvotes: 1