Docs Menu
Docs Home
/ /
Atlas Device SDK
/

Realm 파일 열기

이 페이지의 내용

  • 개요
  • 로컬 Realm 파일 열기
  • Realm 파일 찾기
  • CSV에서 생성하기
  • CSV에서 Realm 생성 옵션 찾아보기
  • CSV 열기
  • 가져온 데이터를 저장할 위치 선택
  • 영역에 더 많은 데이터 추가
  • 예시 다운로드
  • Realm 파일을 여는 중 오류가 발생했습니다.

클라이언트 애플리케이션을 실행하여 만든 로컬 영역 파일이 있는 경우 Realm Studio에서 열 수 있습니다.

영역 파일이 없다면 CSV를 가져와서 생성하거나 데모 파일을 다운로드할 수 있습니다.

Realm Studio에서 로컬 영역 파일을 열고 탐색할 수 있습니다. 이 파일은 로컬 컴퓨터에서 에뮬레이터를 실행하여 생성된 파일이거나 다른 소스의 파일일 수 있습니다. 일부 개발 도구에서는 에뮬레이터가 실행되는 동안 영역 파일을 보고 편집할 수도 있습니다. 이 워크플로는 객체 및 스키마 변경을 위한 빠르고 간단한 반복을 지원합니다.

Realm은 모든 객체와 유형의 바이너리 인코딩 버전을 단일 영역 파일에 저장합니다. 파일은 영역을 열 때 정의한 특정 경로에 있습니다.

기본 영역 파일 경로를 찾으려면 다음을 수행하세요.

// Get on-disk location of the default Realm
let realm = try! Realm()
print("Realm is located at:", realm.configuration.fileURL!)
// Open a realm.
const realm = await Realm.open({
schema: [Car],
});
// Get on-disk location of the Realm
const realmFileLocation = realm.path;
console.log(`Realm file is located at: ${realm.path}`);

Android 에뮬레이터에서 사용하는 파일 시스템은 Realm Studio 실행 하는 시스템에서 직접 액세스할 수 없습니다. 파일에 액세스 하려면 먼저 에뮬레이터에서 파일 을 다운로드 해야 합니다.

먼저 에뮬레이터에서 파일 의 경로를 찾습니다.

// Run this on the device to find the path on the emulator
Realm realm = Realm.getDefaultInstance();
Log.i("Realm", realm.getPath());

그런 다음 ADB를 사용하여 파일 을 다운로드 합니다. 앱 이 실행 동안 이 작업을 수행할 수 있습니다.

> adb pull <path>

ADB를 사용하여 수정된 파일을 다시 업로드할 수도 있지만 이는 앱이 실행되고 있지 않을 때만 가능합니다. 앱이 실행되는 동안 수정된 파일을 업로드하면 파일이 손상될 수 있습니다.

> adb push <file> <path>
var realm = Realm.GetInstance();
Console.WriteLine($"Realm is located at: {realm.Config.DatabasePath}");
// Get on-disk location of the default Realm
final storagePath = Configuration.defaultStoragePath;
// See value in your application
print(storagePath);
config = SyncConfiguration.Builder(user, setOf(Item::class))
.initialSubscriptions { realm ->
add(
realm.query<Item>(
"owner_id == $0",
realmApp.currentUser!!.identity
),
"User's Items"
)
}
.build()
// Log on-disk location of the realm file
Log.v("My Tag", "Realm Path: ${config.path}")

로컬 영역 파일의 위치를 알면 Open Realm file 대화 상자에서 해당 위치를 찾을 수 있습니다.

참고

숨겨진 경로에 있는 파일

MacOS에서 Xcode 에뮬레이터 파일의 기본 위치는 ~/Library 폴더 아래에 있습니다. 기본적으로 이 디렉토리는 숨겨진 디렉터리입니다. Open Realm file 대화 상자에서는 이 위치를 찾지 못할 수도 있습니다.

Finder에서 Go to Folder와(과) 같은 다른 기술을 사용하여 파일을 보고 거기에서 영역을 엽니다.

로컬 영역 파일이 없는 경우 영역 Studio에서 CSV로 만들 수 있습니다.

CSV로 영역을 만들면 Realm Studio에서 이러한 세부 정보를 유추합니다.

  • CSV의 이름은 영역 파일에서 클래스 이름이 됩니다.

  • CSV의 첫 번째 행은 영역의 클래스 속성 이름이 됩니다.

  • 각 열의 값은 클래스 속성 형식을 형성합니다. 'True' 및 'False' 값의 열은 부울 속성 형식이 됩니다. 정수로 구성된 열은 정수 속성 형식이 되는 식입니다. Realm Studio에서 속성 유형을 확인할 수 없는 경우 문자열이 됩니다.

예를 들어 다음 형식을 사용하는 data.csv(이)라는 CSV는 다음과 같습니다.

1device,number,flag
2gizmo,1,TRUE
3widget,2,FALSE

세 가지 속성을 가진 data(이)라는 클래스 모델이 됩니다.

  • device유형을 가진 string

  • number유형을 가진 int

  • flag유형을 가진 bool

1

Realm Studio에서 File > Create Realm from > CSV(으)로 이동합니다.

2

CSV 파일의 위치를 찾아 선택합니다.

Open 버튼을 누릅니다.

3

CSV에서 생성할 영역 파일의 이름을 입력합니다.

저장하려는 위치를 찾습니다.

Save 버튼을 누릅니다.

4

CSV에서 새 영역 파일을 생성하면 다음 메시지가 나타날 수 있습니다.

"데이터를 가져오지 못했습니다: 스키마에서 클래스 이름(파일 이름.csv)이 누락되었습니다."

이 경우 OK을(를) 누릅니다. CSV에서 영역을 생성하면 클래스 정의가 생성되었지만 영역에 객체가 없는 것을 볼 수 있습니다. 여기에서 CSV에서 가져오기를 수행하여 방금 생성한 클래스 정의에 매핑되는 객체로 영역을 채울 수 있습니다.

Realm 사용이 처음이고 가져올 영역 파일이나 CSV가 없는 경우에도 Realm Studio를 사용해 볼 수 있습니다.

Realm Studio를 열면 Download a demo Realm file 옵션이 표시됩니다.

Realm Studio에서 데모 파일을 다운로드하는 링크를 클릭하면 데모 데이터가 포함된 영역 파일을 저장할 이름과 위치를 지정할 수 있습니다. 파일을 다운로드한 후에는 Open Realm file 대화 상자를 사용하여 파일을 열 수 있습니다.

영역 파일을 열려고 할 때 오류가 발생하는 경우 Realm Studio에서 지원되는 Realm 파일 형식과 SDK에서 생성된 Realm 파일 형식 간의 버전 불일치가 원인일 수 있습니다.

호환성을 확인하려면 SDK 버전 또는 Realm Studio 버전 의 출시하다 노트를 확인하세요. . Realm Studio 또는 Realm SDK 버전을 업그레이드 하거나 다운그레이드해야 할 수도 있습니다.

이러한 오류 메시지는 다음과 비슷할 수 있습니다.

Realm file is currently open in another process which cannot share access
with this process. All processes sharing a single file must be the same
architecture.
The file is already opened by another process, with an incompatible
lock file format. Try up- or downgrading Realm Studio or SDK to match
their versions of Realm Core.

돌아가기

Device Sync로 데이터 보기