Как вывести список сообщений в вк. Общался с поддержкой дали доступ к сообщениям, пытаюсь вывести сообщение но ничего не происходит. Я выяснил, он не заходит в метод public void onComplete(VKResponse response). Какие есть пути решения проблемы?
Код для получения сообщения:
Button_update.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
VKRequest request = VKApi.messages().get(VKParameters.from(VKApiConst.COUNT));
Toast.makeText(getApplicationContext(),request.toString(),Toast.LENGTH_LONG).show();
request.executeWithListener(new VKRequest.VKRequestListener() {
@Override
public void onComplete(VKResponse response) {
super.onComplete(response);
VKApiGetMessagesResponse getMessagesResponse = (VKApiGetMessagesResponse) response.parsedModel;
VKList<VKApiMessage> list = getMessagesResponse.items;
ArrayList<String> arrayList = new ArrayList<>();
for(VKApiMessage msg : list){
arrayList.add(msg.body);
}
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(MainActivity.this, android.R.layout.simple_expandable_list_item_1,arrayList);
List_message.setAdapter(arrayAdapter);
}
});
}
});
Код всего приложения:
private String[] score = new String[]{VKScope.FRIENDS, VKScope.MESSAGES};
ListView List_message;
Button Button_update;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iniciailzation_components();
VKSdk.login(this, score);
Button_update.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
VKRequest request = VKApi.messages().get(VKParameters.from(VKApiConst.COUNT));
//Toast.makeText(getApplicationContext(),request.toString(),Toast.LENGTH_LONG).show();
request.executeWithListener(new VKRequest.VKRequestListener() {
@Override
public void onComplete(VKResponse response) {
super.onComplete(response);
VKApiGetMessagesResponse getMessagesResponse = (VKApiGetMessagesResponse) response.parsedModel;
VKList<VKApiMessage> list = getMessagesResponse.items;
ArrayList<String> arrayList = new ArrayList<>();
for(VKApiMessage msg : list){
arrayList.add(msg.body);
}
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(MainActivity.this, android.R.layout.simple_expandable_list_item_1,arrayList);
List_message.setAdapter(arrayAdapter);
}
});
}
});
}
private void iniciailzation_components(){
List_message = findViewById(R.id.List_message);
Button_update = findViewById(R.id.Button_update);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (!VKSdk.onActivityResult(requestCode, resultCode, data, new VKCallback<VKAccessToken>() {
@Override
// Пользователь успешно авторизовался
public void onResult(VKAccessToken res) {
// Вывод списка друзей
VKRequest request = VKApi.friends().get(VKParameters.from(VKApiConst.FIELDS, "first_name, last_name"));
request.executeWithListener(new VKRequest.VKRequestListener() {
@Override
public void onComplete(VKResponse response) {
super.onComplete(response);
VKList list = (VKList) response.parsedModel;
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_expandable_list_item_1,list);
List_message.setAdapter(arrayAdapter);
}
});
Toast.makeText(getApplicationContext(),"Good",Toast.LENGTH_LONG).show();
}
@Override
// Произошла ошибка авторизации (например, пользователь запретил авторизацию)
public void onError(VKError error) {
Toast.makeText(getApplicationContext(),"Error",Toast.LENGTH_LONG).show();
}
})) {
super.onActivityResult(requestCode, resultCode, data);
}
}
}
1.) Добавьте метод onError()
. И в нём сможете увидеть свою ошибку.
@Override
public void onComplete(VKResponse response) {
super.onComplete(response);
}
@Override
public void onError(VKError error) {
super.onError(error);
}
2.) У вас ошибка в том, что вы хотите получить список сообщений не тем методом, который нужен. Вам нужен messages.getDialogs
. На настоящий момент: messages.getConversations
.
3.) Так как пользуетесь старым API, то советую делать запросы таким образом:
new VKRequest("messages.getConversations", VKParameters.from(
VKApiConst.COUNT, 20))
.executeWithListener(new VKRequest.VKRequestListener() {
@Override
public void onComplete(VKResponse response) {
super.onComplete(response);
}
@Override
public void onError(VKError error) {
super.onError(error);
}
});
Виртуальный выделенный сервер (VDS) становится отличным выбором
Тренируюсь в создании парсера, работающего в приложении android и умеющего взаимодействовать с разбираемым сайтомНе могу понять как сделать...
Пытаюсь внедрять сценарии Ruby в spring из книги springinaction,бросает исключение в xml файле, наверное как-то не так сделал расположение файлов или еще...
В Eclipse все компилируется, а вот когда я запаковалjar файл, он вообще не открывается