Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.59/22: Рейтинг темы: голосов - 22, средняя оценка - 4.59
ManHunter
13 / 13 / 6
Регистрация: 16.05.2011
Сообщений: 152
Записей в блоге: 2
1

Отслеживание сообщений (Vkontakte SDK)

28.03.2013, 01:41. Просмотров 4047. Ответов 10
Метки нет (Все метки)

Всем привет!
Пишу приложение мессенджер вконтакте. Сейчас хочу реализовать прием сообщений, но не знаю каким образом это сделать.
Может есть люди имеющие опыт с работай с данной vk SDK: https://github.com/thest1/Android-VKontakte-SDK ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.03.2013, 01:41
Ответы с готовыми решениями:

Sdk в настойках Android Studio и sdk в Project Structure
То есть получается что путь к sdk которое использует Android Studio...

"No Android SDK found. configure an Android SDK". Что делать?
Сначала Андроид Студио зависал при компиляции приложения и выдавал сообщение,...

Работа с vkontakte API
Здравствуйте, я раньше писал об аутентификацие через соц. сети. Решил...

Приложение по функционалу как VKontakte
Привет всем! В башку залезла идея создать приложение близко похожее по...

Android + Vkontakte API problem
Доброе время суток! Пишу приложение под Андроид, которое должно...

10
Бородач
Заблокирован
28.03.2013, 02:31 2
Не пользуюсь, но стало любопытно посмотреть
Вроде ничего сложного там нет, на странице: http://vk.com/developers.php?s=0&id=-1_11226273 нужные апи
Открываем https://github.com/thest1/Android-VK...e/api/Api.java
Ищем на странице например слово: messages.send получаем отправку сообщений:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//http://vkontakte.ru/developers.php?o=-1&p=messages.send
    public String sendMessage(Long uid, long chat_id, String message, String title, String type, Collection<String> attachments, ArrayList<Long> forward_messages, String lat, String lon, String captcha_key, String captcha_sid) throws MalformedURLException, IOException, JSONException, KException{
        Params params = new Params("messages.send");
        if(chat_id<=0)
            params.put("uid", uid);
        else
            params.put("chat_id", chat_id);
        params.put("message", message);
        params.put("title", title);
        params.put("type", type);
        params.put("attachment", arrayToString(attachments));
        params.put("forward_messages", arrayToString(forward_messages));
        params.put("lat", lat);
        params.put("long", lon);
        addCaptchaParams(captcha_key, captcha_sid, params);
        JSONObject root = sendRequest(params, true);
        Object message_id = root.opt("response");
        if (message_id != null)
            return String.valueOf(message_id);
        return null;
    }
ну и таким образом можно найти любую апи
0
ManHunter
13 / 13 / 6
Регистрация: 16.05.2011
Сообщений: 152
Записей в блоге: 2
28.03.2013, 08:28  [ТС] 3
Бородач, Да, это я знаю, но проблема в том, как например правильно реализовать ожидание сообщения ?
К примеру, вот таким образом я могу найти непрочитанные сообщения (входящие):
Java
1
2
3
4
5
6
7
8
9
message1 = api.getMessagesHistory(uid, chat_id, 0, null, 10);//читаю первые 10 сообщений
     
for(int i = 0; i <= message1.size(); i++)
{
  if(message1.get(1).read_state)//если сообщение не прочитано
{
//добаляем в новые
}
}
Но грамотно ли будет каждые, допустим ... 10 сек. делать запрос api.getMessagesHistory и проверять есть ли не прочитанные?

Аа, только что вспомнил, что в api.getMessagesHistory мы читаем сообщения конкретного пользователя, а не все последние сообщения, так что тут тоже возникает проблема.
0
Бородач
Заблокирован
28.03.2013, 16:01 4
Вот тут наверно ответ: http://vk.com/developers.php?oid=-1&...B5%D1%80%D1%83
0
ManHunter
13 / 13 / 6
Регистрация: 16.05.2011
Сообщений: 152
Записей в блоге: 2
28.03.2013, 19:05  [ТС] 5
Ладно, с этим я вроде бы решил вопрос)
Теперь столкнулся с проблемой расшифровать дату сообщения (когда оно было написано).
К примеру, так получаю дату:
Java
1
message1.get(i).date
получаю информацию в виде большого числа, к примеру: 1364404632. Погуглив я узнал, что это NSDate который как я понял является типом в Objectiv C.
ВОПРОС: как преобразовать полученные данные в дату-время??? В интернете нужной информации не нашёл...
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
28.03.2013, 20:46 6
a new Date(number); не подходит?
1
ManHunter
13 / 13 / 6
Регистрация: 16.05.2011
Сообщений: 152
Записей в блоге: 2
28.03.2013, 22:00  [ТС] 7
V0v1k, спасибо, помогло, расшифровало дату и время, но теперь другая проблема, выдаёт не правильную дату и время: 1970-01-16.

Добавлено через 32 минуты
Всё разобрался, всем спасибо.
Пишу на всякий случай если кто-нибудь столкнется с такой же проблемой: 1970-01-00 - это unix time http://en.wikipedia.org/wiki/Unix_time способы его конвертирования на различных ЯП можно посмотреть здесь
1
kisk55
0 / 0 / 0
Регистрация: 04.12.2013
Сообщений: 1
08.12.2013, 10:26 8
Доброго времени, не могли бы вы показать свой вариант решения получения новых сообщений здесь либо в личку?
0
Rev0lt
0 / 0 / 0
Регистрация: 26.12.2014
Сообщений: 3
26.12.2014, 20:36 9
Извините, чуть напутал с темой. Уже совсем голова не соображает.
0
Armagedo
26.12.2014, 20:38
  #10

Не по теме:

Некроманты в городе...бдите...

0
ManHunter
13 / 13 / 6
Регистрация: 16.05.2011
Сообщений: 152
Записей в блоге: 2
26.12.2014, 20:49  [ТС] 11
Rev0lt, Пришлось с гугл драйва качать исходники. Точно сказать не могу т.к. больше года прошло, но вот кусок кода который я нашёл:
Java
1
2
3
4
5
6
7
message1 = MainActivity.api.getMessagesHistory(uid, chat_id, 0, null, 11);
String date;
for(int i = message1.size()-1; i >= 0; i--)
{
    date = new java.text.SimpleDateFormat("HH:mm").format(new java.util.Date(message1.get(i).date*1000));
    messageItem.add(new ItemMessage(message1.get(i).body, date, message1.get(i).is_out));
}
1
26.12.2014, 20:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.12.2014, 20:49

Android Загрузка изображения на стену vkontakte
Здравствуйте всем, возникла необходимость загрузить фотографию на стену...

Vk sdk
отсутствует com.vk.sdk.VKSdkListener, ни чего не понимаю, все остальные классы...

NDK и SDK
есть класс на яве который использует массив, который с течением времени...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru