2015-08-31 1 views
0

Я использую PARSE в качестве backend для моего приложения для Android, поэтому я хочу знать, используя API REST и разбор данных JSON лучше, чем запрос к базе данных в фоновом режиме.Parse Запрос базы данных в фоновом режиме или Parse REST API, который лучше?

Я хочу знать преимущества одного над другим?

В моем случае я бы использовал его для запроса большого количества данных для извлечения нескольких сообщений (гетерогенных) данных, и я ищу быстрое и эффективное решение, чтобы было лучше?

Обнаружили это question, что смутило меня дальше.

ответ

0

Я не был на 100% уверен, поэтому я посмотрел на код, и мои предположения были в значительной степени верны.

Вот несколько фрагментов кода из API-интерфейса Parse Android.

Когда вы пошли, чтобы сохранить файл:

... 
final ParseRESTFileCommand command1 = ParseRESTFileCommand.uploadFileCommand(fileName, ParseFile.this.data, mimeType, sessionToken); 
command1.enableRetrying(); 
tcs.getTask().continueWith(new Continuation() { 
    public Void then(Task<Void> task) throws Exception { 
     if(task.isCancelled()) { 
      command1.cancel(); 
     } 

     return null; 
    } 
}); 
... 

Если вы хотите запустить облако код:

public static <T> Task<T> callFunctionInBackground(final String name, final Map<String, ?> params) { 
     return ParseUser.getCurrentSessionTokenAsync().onSuccessTask(new Continuation() { 
      public Task<T> then(Task<String> task) throws Exception { 
       String sessionToken = (String)task.getResult(); 
       ParseRESTCloudCommand command = ParseRESTCloudCommand.callFunctionCommand(name, params, sessionToken); 
       return command.executeAsync().onSuccess(new Continuation() { 
        public T then(Task<Object> task) throws Exception { 
         Object result = ParseCloud.convertCloudResponse(task.getResult()); 
         return result; 
        } 
       }); 
      } 
     }); 
    } 

В обоих случаях Анализировать делает вызовы REST API в фоновом режиме для вас. Большая разница в том, что Parse сделал так ТАК, что намного проще читать, сделав абстрагированную версию всех команд REST. И хотя я не профилировал фактические разницы скорости, чтобы дать вам количественный ответ. Я могу заверить вас, что выбор чистого REST API через API Android на минутку (если есть) улучшен, является ярким примером premature optimization.

+0

Вы имеете в виду Parse Queries, такие как query.findInBackground и т. Д. Использовать обратные вызовы REST API в фоновом режиме? Так я должен напрямую использовать службы REST, чем запрашивать базу данных в фоновом режиме? –

+0

Я не думаю, что вы это поняли. Это одно и то же. Прямые звонки REST очень уродливы и сложны для кодирования. Parse разработал различные API-интерфейсы платформы, которые позволяют легко читать и понимать разные вызовы. Если вы находитесь на Android, вы должны следовать этому руководству (https://parse.com/apps/quickstart#parse_data) и этому руководству (https://parse.com/docs/android/guide). –

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