Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.89
jumper.leto
1 / 1 / 2
Регистрация: 08.11.2010
Сообщений: 66
#1

Vk.com api audio.get +resonce - Программирование Android

09.05.2012, 22:45. Просмотров 2590. Ответов 4
Метки нет (Все метки)

Прошу о помощи мучаюсь уже неделю, в кратце, делаю запрос через vk api,
запрос приходит успешно, но вот ответ обработать не знаю как.
вот описание запроса http://vk.com/developers.php?oid=-1&p=audio.get
вот как я его выполняю собственно:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public ArrayList<Audio> getAudiomy(Long uid, Long gid,int count) throws MalformedURLException, IOException, JSONException, KException{
        Params params = new Params("audio.get");
        params.put("uid", uid);
        params.put("gid", gid);
        params.put("count",count);
        JSONObject root = sendRequest(params);
        JSONArray array = root.optJSONArray("response");
        ArrayList<Audio> audios = new ArrayList<Audio>();
        if (array != null) {
            int type_array = 0;
            for(int i = type_array; i<array.length(); ++i) { //get(0) is integer, it is audio count
                JSONObject o = (JSONObject)array.get(i);
                audios.add(Audio.parse(o));
            }
        }
        return audios;
    }
и
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
case R.id.Vkaudio:
            try {        
             ArrayList<Audio> audios = new ArrayList<Audio>();
             ArrayList<Long> audioL = new ArrayList<Long>();
             int count = 2;
             audioL.add(new Long(x));
            audios = api.getAudiomy(account.user_id, null, count);
            String s = String.valueOf(audios.get(0));
             tvVkA.setText(s);
               //Показать сообщение в UI потоке 
               runOnUiThread(successRunnable);
           } catch (Exception e) {
               e.printStackTrace();
           }
        }
Вывожу просто в TextView, чтобы увидеть что хоть пришло, выдает
Javascript
1
Com.perm.kate.app.Audio@405593e8
Без понятия что это, когда залез в LogCat, увидел то что и должно было выдать
Javascript
1
05-09 22:14:44.399: I/Kate.Api(9858): response={"response":[{"aid":150066352,"owner_id":14484791,"artist":"Bob Marley","title":"Sun is Shining (Smoke out Dubstep remix)","duration":305,"url":"http:\/\/cs5882.vkontakte.ru\/u2337738\/audio\/3a6b35ba97a6.mp3","lyrics_id":"23265082"}]}
Вот только как обработать этот Respons???
P.S. занимаюсь "разработкой" около 2-х недель, за все ошибки которые найдете бейте сильно, чтобы быстрее научился) (и заранее спасибо)

Добавлено через 16 минут
Только что сделал по другому:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
try {        
                 int count = 2;
                    long ofset = 0; 
                 audioL.add(new Long(x));
                JSONArray array;
                array = api.getAudiomy(account.user_id, null, count);  
                String s = String.valueOf(array);
                 tvVkA.setText(s);
                   //Показать сообщение в UI потоке 
                   runOnUiThread(successRunnable);
               } catch (Exception e) {
                   e.printStackTrace();
               }
и
Javascript
1
2
3
4
5
6
7
8
9
public JSONArray getAudiomy(Long uid, Long gid,int count) throws MalformedURLException, IOException, JSONException, KException{
        Params params = new Params("audio.get");
        params.put("uid", uid);
        params.put("gid", gid);
        params.put("count",count);
        JSONObject root = sendRequest(params);
        
        JSONArray array = root.optJSONArray("response");
        return array;
Теперь все выводит в TextView.
Теперь вопрос, допустим Array будет равен
Javascript
1
response={"response":[{"aid":150066352,"owner_id":14484791,"artist":"Bob Marley","title":"Sun is Shining (Smoke out Dubstep remix)","duration":305,"url":"http:\/\/cs5882.vkontakte.ru\/u2337738\/audio\/3a6b35ba97a6.mp3","lyrics_id":"23265082"}]}
Каким образом можно вывеси в TextView только
Javascript
1
"Bob Marley"
???
Регулярные выражения вообще тут будут работать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.05.2012, 22:45
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Vk.com api audio.get +resonce (Программирование Android):

Android SDK Manager не отображает платформы 2.3.3 (API 10), 2.3.1 (API 9). Как быть?
Добрый день! Использую Android Studio под Windows 7. Из-за несовместимости с...

Android Studio не дает работать с API 8 без установленного API 21
Удалил все не интересующие меня библиотеки и поставил только API Level 8. Но...

Ошибка minSDK(API 23, N preview) != deviceSDK(API 17)
Недавно начал учить андроид и возникла такая ошибка, когда я пытаюсь запустить...

Android audio streaming Wi Fi
Всем привет, на просторах интернета я нашел несколько забавных примеров по...

Изменить audio файл
Есть аудио файл на sdcard. Как изменить его так чтобы он воспроизводился задом...

Android P2P audio stream
Здравствуйте форумчане. Нашел проект на гите, для передачи звука между...

4
silentnuke
Android Programmer
139 / 140 / 10
Регистрация: 08.12.2010
Сообщений: 421
09.05.2012, 22:57 #2
Цитата Сообщение от jumper.leto Посмотреть сообщение
Каким образом можно вывеси в TextView только
Javascript
1
"Bob Marley"
???
Регулярные выражения вообще тут будут работать?
зачем регулярки, читайте про работу с json, тогда все станет на своим места.
1
jumper.leto
1 / 1 / 2
Регистрация: 08.11.2010
Сообщений: 66
09.05.2012, 23:46  [ТС] #3
Цитата Сообщение от silentnuke Посмотреть сообщение
зачем регулярки, читайте про работу с json, тогда все станет на своим места.
Эм, не могли бы еще чуть чуть поточнее направить?)
0
silentnuke
Android Programmer
139 / 140 / 10
Регистрация: 08.12.2010
Сообщений: 421
10.05.2012, 00:31 #4
Цитата Сообщение от jumper.leto Посмотреть сообщение
Эм, не могли бы еще чуть чуть поточнее направить?)
куда точнее, оО?
обыкновенная работа с json, в интернете примеров навалом.
получаете ответ от vk, из ответа создаете jsonobject, далее методом get вытаскиваете значение по ключу artist.
1
jumper.leto
1 / 1 / 2
Регистрация: 08.11.2010
Сообщений: 66
10.05.2012, 00:54  [ТС] #5
Сделал так:
Javascript
1
2
3
4
JSONObject  obj;
obj = api.getAudiomy(account.user_id, null, count);
String s = String.valueOf(obj.get("artist"));
tvVkA.setText(s);
Как ни странно, ничего не выдает в TextView;

Добавлено через 7 минут
Данную проблему решил, извиняюсь за торопливость)
Вот если кому понадобится:
Javascript
1
2
3
4
5
6
JSONArray array;
                array = api.getAudiomy(account.user_id, null, count);
                JSONObject  obj = array.getJSONObject(0);
                String res = obj.getString("artist");
                String s = String.valueOf(obj.get("artist"));
                 tvVkA.setText(res);
0
10.05.2012, 00:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.05.2012, 00:54
Привет! Вот еще темы с решениями:

VK api audio.get
Доброй ночи ребят, помогите не пойму в чем проблема не выводятся аудиозаписи??...

Web Audio API
Доброго времени суток. Проблема при воспроизведении звука при помощи Web...

Запуск простой программы с Web Audio API
Выручите плиз кто шарит в Web Audio API. Как запустить этот стандартный скрипт?...

WEB Audio API (MediaElementAudioSource outputs zeroes due to CORS access restrictions for.)
На моем сервере работает apache и icecast2. На апаче работает вебинтерфейс...


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

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

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