Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
powowstal
26 / 26 / 4
Регистрация: 21.03.2013
Сообщений: 246
#1

Пример работы с google docs spreadsheet. Не работает - Android

24.01.2015, 19:52. Просмотров 715. Ответов 9
Метки нет (Все метки)

Есть такой пример.
Мне нужно вытянуть данные с таблицы (желательно тянуть сразу массив рядка или столбца (и было б круто вытянуть рядки по заднанном значению)). Пока не суть.

Хочу понять почему в примере подчеркивает ошибку

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import com.google.gdata.client.spreadsheet.*;
import com.google.gdata.data.spreadsheet.*;
import com.google.gdata.util.*;
 
import java.io.IOException;
import java.net.*;
import java.util.*;
 
public class MySpreadsheetIntegration {
  public static void main(String[] args)
      throws AuthenticationException, MalformedURLException, IOException, ServiceException {
 
    SpreadsheetService service =
        new SpreadsheetService("MySpreadsheetIntegration-v1");
 
    // TODO: Authorize the service object for a specific user (see other sections)
 
    // Define the URL to request.  This should never change.
    URL SPREADSHEET_FEED_URL = new URL(
        "https://spreadsheets.google.com/feeds/spreadsheets/private/full");
 
    // Make a request to the API and get all spreadsheets.
    SpreadsheetFeed feed = service.getFeed(SPREADSHEET_FEED_URL,
        SpreadsheetFeed.class);
    List<SpreadsheetEntry> spreadsheets = feed.getEntries();
 
    if (spreadsheets.size() == 0) {
      // TODO: There were no spreadsheets, act accordingly.
    }
 
    // TODO: Choose a spreadsheet more intelligently based on your
    // app's needs.
    SpreadsheetEntry spreadsheet = spreadsheets.get(0);
    System.out.println(spreadsheet.getTitle().getPlainText());
 
    // Get the first worksheet of the first spreadsheet.
    // TODO: Choose a worksheet more intelligently based on your
    // app's needs.
    WorksheetFeed worksheetFeed = service.getFeed(
        spreadsheet.getWorksheetFeedUrl(), WorksheetFeed.class);
    List<WorksheetEntry> worksheets = worksheetFeed.getEntries();
    WorksheetEntry worksheet = worksheets.get(0);
 
    // Fetch the list feed of the worksheet.
    URL listFeedUrl = worksheet.getListFeedUrl();
    ListFeed listFeed = service.getFeed(listFeedUrl, ListFeed.class);
 
    // Iterate through each row, printing its cell values.
    for (ListEntry row : feed.getEntries()) {
      // Print the first column's cell value
      System.out.print(row.getTitle().getPlainText() + "\t");
      // Iterate over the remaining columns, and print each cell value
      for (String tag : row.getCustomElements().getTags()) {
        System.out.print(row.getCustomElements().getValue(tag) + "\t");
      }
      System.out.println();
    }
  }
}
for (ListEntry row : feed.getEntries())
так понял не соответсвие типов? И как ее исправить?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
contedevel
 Аватар для contedevel
57 / 55 / 8
Регистрация: 07.10.2012
Сообщений: 589
24.01.2015, 20:21     Пример работы с google docs spreadsheet. Не работает #2
Цитата Сообщение от powowstal Посмотреть сообщение
for (ListEntry row : feed.getEntries())
Если приведение типов возможно и ошибка в этом, то просто очень:
Java
1
for(ListEntry r: (ListEntry)feed.getEntries())
Но в цикле это плохо делать)
Если это не перечисляемый класс, то используйте цикл while или тот же for, но со счетчиком
powowstal
26 / 26 / 4
Регистрация: 21.03.2013
Сообщений: 246
24.01.2015, 20:25  [ТС]     Пример работы с google docs spreadsheet. Не работает #3
contedevel, угу если бы все было так просто, типы не приводятся так как
Can only iterate over an array or an instance of java.lang.Iterable
contedevel
 Аватар для contedevel
57 / 55 / 8
Регистрация: 07.10.2012
Сообщений: 589
24.01.2015, 20:27     Пример работы с google docs spreadsheet. Не работает #4
Цитата Сообщение от powowstal Посмотреть сообщение
Can only iterate over an array or an instance of java.lang.Iterable
Это второй пункт моего ответа
powowstal
26 / 26 / 4
Регистрация: 21.03.2013
Сообщений: 246
24.01.2015, 20:54  [ТС]     Пример работы с google docs spreadsheet. Не работает #5
contedevel, Пред циклом сделал приведение результата нет
Java
1
2
3
ListEntry rowI = (ListEntry)feed.getEntries();
                        
            for (ListEntry row : rowI) {
dtx1212
6 / 6 / 1
Регистрация: 08.12.2013
Сообщений: 26
24.01.2015, 21:35     Пример работы с google docs spreadsheet. Не работает #6
contedevel, зачем вы пытаетесь привести список записей к единичной записи?
Edit:
powowstal, посмотрел документацию этого метода, он возвращает List с типом, определенным при создании фида, в данном случае это SpreadsheetEntry. Так что перебор должен выглядеть так.
Java
1
for (SpreadsheetEntry spreadsheetEntry : feed.getEntries())
powowstal
26 / 26 / 4
Регистрация: 21.03.2013
Сообщений: 246
24.01.2015, 21:36  [ТС]     Пример работы с google docs spreadsheet. Не работает #7
dtx1212, не помогло (
dtx1212
6 / 6 / 1
Регистрация: 08.12.2013
Сообщений: 26
24.01.2015, 21:44     Пример работы с google docs spreadsheet. Не работает #8
powowstal, если вам нужен именно ListFeed - используйте его, а не SpreadsheetFeed
Java
1
2
ListFeed listFeed = service.getFeed(listFeedUrl, ListFeed.class);
for (ListEntry listEntry : listFeed.getEntries()){}
powowstal
26 / 26 / 4
Регистрация: 21.03.2013
Сообщений: 246
24.01.2015, 21:51  [ТС]     Пример работы с google docs spreadsheet. Не работает #9
dtx1212, тогда нужные мне ф-и перестают функционировать, это официальный же пример от гугла, я надеялся что там все правильно
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.01.2015, 23:43     Пример работы с google docs spreadsheet. Не работает
Еще ссылки по теме:

Android Как работать с google docs spreadsheets?
Статистика Google Play Service и баг Google Analytics Android
Android OAuth 2.0 нужен пример для входа google документы
Android Не работает Google Maps
Нужен пример работы Socked клиента, который получает некую инфу от сервера Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
contedevel
 Аватар для contedevel
57 / 55 / 8
Регистрация: 07.10.2012
Сообщений: 589
24.01.2015, 23:43     Пример работы с google docs spreadsheet. Не работает #10
Цитата Сообщение от dtx1212 Посмотреть сообщение
зачем вы пытаетесь привести список записей к единичной записи?
Честно говоря, машинально написал ListEntry...

Добавлено через 4 минуты
Цитата Сообщение от powowstal Посмотреть сообщение
Пред циклом сделал приведение результата нет
Это глупость, извините... Машинально приведение типов написал, там коллекция возвращается, так нельзя делать, вообще, при переборе это глупость, даже если бы можно было привести.
Yandex
Объявления
24.01.2015, 23:43     Пример работы с google docs spreadsheet. Не работает
Ответ Создать тему
Опции темы

Текущее время: 08:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru