"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > طرق تخزين البيانات المحلية في React Native Expo

طرق تخزين البيانات المحلية في React Native Expo

تم النشر بتاريخ 2024-08-06
تصفح:916

Methods of Storing Local Data in React Native Expo

يعد تخزين البيانات المحلية مطلبًا أساسيًا للعديد من تطبيقات الهاتف المحمول. يوفر React Native Expo عدة طرق للتعامل مع تخزين البيانات المحلية بشكل فعال. في هذه المدونة، سنستكشف ثلاثة حلول أساسية: AsyncStorage، وSecureStore، وSQLite، ونناقش ميزاتها وحالات الاستخدام والفوائد.

تخزين غير متزامن

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

SecureStore يوفر طريقة آمنة لتخزين البيانات الحساسة، مثل رموز المصادقة وبيانات اعتماد المستخدم. فهو يستفيد من آليات التخزين الآمنة للجهاز مثل iOS Keychain وAndroid Keystore، مما يضمن الأمان العالي.

سمات:

  • أمان عالي مع التشفير
  • التخزين الآمن الخاص بالمنصة
  • العمليات غير المتزامنة

استخدم حالات:

  • تخزين رموز المصادقة
  • حفظ بيانات اعتماد المستخدم
  • الاحتفاظ بإعدادات التكوين الحساسة

مثال:

لتخزين البيانات بشكل آمن باستخدام 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 يتفوق في التعامل مع مجموعات البيانات المعقدة والبيانات العلائقية. سيساعدك فهم هذه الخيارات على تنفيذ استراتيجيات فعالة لتخزين البيانات في تطبيقات الهاتف المحمول الخاصة بك.

بيان الافراج تمت إعادة طباعة هذه المقالة على: https://dev.to/snehasishkonger/methods-of-storing-local-data-in-react-native-expo-mc0؟1 إذا كان هناك أي انتهاك ، فيرجى الاتصال بـ [email protected] لحذفه.
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3