카우치베이스 모바일

Couchbase로 모바일 애플리케이션 구축 - 2부

여러 파트로 구성된 이 블로그는 Couchbase Lite의 업계 최고의 기능을 사용하여 엔드투엔드 모바일 애플리케이션을 구축하는 데 도움이 됩니다. 최첨단 엔드투엔드 확장 가능한 프로덕션급 애플리케이션에는 다음과 같은 기능이 포함되어 있습니다:

    1. 임베디드 데이터베이스 - 데이터를 로컬에 저장하면 디바이스의 모든 활동에 대해 중앙 집중식 데이터베이스로의 네트워크 이동이 줄어듭니다. 이는 사용자 경험을 개선하는 데 큰 도움이 됩니다.
    2. 다른 피어 모바일 장치 및 중앙 집중식 서버와 동기화합니다. 
    3. 고급 분석 기능, 전체 텍스트 검색 및 기기에서 머신 러닝을 지원합니다.

다루어야 할 내용이 많기 때문에 이 프로젝트를 세 부분으로 나누었습니다. 1부에서는 모바일 애플리케이션을 구축하는 프로세스를 소개합니다. 를 활용하여 데이터를 저장하는 임베디드 데이터베이스로 사용합니다. 2부(이 게시물)에서는 디바이스에서 전체 텍스트 검색(FTS)을 실행하는 방법을 설명합니다. 3부에서는 피어 및 중앙 집중식 Couchbase 서버와 데이터를 동기화하는 프로세스를 소개합니다.

카우치베이스 모바일이란 무엇인가요? 

Couchbase는 수상 경력에 빛나는 분산형 NoSQL 클라우드 데이터베이스입니다. 클라우드, 온프레미스, 하이브리드, 분산 클라우드, 엣지 컴퓨팅 배포 전반에 걸쳐 탁월한 다목적성, 성능, 확장성, 재무적 가치를 제공합니다.

모바일/엣지 배포는 카우치베이스 모바일이 다루는 디지털 에코시스템의 필수적인 부분입니다. 카우치베이스 모바일 포함:

    1. 엣지 디바이스용 임베디드 Couchbase Lite 데이터베이스
    2. 피어 투 피어 및 중앙 집중식 서버 동기화를 위한 고성능 동기화 게이트웨이
    3. 카우치베이스 서버 기반의 엣지 데이터센터는 클라우드, 온프레미스 또는 로컬 엣지 데이터센터에 배포할 수 있습니다.
Couchbase Mobile architectural diagram모바일 애플리케이션 개요

이 데모 애플리케이션의 코드는 나의 카우치베이스 모바일 GitHub 리포지토리. 파일 다운로드 Rateit.zip 를 클릭하고 로컬 폴더에 파일을 추출합니다.

또는 이 블로그의 지침에 따라 처음부터 앱을 빌드할 수도 있습니다.

앱의 기능은 세 부분으로 나뉩니다. 

    1. 평점 요청 보내기
    2. 다른 사람의 평가 요청 받기
    3. 다른 사용자로부터 반환된 평점 요청 보기

앱의 다양한 구성 요소에 대해 자세히 알아보려면 다음을 참조하세요. 파트 1, 등급 요청을 주고받는 곳입니다.

전체 텍스트 검색 추가

이 예제에서는 간단한 검색 버튼과 사용자 입력을 받아 관련 결과를 표시하는 반전 인덱스(검색 시스템에서 사용)를 추가하는 코드를 추가합니다.

Building a mobile NoSQL app - screenshot with full-text search added

시작하기: CBLite 문서 검토

다음 내용을 검토하세요. 문서 를 참조하여 Couchbase Lite 데이터베이스 애플리케이션의 다양한 구성 요소를 이해합니다. 애플리케이션이 처음 호출될 때 이 앱에 대한 새로운 데이터베이스를 생성합니다. 또는 앱에서 미리 빌드된 데이터베이스를 사용할 수도 있습니다.

데이터베이스를 임베드하는 단계는 다음과 같습니다. 카우치베이스 라이트 문서. 각 섹션을 검토하여 학습하세요:

    • 데이터베이스 생성 및 열기
    • 임베디드 데이터베이스에 문서 작성
    • 문서 검색을 위한 쿼리 작성
    • 문서 만료 또는 삭제
    • 전체 텍스트 검색 색인 구축 
    • FTS 검색 표현식 만들기
    • 검색 표현식을 포함하는 쿼리를 만듭니다.
앱 구축 전제 조건

이 앱은 다음 소프트웨어 및 하드웨어 사전 요구 사항을 사용하여 Android 기기용으로 제작되었으므로 주의해야 합니다:

    1. Android Studio로 앱을 빌드하고 Java로 프로그래밍하는 기본 사항을 이해해야 합니다.
    2. 이 데모 앱과 관련 스크린샷은 macOS 컴퓨터에서 앱을 빌드한 결과물입니다.
    3. 사용 (무료) 안드로이드 스튜디오 2020.3 를 사용하여 Android 기기용 모바일 앱을 구축할 수 있습니다. 
    4. 카우치베이스 라이트 버전 3.0.0-beta02가 사용됩니다. 필요한 라이브러리는 코드에 내장되어 있으므로 데스크톱에 소프트웨어를 수동으로 다운로드할 필요가 없습니다.

레이아웃 이해

레이아웃 파일은 모바일 애플리케이션 화면을 설명하는 XML 파일입니다. 예를 들어 activity_main.xml 에는 보내기, 메시지, 주제 필드에 수신 및 수신 요청을 표시하는 두 개의 목록 보기를 추가할 수 있습니다. 

또한 다음과 같은 경우 어떤 함수를 호출할지 정의합니다. 등급 요청을 보내려면 클릭하세요., 등급 요청 수신 그리고 수신 등급 요청 버튼을 누릅니다. XML 코드는 수동으로 작성하거나 속성을 설정하여 자동으로 생성할 수 있습니다. 속성 섹션으로 이동합니다. 여기에서는 레이아웃 중앙에 검색 입력을 추가합니다:

Building an app with Couchbase Lite on Android with text search

코드 검토하기 

애플리케이션에 검색 로직을 추가하기 위해 업데이트하는 하나의 코드 파일인 Mainactivity.java가 있습니다.

찾기 Mainactivity.java 아래 자바 -> com.example.rateit 폴더를 열고 클래스 안에 다음 코드를 붙여넣습니다. 주요 활동. 새 코드는 파트 1의 이전 예제에 추가되었으며, 아래 8줄과 12~27줄에 있습니다:

그리고 받은 데이터 함수는 다음과 같은 경우에 활성화됩니다. 등급 요청 수신 을 클릭합니다. 로컬 데이터베이스에 대한 쿼리를 실행하여 기록을 가져와서 받은 모든 평점 요청을 표시합니다. 

등급을 입력하면 등급이 포함된 JSON 레코드가 생성됩니다. 평가가 요금 버튼을 클릭하면 데이터베이스에 문서 유형이 정격. 만약 삭제 버튼을 클릭하면 문서의 유효 기간을 설정하여 기록이 삭제됩니다(TTL)가 만료됩니다.

새 코드 섹션은 다음과 같이 작동합니다:

    1. 먼저 데이터베이스 파일이 존재하지 않는 경우 앱에 처음 진입했음을 나타내는 FTS 인덱스를 추가합니다.
    2. 사용자가 검색 문자열을 입력하면 검색 표현식을 작성합니다.
    3. 검색 표현식을 사용하여 쿼리를 작성하고 실행합니다.

레이아웃 구성하기

다음 코드를 추가해야 합니다. activity_main.xml. 검색 버튼과 해당 레이블을 추가합니다:

코드 컴파일하기 

모든 코드가 업데이트되면 빌드 → 프로젝트 다시 빌드. 성공하면 빌드 → 실행.

앱을 처음 실행할 때 에뮬레이터를 선택하라는 메시지가 표시됩니다(예: 저처럼 NEXUS 5X API 25를 선택). 실행이 완료되면 메인 페이지는 다음과 같이 표시됩니다:

Building a mobile NoSQL app - screenshot with full-text search added

이제 선택한 에뮬레이터에 코드를 성공적으로 배포했습니다. 사용자가 URL 문자열의 일부를 입력하면 관련 결과가 표시됩니다.

다음 단계

이번 글은 블로그 시리즈의 두 번째 파트입니다, Couchbase로 모바일 애플리케이션 구축는 완벽한 엔드투엔드 모바일 솔루션에 중점을 두고 있습니다. 첫 번째 파트에서는 임베디드 Couchbase Lite 데이터베이스를 사용하여 장치에 로컬로 저장된 문서를 저장, 검색 및 삭제하는 앱을 만드는 방법을 보여주었습니다. 

2부에서는 텍스트 기반 검색 기능을 추가했으며, 이 시리즈의 마지막 3부에서는 피어 투 피어 동기화 및 중앙 데이터베이스에 동기화 기능을 추가할 예정입니다.

이 게시물에 참조된 주요 리소스에는 다음이 포함됩니다:

 

이 문서 공유하기
받은 편지함에서 카우치베이스 블로그 업데이트 받기
이 필드는 필수 입력 사항입니다.

작성자

게시자 Sandhya Krishnamurthy, 선임 솔루션 엔지니어, Couchbase

산디아 크리슈나무르티는 데이터베이스 개발 배경과 사전 영업 경험이 풍부한 기술 전문가입니다. 그녀는 파트타임 아티스트, 파트타임 가수, 풀타임 엄마이기도 합니다.

댓글 남기기

카우치베이스 카펠라를 시작할 준비가 되셨나요?

구축 시작

개발자 포털에서 NoSQL을 살펴보고, 리소스를 찾아보고, 튜토리얼을 시작하세요.

카펠라 무료 사용

클릭 몇 번으로 Couchbase를 직접 체험해 보세요. Capella DBaaS는 가장 쉽고 빠르게 시작할 수 있는 방법입니다.

연락하기

카우치베이스 제품에 대해 자세히 알고 싶으신가요? 저희가 도와드리겠습니다.