ローカル データの保存は、多くのモバイル アプリケーションにとって基本的な要件です。 React Native Expo は、ローカル データ ストレージを効果的に処理するためのいくつかの方法を提供します。このブログでは、AsyncStorage、SecureStore、SQLite の 3 つの主要なソリューションを取り上げ、その機能、使用例、利点について説明します。
AsyncStorage は、シンプルで暗号化されていない非同期のキーと値のストレージ システムです。使いやすく、ユーザー設定や設定など、アプリの起動後も保持する必要がある少量のデータを保存するのに適しています。
AsyncStorage を使用してデータを保存するには、setItem メソッドを使用できます:
import AsyncStorage from '@react-native-async-storage/async-storage'; const storeData = async (key, value) => { try { await AsyncStorage.setItem(key, value); console.log('Data stored successfully'); } catch (error) { console.error('Error storing data', error); } };
SecureStore は、認証トークンやユーザー資格情報などの機密データを安全に保存する方法を提供します。 iOS キーチェーンや Android キーストアなどのデバイスの安全なストレージ メカニズムを活用し、高いセキュリティを確保します。
SecureStore を使用してデータを安全に保存するには、setItemAsync メソッドを使用できます。
import * as SecureStore from 'expo-secure-store'; const storeSecureData = async (key, value) => { try { await SecureStore.setItemAsync(key, value); console.log('Data stored securely'); } catch (error) { console.error('Error storing secure data', error); } };
SQLite は、大規模なデータセットや複雑なデータ関係の処理に適した強力な組み込み SQL データベース エンジンです。 SQL クエリをサポートし、堅牢なデータベース管理機能を提供します。
SQLite を使用してテーブルを作成し、データを挿入するには、executeSql メソッドを使用できます。
import * as SQLite from 'expo-sqlite'; const db = SQLite.openDatabase('myDatabase.db'); const createTable = () => { db.transaction(tx => { tx.executeSql( 'CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY NOT NULL, name TEXT, age INTEGER);' ); }); }; const insertData = (name, age) => { db.transaction(tx => { tx.executeSql( 'INSERT INTO users (name, age) values (?, ?)', [name, age], (txObj, resultSet) => console.log('Data inserted', resultSet), (txObj, error) => console.error('Error inserting data', error) ); }); };
React Native Expo で適切なローカル ストレージ ソリューションを選択するかどうかは、特定のニーズによって異なります。 AsyncStorage は単純なキーと値のストレージに最適で、SecureStore は安全なデータ ストレージに最適で、SQLite は複雑なデータセットやリレーショナル データの処理に優れています。これらのオプションを理解すると、モバイル アプリケーションに効果的なデータ ストレージ戦略を実装するのに役立ちます。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3