Синхронизация Android без входа - PullRequest
2 голосов
/ 08 мая 2011

Я пытаюсь добавить в приложение функцию синхронизации, которая будет работать так:

Я хочу, чтобы вход в систему был бесплатным, поэтому новая учетная запись не потребуется. Данные будут назначены учетной записи Google, в которой он вошел. На стороне сервера будет база данных mySQL, в которой будут храниться данные пользователя.

Я не нашел полезного учебника. http://code.google.com/p/openmobster/wiki/AndroidSyncApp Этот использует какой-то странный сервлет или что-то еще, и официальный гугл тут очень кратко объяснен.

Может ли кто-нибудь мне помочь?

Я могу представить себе синхронизацию через xml - например, реализовать функцию, которая создаст файл xml из моей базы данных, загрузит его на сервер и проанализирует / поместит в мою онлайн-базу данных.

Это было бы полезно, если бы я только хотел иметь возможность изменять данные на одном конце - телефоне - но тогда это не было бы вызвано синхронизацией, а скорее резервным копированием.

Или, может быть, я мог бы запросить аналогичный XML-файл с сервера. Я думаю, что должна быть возможность отправить какой-то запрос с устройства на сервер, который вызовет функцию, которая создает XML-файл из записей базы данных, а затем загрузит созданный файл, проанализирует его, сравнит с базой данных устройства и обновит базу данных. если какой-либо файл был обновлен (время его «последнего редактирования» было изменено).

Таким образом, в каждом цикле синхронизации я сначала получал XML-файл на стороне сервера, обновлял локальную БД, затем создавал XML-файл из локальной БД, отправлял его на сервер и обновлял онлайн-БД. Только файлы с более поздним временем последнего изменения будут обновлены.

Что вы думаете?

Ответы [ 2 ]

0 голосов
/ 06 января 2012

У меня та же проблема.

В моем случае у меня есть две отдельные части приложения, одна из которых представляет собой общую информацию, а другая - защищенные пользовательские данные.

Мне нужно, чтобы они оба синхронизировались, но общий канал должен синхронизироваться, даже если пользователь не вошел в систему.

Я собираюсь попробовать две вещи:

1) Добавьте синхронизацию, но не запрашивайте токен в AccountManager. Это может пропустить весь запрос на вход в систему.

2) Используйте отдельную службу, которая может активировать и синхронизировать общие данные. (Я подозреваю, что это правильный путь).

0 голосов
/ 08 мая 2011

Просто для связи между приложением и сервером вы можете использовать XML или JSON. Но если вы также хотите записывать в базу данных и / или передавать файлы на / с сервера, вам понадобится что-то с сокетами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...