Flutter
...
Parse SDK (REST)
Data Objects

Flutter를 사용한 Parse 데이터 핸들링 가이드

18min

이 가이드는 Flutter에서 Parse 데이터 유형을 소개하며, main.dart 파일의 예제를 사용합니다. Parse 데이터 저장소는 ParseObject를 중심으로 하며, 이는 JSON 호환 데이터의 키-값 쌍을 포함하고 있어 스키마가 없습니다. 이는 사전 정의된 스키마 없이도 데이터를 저장할 수 있음을 의미합니다.

원하는 키-값 쌍을 설정할 수 있으며, 우리의 백엔드는 이를 저장합니다.

예를 들어, 게임의 최고 점수를 추적한다고 가정해 보겠습니다. 단일 Parse 객체는 다음을 포함할 수 있습니다:

점수: 1337, 플레이어 이름: "Sean Plott", 치트 모드: false

코드 가독성과 유지 관리를 향상시키기 위해 NameYourClassesLikeThisnameYourKeysLikeThis를 사용하는 것을 권장합니다.

우리 앱 이해하기

Back4app을 더 잘 이해하기 위해, 주요 지원 데이터 유형과 함께 Flutter 애플리케이션에서 Parse 작업의 코드 예제를 살펴보겠습니다. 이 가이드는 Parse와 Flutter를 사용하는 데 초점을 맞추기 때문에 Flutter 앱 코드에 대한 설명은 포함되지 않습니다.

전제 조건

이 튜토리얼을 완료하려면 다음이 필요합니다:

1 - 파스 객체 작업하기

각 ParseObject는 서로 다른 데이터 유형을 구분하는 데 사용되는 클래스 이름(예: GamePoint)을 가지고 있습니다. 다음은 데이터 유형으로 새 Parse 객체를 생성하고 저장하는 방법입니다 문자열, 정수, & 부울:

Dart


새로운 Parse 객체를 쿼리하고 데이터 유형을 검색하려면:

Dart


2 - 카운터

ParseObject에서 정수 필드를 증가시키거나 감소시키려면 set() 메서드를 사용하세요.

하지만, 이것은 효과적이지 않으며 여러 클라이언트가 동일한 카운터를 업데이트하려고 할 경우 문제를 일으킬 수 있습니다. Parse는 카운터 유형 데이터를 저장하기 위해 자동으로 모든 숫자 필드를 증가 및 감소시키는 두 가지 방법을 제공합니다.

setIncrement()

setDecrement()

카운터 int 값을 증가시키는 업데이트는 다음과 같이 작성됩니다:

Dart


감소시키려면:

Dart


setIncrement()setDecrement()save() 호출과 함께 사용하면 여러 필드를 수정할 수 있는 더 큰 저장 작업의 일환으로 값을 업데이트할 수 있습니다. 이는 추가 네트워크 요청을 피하는 데 더 좋습니다.

3 - 목록

Parse는 setAdd, setAddUnique, setRemove, 및 해당 모두 버전을 포함하여 목록 데이터 작업을 위한 메서드를 제공합니다.

목록: ["a","b","c"]

3.1 - setAdd

Dart


결과: ["a","b","c","d"]

3.2 - setAddAll

Dart


결과: ["a","b","c","d","e","f"]

setAddAll는 목록에 이미 포함된 중복 요소를 추가하지 않습니다.

3.3 - setAddUnique

Dart


결과: ["a","b","c","d","e","f","g"]

3.4 - setRemove

Dart


결과: ["a","b","c","e","f","g"]

4 - ParseObject에서 필드 제거

객체에서 단일 필드를 삭제하려면 unset 작업을 사용하십시오:

Dart


5 - 파일

ParseFile을 사용하면 클라우드에서 애플리케이션 파일을 저장하고 검색할 수 있습니다. 아래는 로컬 이미지 파일을 Back4App에 업로드하는 기본 예제입니다:

Dart


이 코드 조각은 이미지 파일을 검색하는 방법을 보여줍니다:

Dart


Parse Server 5.2.3부터는 파일 업로드 시 오류를 유발할 수 있는 변경 사항이 있습니다. 이 가이드를 따라 업로드 문제를 해결하십시오.

나중에 가이드에서 Parse로 파일을 저장하고 표시하는 방법에 대해 더 논의하고 템플릿을 보여줄 것입니다.

6 - GeoPoint

Parse는 객체와 함께 실제 세계의 위도 및 경도 좌표를 GeoPoint 데이터 유형으로 연결할 수 있도록 합니다. ParseObject에 ParseGeoPoint를 추가하면 객체가 기준점에 얼마나 가까운지를 고려하는 쿼리를 가능하게 합니다.

예:

Dart


Geopoint 위치를 저장하는 독립 실행형 예제를 이 main.dart 파일에서 찾을 수 있습니다.

전체 앱 예제

이 예제는 다음을 보여줍니다:

  • 생성, 삭제 및 업데이트 GamePoint Parse 객체.
  • 문자열, 더블, 불리언, 파일, 지리적 포인트, 목록 및 날짜를 포함한 다양한 데이터 유형을 처리합니다.

iOS에서는 시뮬레이터에 필요한 접근 권한을 부여해야 합니다.

  • iOS는 보호된 리소스에 대한 개발자 가이드를 제공합니다. 이 가이드의 예제 애플리케이션은 위치사진 권한 키가 필요합니다. 해당 키를 Info.plist 파일에 추가하세요. 이 파일은 /ios/Runner/Info.plist:

웹에서 Flutter 앱을 실행하는 경우 위 단계를 건너뛸 수 있습니다:

Dart


이 코드는 Flutter에서 Parse SDK를 초기화하고, 주요 애플리케이션을 설정하며, 제목이 있는 간단한 홈 페이지를 표시합니다.

결론

이 가이드에서는 ParseObjects와 Parse에서 사용할 수 있는 다양한 데이터 유형에 대해 배웠습니다. 또한 back4app 백엔드에서 데이터 유형을 저장하고 검색하는 작업을 처리하는 방법도 배웠습니다.