이 예는 간단한 안드로이드 애플리케이션 사용자가 평점 및 이름 속성이 있는 리뷰를 Couchbase Lite 데이터베이스에 저장할 수 있습니다. 이 예시에서는 TabLayout 및 ViewPager 컴포넌트를 사용하여 각각 별도의 탭에 있는 세 가지 시나리오를 보여줍니다.

고유(첫 번째 탭): 그리고 _id 필드는 카우치베이스 라이트에서 임의로 생성됩니다. 매번 새 문서가 데이터베이스에 유지됩니다. 저장 버튼을 누릅니다. 저장된 문서는 다음과 같은 속성을 갖습니다:

충돌(두 번째 탭): 그리고 _id 필드는 사용자가 텍스트 입력란에 입력한 값으로 설정됩니다. 를 누르면 저장 은 새 문서를 데이터베이스에 유지하거나 이 ID로 이미 존재하는 문서가 있는 경우 업데이트합니다.

P2P(세 번째 탭): 텍스트 입력 필드에는 다음과 같은 형식의 대상 Couchbase Lite 또는 동기화 게이트웨이 데이터베이스의 URL을 입력합니다. http://{IP}:55000/ratingapp.

뷰 호출기 아래에는 스위치 토글 버튼을 사용하여 원격 데이터베이스로의 연속 풀/푸시 복제를 시작/중지할 수 있습니다. 일반적으로 클라우드에서 실행 중인 동기화 게이트웨이의 URL입니다. 원격 URL은 다음에서 변경할 수 있습니다. StorageManager.java 를 동기화 게이트웨이 인스턴스에 추가합니다(아래 섹션에서 Couchbase 서버 및 동기화 게이트웨이 배포하기 참조).

마지막으로 화면 하단에 다음을 표시하는 표가 있습니다:

첫 번째 탭에는 가능한 각 값에 대한 리뷰 수가 표시됩니다. 그룹 수준을 1로 설정한 쿼리를 사용하여 동일한 등급의 문서를 집계하고 축소 기능을 사용하여 개수를 계산합니다.

뷰를 등록하는 코드는 StorageManager.java:

두 번째 및 세 번째 탭에는 문서의 충돌하는 수정본 수가 표시됩니다. 충돌하는 수정본의 수만 표시되지만, 충돌하는 수정본을 해결하려면 database.getDocument({id}).getConflictingRevisions() 메서드를 사용합니다.

동기화 게이트웨이 및 카우치베이스 서버 배포하기

이 애플리케이션에 대한 새 동기화 게이트웨이 및 Couchbase 서버 인스턴스를 Tutum으로 배포합니다. Tutum.co에서 로그인하거나 새 계정을 만든 다음 이를 PaaS 계정(Digital Ocean, AWS...)에 연결합니다. 에서 노드 탭에서 새 노드를 생성하고 원하는 PaaS를 선택합니다. 노드에서 태그 필드에 평가 앱그런 다음 스택 탭으로 투툼 파일 를 클릭하고 생성을 클릭합니다. 이 스택에는 카우치베이스 서버 컨테이너와 연결된 동기화 게이트웨이 컨테이너가 포함되어 있습니다.참고: 동기화 게이트웨이 컨테이너가 존재하지 않는 Couchbase Server 버킷에 연결하려고 하기 때문에 실행에 실패합니다. Couchbase Server가 배포되고 다음에서 관리자 콘솔에 연결할 수 있게 되려면 몇 분 정도 걸릴 수 있습니다. http://{IP}:8091. 연결이 가능하면 계정과 다음과 같은 버킷을 만듭니다. 기본값 (동기화 게이트웨이 구성 파일은 버킷의 이름을 다음과 같이 지정합니다. 기본값). 버킷이 생성되면 다시 Tutum 서비스 탭을 클릭하고 동기화 게이트웨이 컨테이너를 다시 시작(또는 실행 버튼을 눌러 중지해야 합니다).

데이터베이스에서 모든 문서 제거하기

사용 delete-documents/delete.js 스크립트를 사용하여 특정 데이터베이스의 모든 문서를 제거할 수 있습니다. Couchbase Lite 또는 Sync Gateway 데이터베이스가 될 수 있습니다. 스크립트에서 호스트 이름을 문서를 삭제하려는 대상 데이터베이스 중 하나로 바꿉니다.

작성자

게시자 제임스 노센티니, 모바일 테크니컬 라이터, Couchbase

제임스 노센티니는 카우치베이스 모바일의 문서를 담당하는 테크니컬 라이터입니다. 이전에는 개발자 지원 담당자로 일했으며 그 전에는 HouseTrip의 프론트엔드 개발자로 일했습니다. 또한 여가 시간에는 raywenderlich.com에 안드로이드 튜토리얼을 작성하는 것을 즐깁니다.

댓글 남기기