1

Android 앱의 온라인 데이터베이스를 관리하는 데 많은 문제가 있습니다. 테이블 사이의 기본적인 관계를 가진 사람의 기본 데이터를 저장하겠습니다. 또한 작은 사진을 저장 하겠지만 일반적으로 문자열과 숫자를 저장합니다.Google Cloud SQL 및 Google Datastore가 포함 된 Android 데이터베이스

I 다운로드하고 어떻게 든 구글의 '모바일 백엔드 스타터 "이해했습니다 https://developers.google.com/cloud/samples/mbs/

을하지만 그 예에 그들은 데이터베이스로 구글 데이터 저장소를 사용하고 난 구글을 수행하는 방법에 대한 예를 찾을 수 없습니다 Cloud SQL. 안드로이드 애플 리케이션에서 데이터베이스와 직접 통신 할 수있는 가능성이 있습니까? 아니면 PHP 웹 서비스를 만들어야합니까? 마치 정규 MySQL 데이터베이스를 사용하고있는 것처럼 말입니다.

SQLite를 사용하는 것만 큼 쉽지는 않을 것이라는 것을 알고 있습니다. 그러나 어디서부터 시작해야할지 모르겠습니다!

감사합니다.

답변

0

모바일 백엔드 스타터는 Cloud SQL을 지원하지 않습니다. the backend을 직접 확장 및 배포하여 Cloud SQL을 사용할 수 있지만 데이터 저장소가있는 MBS를 사용하는 것만 큼 쉽지는 않습니다. 먼저 Datastore를 사용해 보시기를 권합니다.

카즈

1

Emiliosg, 나는 같은 문제에 내가 내 클라우드 SQL 인스턴스에 원시 JDBC 연결을 사용하여 결국 검색 LOT 후 달렸다. 앱에 직접 데이터베이스 통신을 포함시키는 것이 '적절하지 않다'는 말을 들었지만 잘 작동합니다. 물론 아무도 클라우드 엔드 포인트 예제로 나를 안내 할 수는 없습니다.

내 코드가 편리하지 않지만, 다음과 같이 단계는 다음과 같습니다

  1. 로드 표준의 JDBC 드라이버를 등록합니다.
  2. 인스턴스 IP \ instance-name을 사용하여 연결 만들기
  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

이전에 Cloud Endpoints를 사용했습니다. 클라우드 Endpoints API를 만들었습니다.이 API에는 Cloud SQL 데이터베이스에서 작업을 수행 한 메서드가있었습니다.

이것은 Android 앱 내에 Cloud SQL 데이터베이스 연결 자격 증명을 저장하는 것보다 훨씬 안전합니다.

관련 문제