Страницы

Поиск по вопросам

воскресенье, 5 января 2020 г.

Как получить список аудиозаписей с помощью VK SDK на Android?

#android #java #vkontakte_api


Сабж. Вместе с VK SDK поставлялся тестовый проект. В нём на примерах пытался получить
список аудиозаписей. Укажите на ошибки, что я делаю не так?
P.S. Авторизовался. В скоупы определил доступ к аудиозаписям.
VKRequest requestaudio = new VKRequest("audio.get",     VKParameters.from(VKApiConst.OWNER_ID,
"1", VKApiConst.COUNT, "3"));
                requestaudio.executeWithListener(new VKRequestListener() {
                    @Override
                    public void onComplete(VKResponse response) {
                        super.onComplete(response);
                    }
                    @Override
                    public void onError(VKError error) {
                        super.onError(error);
                    }
                });
    


Ответы

Ответ 1



А где запускаешь этот код? Я запустил в Activity в onCreate. все работает. VKParameters params = new VKParameters(); params.put(VKApiConst.OWNER_ID, "1"); params.put(VKApiConst.COUNT, "3"); requestaudio= new VKRequest("audio.get",params); requestaudio.executeWithListener(new VKRequest.VKRequestListener() { @Override public void onComplete(VKResponse response) { super.onComplete(response); } @Override public void onError(VKError error) { super.onError(error); } });

Ответ 2



Вот код, который позволяет получить свои аудиозаписи начиная с "m_nOffset" и заканчивая "m_nOffset+m_nCount". В результате с помощью Vk SDK преобразуем response в VKList, а сним работаем как с обычным листом и получаем все нужные нам даные. VKParameters params = new VKParameters(); params.put(VKApiConst.OFFSET, m_nOffset); params.put(VKApiConst.COUNT, m_nCount); VKRequest requestAudio = VKApi.audio().get(params); requestAudio.executeWithListener(new VKRequest.VKRequestListener() { @Override public void onComplete(VKResponse response) { super.onComplete(response); for(int i = 0;i<((VKList)response.parsedModel).size();i++){ VKApiAudio vkApiAudio = ((VKList)response.parsedModel).get(i); AudioFileData audioFileData = new AudioFileData(); audioFileData.setArtist(vkApiAudio.artist); audioFileData.setTitle(vkApiAudio.title); audioFileData.setDuration(vkApiAudio.duration); audioFileData.setId(vkApiAudio.id); audioFileData.setIdLyrics(vkApiAudio.lyrics_id); audioFileData.setUrl(vkApiAudio.url); audioFileDataArrayList.add(audioFileData); } mAudioRecyclerViewAdapter = new AudioRecyclerViewAdapter(audioFileDataArrayList,m_tvPlayingTitle); mRecyclerView.setAdapter(mAudioRecyclerViewAdapter); mAudioRecyclerViewAdapter.notifyDataSetChanged(); } @Override public void attemptFailed(VKRequest request, int attemptNumber, int totalAttempts) { super.attemptFailed(request, attemptNumber, totalAttempts); } @Override public void onError(VKError error) { super.onError(error); } @Override public void onProgress(VKRequest.VKProgressType progressType, long bytesLoaded, long bytesTotal) { super.onProgress(progressType, bytesLoaded, bytesTotal); } });

Комментариев нет:

Отправить комментарий