#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); } });
Комментариев нет:
Отправить комментарий