2016-07-26 3 views
0

Кто-нибудь знает, возможно ли программно очистить все данные в таблице Backendless сразу? Я нашел эту статью, которая показывает, как удалять отдельные объекты по одному, но ничего не происходит при очистке всей таблицы: https://backendless.com/documentation/data/android/data_deleting_data_objects.htmBackendless - Таблицы для очистки

Я выяснил, как это сделать, но я не знаю, насколько это эффективно. В принципе, у меня есть класс под названием LocalPhoneNum, который составляет объекты, которые будут сохранены в моей таблице приложений. Класс содержит идентификатор пользователя, имя и номер телефона. Я запрашиваю таблицу, чтобы найти пользователя с определенным адресом электронной почты (прямо сейчас есть только один пользователь), а затем используйте переменную foundContacts в цикле для удаления каждого объекта по одному.

String whereClause = "userEmailID = mark"; 
    BackendlessDataQuery dataQuery = new BackendlessDataQuery(); 
    dataQuery.setWhereClause(whereClause); 

    Backendless.Persistence.of(LocalPhoneNum.class).find(dataQuery, new AsyncCallback<BackendlessCollection<LocalPhoneNum>>(){ 
     @Override 
     public void handleResponse(BackendlessCollection<LocalPhoneNum> foundContacts) 
     { 
      for (LocalPhoneNum temp : foundContacts.getData()){ 
       Backendless.Persistence.of(LocalPhoneNum.class).remove(temp, new AsyncCallback<Long>() 
       { 
        public void handleResponse(Long response) 
        { 
         Toast.makeText(getActivity(), "DELETED", Toast.LENGTH_LONG).show(); 
        } 
        public void handleFault(BackendlessFault fault) 
        { 
         Toast.makeText(getActivity(), "NOT DELETED "+fault, Toast.LENGTH_LONG).show(); 
        } 
       }); 
      } 

Пожалуйста, дайте мне знать, если есть лучшее решение или если это нормально. Спасибо!

ответ

0

Используйте «массовое удаление» операцию с «где» запросом как «ObjectId не равно нуля»: https://backendless.com/documentation/data/rest/data_deleting_data_objects.htm

+0

Я не могу показаться, чтобы найти быстрое решение для Android. Я добавил код на мой вопрос выше, который, кажется, решает проблему. Пожалуйста, дайте мне знать, если это эффективно или есть другое решение. Спасибо! –

+0

(Эффективно) удаление нескольких записей одним запросом возможно только с помощью REST API. Этот API называется «массовым удалением», см. Страницу, на которую я связан в своем ответе, и поиск там «массового удаления». Код, который вы опубликовали, будет работать, но он очень неэффективен, так как он делает запрос для каждого объекта. При удалении массовой информации выполняется только один запрос. –

+0

Есть ли примеры использования этого в Android Studio? Я просто не уверен, как это будет реализовано в приложении? –

Смежные вопросы