1

Где взять пример на Java демонстрирующий запрос объектов и отображени

(edited by snowkam 01/03/2017 16:19:56)

Topic: Где взять пример на Java демонстрирующий запрос объектов и отображени

Где взять пример на Java демонстрирующий запрос объектов и отображении их координат

Ребята честное  слово если была бы документация не спрашивал бы даже.
https://sdk.wialon.com/wiki/ru/sidebar/javaapi/javaapi 
https://github.com/wialon/java_wialon_sdk
Это все что у меня есть, попробуй тут разберись. 
Может кто разбирал искал, поделитесь информацией

Я могу конечно написать свое java + Romote API 
Но зачем тогда целая написанная библиотека!?  Не хочется изобретать велосипед

2

Где взять пример на Java демонстрирующий запрос объектов и отображени

Re: Где взять пример на Java демонстрирующий запрос объектов и отображени

По вашим ссылкам есть примеры:
https://sdk.wialon.com/wiki/ru/sidebar/ … odesamples
https://github.com/wialon/java_wialon_s … /java/test

Mobile Development
Gurtam
3

Где взять пример на Java демонстрирующий запрос объектов и отображени

Re: Где взять пример на Java демонстрирующий запрос объектов и отображени

Один единственный пример и все. Мне из него не понятно каким образом получить обьект  Unit и из него извлечь позицию объекта (((
Можете мне помочь?

4

Где взять пример на Java демонстрирующий запрос объектов и отображени

Re: Где взять пример на Java демонстрирующий запрос объектов и отображени

Начнем с того что там два примера, и задача их показать примеры использования  Java SDK, а не научить Java или написать код на все случаи жизни.
В первом примере как раз показано каким образом можно получить все объекты с сервера. Если Вам нужна позиция объекта, добавьте dataFlag

Unit.dataFlag.lastMessage

в запрос и получайте позицию через вызов

Unit.getLastMessage()

Во втором примере как раз запрашивается данный dataFlag и в нем показано каким образом можно получать события о перемещении объектов.

Mobile Development
Gurtam
5

Где взять пример на Java демонстрирующий запрос объектов и отображени

Re: Где взять пример на Java демонстрирующий запрос объектов и отображени

С флагами все понятно спасибо.
Я повторюсь я не знаю откуда получить объект Unit  чтобы воспользоваться как вы писали методом Unit.getLastMessage()
вот часть кода

session.searchItems(searchSpec, 1, Item.dataFlag.base.getValue()| Unit.dataFlag.lastMessage.getValue(), 0, Integer.MAX_VALUE, new SearchResponseHandler() {
            @Override
            public void onSuccessSearch(Item... items) {
                super.onSuccessSearch(items);
                // Search succeed
                System.out.println("Search items is successful");
                printUnitsNames(items);
                logout();
            }
            @Override
            public void onFailure(int errorCode, Throwable throwableError) {
                super.onFailure(errorCode, throwableError);
                // search item failed, print error
                System.out.println(Errors.getErrorText(errorCode));
                logout();
            }
        });
    }

И тут мы получаем объект Item, каким образом мне из этого запроса получить Unit ???? чтобы потом уже воспользоваться методом    Unit.getLastMessage()  и почему именно этот метод если есть Unit.getPosition() который возвращает объект типа UnitData.Position ну и в нем как я полагаю уже координаты.

6

Где взять пример на Java демонстрирующий запрос объектов и отображени

Re: Где взять пример на Java демонстрирующий запрос объектов и отображени

Все верно. Посмотрите иерархию классов, Unit наследуется от Item.
В Java проверить класс в цепочке у объекта можно различными способами.
Например:

if (Unit.class.isInstance(item))
    ((Unit)item).getLastMessage();
Mobile Development
Gurtam
7

Где взять пример на Java демонстрирующий запрос объектов и отображени

Re: Где взять пример на Java демонстрирующий запрос объектов и отображени

Ё мае человек прости я чегото затупил.....

Class Unit

java.lang.Object
   com.wialon.core.EventProvider
      com.wialon.item.Item
        com.wialon.item.ItemIcon
          com.wialon.item.Unit
еще раз прошу прощение

Unit u;
            for (Item item : items) {
                u = (Unit) item;
                UnitData.Position pos = u.getPosition();
                System.out.println("pos.x: " + pos.getLatitude());
                System.out.println(String.format("\t%s", item.getName()));
                System.out.println("ID: " + item.getId());
            }
8

Где взять пример на Java демонстрирующий запрос объектов и отображени

Re: Где взять пример на Java демонстрирующий запрос объектов и отображени

 u = (Unit) item;

Так лучше не делать без проверок, есть риск получить ClassCastException.
Можно еще проверить методом класса Item

Item.getItemType().equals(Item.ItemType.avl_unit);
Mobile Development
Gurtam
9

Где взять пример на Java демонстрирующий запрос объектов и отображени

Re: Где взять пример на Java демонстрирующий запрос объектов и отображени

я понял вас спасибо

10

Где взять пример на Java демонстрирующий запрос объектов и отображени

Re: Где взять пример на Java демонстрирующий запрос объектов и отображени

Добрый день!

Подскажите, пожалуйста, как получить список геозон с помощью Java API? Как я понял из чтения тем на форуме, геозоны получают через запрос ресурсов, попробовал сделать так:

        SearchSpec searchSpec = new SearchSpec();
        searchSpec.setItemsType(Item.ItemType.avl_resource);
        searchSpec.setPropName("sys_name");
        searchSpec.setPropValueMask("*");
        searchSpec.setSortType("sys_name");
        session.searchItems(searchSpec, 1,
                Item.dataFlag.base.getValue() | Resource.dataFlag.zones.getValue(), //флаг для получения геозон?
                0, Integer.MAX_VALUE, new SearchResponseHandler() {
            @Override
            public void onSuccessSearch(Item... items) {
                super.onSuccessSearch(items);
                //читаем items
                logout(session);
            }
            @Override
            public void onFailure(int errorCode, Throwable throwableError) {
                super.onFailure(errorCode, throwableError);
                // search item failed, print error
                System.out.println(Errors.getErrorText(errorCode));
                logout(session);
            }
        });

В результате приходит Resource с именем = логину пользователя, как оттуда вытянуть геозоны?

11

Где взять пример на Java демонстрирующий запрос объектов и отображени

Re: Где взять пример на Java демонстрирующий запрос объектов и отображени

k1o-416, к сожалению в Java SDK не поддержана работа с геозонами. Вы можете сами добавить такой функционал в классе Resource по аналогии с  уведомлениями (метод getNotificationPlugin). Полное описание запросов для работы с геозонами тут и тут.

Mobile Development
Gurtam
12

Где взять пример на Java демонстрирующий запрос объектов и отображени

Re: Где взять пример на Java демонстрирующий запрос объектов и отображени

Спасибо за ответ, буду разбираться. А работу с сообщениями SDK поддерживает?

Безуспешно пытаюсь загрузить GPS-данные по отдельным объектам. В документации описаны несколько запросов:

В Java SDK нашёл для них реализацию в MessageLoader:

session.getMessagesLoader().loadInterval(item.getId(), 0, new Date().getTime(), 0, 1, -1, new MessagesResponseHandler() {
    @Override
    public void onSuccessMessages(Message... messages) {
        super.onSuccessMessages(messages);
    }

    @Override
    public void onFailure(int errorCode, Throwable throwableError) {
        super.onFailure(errorCode, throwableError);
        System.out.println(Errors.getErrorText(errorCode));
    }
});

В результате попадаю в onFailure c errorCode=4(Invalid input), при этом не понятно какой параметр запроса неверный.
Аналогичный результат с getMessages(...):

session.getMessagesLoader().getMessages(0, 1000000, new MessagesResponseHandler() {
    @Override
    public void onSuccessMessages(Message... messages) {
        super.onSuccessMessages(messages);
    }

    @Override
    public void onFailure(int errorCode, Throwable throwableError) {
        super.onFailure(errorCode, throwableError);
        System.out.println(Errors.getErrorText(errorCode));
    }
});

Подскажите, пожалуйста, как диагностировать в чём проблема?

13

Где взять пример на Java демонстрирующий запрос объектов и отображени

(edited by kopa 15/11/2017 08:56:20)

Re: Где взять пример на Java демонстрирующий запрос объектов и отображени

k1o-416 тут есть более подробный пример. Первое что бросается в глаза, вы время подаете в миллисекундах, а сервер принимает в секундах.

Mobile Development
Gurtam
14

Где взять пример на Java демонстрирующий запрос объектов и отображени

Re: Где взять пример на Java демонстрирующий запрос объектов и отображени

Спасибо, заработало