1

У меня много проблем, чтобы иметь онлайн-базу данных для моего приложения для Android. Я буду хранить некоторые основные данные людей с действительно основными отношениями между таблицами. Кроме того, я сохраню небольшие фотографии, но обычно строки и цифры.База данных Android с Google Cloud SQL и Google Datastore

Я скачал и как-то понял, в Google, «мобильный бэкэнд стартер»: https://developers.google.com/cloud/samples/mbs/

Но в этом примере они используют Google Datastore в качестве базы данных, и я не могу найти пример того, как сделать это с помощью Google Облачный SQL. Есть ли возможность напрямую связываться с базой данных из приложения Android или мне нужно создавать веб-службы PHP, как если бы я использовал обычную базу данных MySQL?

Я знаю, что это будет не так просто, как если бы я использовал SQLite, но я не знаю с чего начать!

Спасибо!

ответ

0

Mobile Backend Starter не поддерживает Cloud SQL. Вы можете использовать Cloud SQL, расширяя и развертывая the backend самостоятельно, но это не так просто, как использование MBS с Datastore. Я бы посоветовал сначала попробовать использовать Datastore.

Kaz

1

Emiliosg, я столкнулся с той же проблемой, и после ЛОТ поиска я в конечном итоге с помощью сырого соединения JDBC для моего экземпляра Cloud SQL. Он работает нормально, хотя мне сказали, что не «правильно» встроить прямую связь с базами данных в ваше приложение. Конечно, никто не может указать мне пример Cloud Endpoint.

Я не мой код под рукой, но шаги заключаются в следующем:

  1. Загрузите зарегистрировать стандартный драйвер JDBC.
  2. Создайте соединение, используя свой экземпляр IP \ имя экземпляра
  3. Обработайте свой SQL как обычно.

Я даже успешно выполнил хранимые процедуры, и я не вижу проблемы с непосредственным связыванием с вашим экземпляром, если вы используете prepareStatement, чтобы избежать инъекции SQL, и вы создали учетную запись пользователя для своего клиентское приложение с минимальными привилегиями.

Вы можете использовать Toad для подключения и управления экземпляром DB.

Дайте мне знать, если вам нужны образцы кода, но это довольно стандартное взаимодействие Java-DB.

+0

@ Emiliosg, я нашел это случайно. Я лично его не пробовал, но, похоже, вы все же можете использовать облачные конечные точки с Cloud SQL. http://stackoverflow.com/questions/15851705/using-google-app-engine-with-jpa-and-cloud-sql-not-returning-any-records-using-e – Fayez

1

Я сделал это раньше с облачными конечными точками. Я создал API Cloud Endpoints, в котором были методы, которые затем выполняли операции с моей облачной базой данных SQL.

Это гораздо безопаснее, чем хранить ваши учетные данные для подключения к базе данных Cloud SQL в вашем приложении для Android.