El SDK de dispositivos Atlas para C++ permite que las aplicaciones cliente escritas en C++ accedan a los datos almacenados en los dispositivos y los sincronicen con Atlas. Esta página detalla cómo instalar el SDK de C++ en su proyecto y comenzar.
Requisitos
Estándar mínimo de C++: C++17.
Para desarrollo en macOS: Xcode 11.x o posterior.
Para desarrollo en Windows: Microsoft Visual C++ (MSVC).
De lo contrario, recomendamos git y CMake.
Instalar
Tip
SDK de dispositivos Atlas y Realm
El SDK utiliza la base de datos Realm Core para la persistencia de los datos del dispositivo. Al instalar el SDK de C++, los nombres de los paquetes reflejan la nomenclatura de Realm.
Al desarrollar con Xcode, puedes usar Swift Package Manager (SPM) para instalar realm-cpp.
Puede utilizar CMake con el módulo FetchContent para administrar el SDK y sus dependencias en su proyecto C++.
Crea o modifica tu CMakeLists.txt en el directorio raíz de tu proyecto:
Agregue
Include(FetchContent)para incluir el módulo FetchContent en la compilación de su proyecto.Utilice
FetchContent_Declarepara localizar la dependencia del SDK y especificar la etiqueta de versión que desea utilizar.Utilice el comando
FetchContent_MakeAvailable()para verificar si se han completado las dependencias nombradas y, si no es así, completarlas.Finalmente,
target_link_libraries()vincula la dependencia del SDK a su ejecutable de destino.
Para obtener la etiqueta de versión más reciente, consulte las versiones en GitHub: realm/realm-cpp.
Establezca el estándar mínimo de C++ en 17 con set(CMAKE_CXX_STANDARD 17).
En una instalación de Windows, agregue los indicadores del compilador necesarios que se enumeran a continuación.
cmake_minimum_required(VERSION 3.15) project(MyDeviceSDKCppProject) # Minimum C++ standard set(CMAKE_CXX_STANDARD 17) # In a Windows install, set these compiler flags: if(MSVC) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Zc:preprocessor /bigobj") endif() # Include the FetchContent module so you can download the C++ SDK Include(FetchContent) # Declare the version of the C++ SDK you want to download FetchContent_Declare( cpprealm GIT_REPOSITORY https://github.com/realm/realm-cpp.git GIT_TAG v1.0.0 ) # The MakeAvailable command ensures the named dependencies have been populated FetchContent_MakeAvailable(cpprealm) # Create an executable target called myApp with the source file main.cpp add_executable(myApp main.cpp) target_link_libraries(myApp PRIVATE cpprealm)
Ejecute CMake en un directorio gitignored, como build, para generar las configuraciones de compilación que luego puede usar para compilar su aplicación:
# build/ is in .gitignore mkdir build cd build cmake .. # Create Makefile by reading the CMakeLists.txt in the parent directory (../) make # Actually build the app
Puedes usar CMake para generar más que simples Makefiles usando el -G indicador. Consulta la documentación de CMake para obtener más información.
Uso
Incluir el encabezado
Haga que el SDK de C++ esté disponible en su código incluyendo el encabezado cpprealm/sdk.hpp en la unidad de traducción donde desea usarlo:
Crear una aplicación para Android
El SDK de C++ permite crear aplicaciones Android. Para crear una aplicación Android:
Añade
<uses-permission android:name="android.permission.INTERNET" />a tuAndroidManifest.xmlAgregue el subdirectorio del SDK de C++ a
CMakeLists.txtde su biblioteca nativa y vincúlelo como una biblioteca de destino:set(CMAKE_CXX_STANDARD 17) add_subdirectory("realm-cpp") ... target_link_libraries( # Specifies the target library. myapplication # make sure to link the C++ SDK. cpprealm ) Asegúrese de que los submódulos git se inicialicen dentro de la carpeta
realm-cppantes de compilar.Al crear una instancia de la base de datos o la aplicación SDK, debe pasar
filesDir.pathcomo parámetropathen el constructor o plantilla abierta de base de datos correspondiente.
Para obtener un ejemplo de cómo usar el SDK de C++ en una aplicación de Android, consulte la aplicación Android RealmExample en el realm-cpp repositorio de GitHub.
Específicamente, consulte los archivos MainActivity.kt y native-lib.cpp en la aplicación de ejemplo de Android para obtener ejemplos de código.