2012-02-04 5 views
0

나는 매우 복잡한 문제가있다. 그러나 내가 이것을 할 수 있다면, 근본적으로 그것을 해결할 것이다. 기본적으로 iOS와 Android에서 처음 실행되며 나중에는 Blackberry와 Windows Phone에서 실행되는 응용 프로그램을 만듭니다. 문제는 내가 Dropbox를 사용하여 모든 장치를 동기화 상태로 유지한다는 것입니다. 필 요한 데이터는 SQLite 데이터베이스에 저장해야합니다 (모든 장치에서 핵심 데이터를 사용할 수없고 모든 플랫폼에서 XML을 사용하기가 어렵 기 때문에 이상적입니다). (모든 플랫폼에서이 작업을 수행 할 수있는 한 C++ 또는 구조체 또는 사용자 정의 개체를 만들면됩니다.) 데이터베이스에 원시 C++ 개체를 저장할 수 있기를 원합니다. 안드로이드 (그리고 블랙 베리와 WP 나중에)에 그것의 데이터를 읽으십시오.SQLite에 개체 저장. 가능한가요?

그래서 기본적으로 제 질문은 SQLite 데이터베이스에 원시 C++ 객체를 저장할 수 있습니까? 따라서 Android 및 Windows Phone에서 읽을 수 있습니까? 안드로이드 프로그래밍이 자바로 끝났고 WP가 C#으로 완성 되었기 때문에 어리석은 질문처럼 들리지만, 그게 내 C++ 객체가 거의 문제없이 데이터베이스에서 읽을 수 있는지 의문입니다.

답변

1

내 생각에 이진 데이터를 덤프하는 것과 같을 수 있습니다. 예를 들어, 구조체 - 예를 들어 답은 예 (blob 데이터 유형)입니다.

어쨌든, 내가 그런 식으로 일을한다면, 간단하고 이식성을 위해 text db 필드에 인코딩 된 json을 저장합니다. 이 선택은 DB가 이러한 개체를 저장하거나, 얼마나 큰는 개체가 등 등, 될 것입니다/검색 액세스 빈도를 예를 들어, 많은 사실에 달려 있음을 명심

희망이

+0

예 내가 JSON을 고려했지만 나는 내 요구를 충족 할 경우 완전히 확실하지 않다 그것을 컴파일해야 할 것 특히 때문이다. 내 데이터를 액세스하고 저장해야하는 경우가 종종있는 연락처 데이터베이스를 생각해보십시오. –

1
을하는 데 도움이

두 가지 질문이 여기에있는 것처럼 들리지만, 아마도 처음에는 대답 할 수 있지만 두 번째 질문에 대해서는 확신 할 수 없습니다. 첫 번째 질문은 SQlite에 컴파일 된 C++ 객체를 저장할 수 있습니까? 대답은 '예'입니다. SQLite는 바이너리 객체를 저장할 수있는 BLOB 데이터 타입을 가지고 있으며, 유효성 검사를하지는 않을 것이고, 저장하고 리턴 할 것입니다. 자바와 C#은 그 객체에 무엇이 있는지를 알 필요가 없기 때문에 프로그래밍 언어와는 전혀 관계가 없습니다.

제가 두 번째 질문을 해석하는 이유는 이러한 이진 객체를 실행할 수 있습니까? 내 성향은 아니오라고 말합니다. 나는 적어도 안드로이드에서, 당신이 SQLite를 꺼내면이 바이너리 객체를 실행하기위한 어떤 메커니즘이 있다고 생각하지 않는다. NDK를 사용하면 네이티브 코드를 컴파일하고 빌드 할 수 있지만 네이티브 객체를 동적으로로드하는 방법을 알지 못합니다. 당신은

는 희망이 도움이 모든 원하는 목표, 데이비드