zoukankan      html  css  js  c++  java
  • React Native

    1,AsyncStorage介绍

    • AsyncStorage 是一个简单的、异步的、持久化的 Key-Value 存储系统,它对于 App 来说是全局性的。它用来代替 LocalStorage。
    • 由于它的操作是全局的,官方建议我们最好针对 AsyncStorage 进行一下抽象的封装再使用,而且不是直接拿 AsyncStorage 进行使用。
    • AsyncStorage 存储的位置根据系统的不同而有所差异。iOS 中的存储类似于 NSUserDefault,通过 plist 文件存放在设备中。Android 中会存储在 RocksDB 或者 SQLite 中,取决于你使用哪个。

    2,常用接口

    根据键来获取值,获取的结果会放在回调函数中:

    static getItem(key: string, callback:(error, result))

    根据键来设置值:

    static setItem(key: string, value: string, callback:(error))

    根据键来移除项:

    static removeItem(key: string, callback:(error))

    获取所有的键:

    static getAllKeys(callback:(error, keys))

    设置多项,其中 keyValuePairs 是字符串的二维数组,比如:[['k1', 'val1'], ['k2', 'val2']]:

    static multiSet(keyValuePairs, callback:(errors))

    获取多项,其中 keys 是字符串数组,比如:['k1', 'k2']:

    static multiGet(keys, callback:(errors, result))

    删除多项,其中 keys 是字符串数组,比如:['k1', 'k2']:

    static multiRemove(keys, callback:(errors))

    清除所有的项目:

    static clear(callback:(error))

    3,注意事项

    需要注意的是,在使用AsyncStorage的时候,setItem里面传入的数组或字典等对象需要使用JSON.stringtify()方法把他们解析成JSON字符串,反过来,在getItem方法里获取数组或字典等对象的时候需要使用JSON.parse方法将他们解析成对象。使用方法如下:

    module.exports = {
    /**保存信息*/
    save(key, value) {
    return AsyncStorage.setItem(key, JSON.stringify(value));
    },
    /**取数据*/
    getValue(key, callback) {
    return AsyncStorage.getItem(key).then((value) => {
    const jsonValue = JSON.parse(value);
    callback(jsonValue);
    return jsonValue;
    });
    },
    /**删除信息*/
    delete(key) {
    return AsyncStorage.removeItem(key);
    },
    };

    调用方法如下:

    saveData(){
    let name= getValue('name',(n)=>{
    if (n!=undefined) {
    showMsg(n);
    delete('name');
    save('name','wang')
    }else{
    showMsg('没有数据');
    save('name','li')
    }
    })
    }

  • 相关阅读:
    HDU 1022 Train Problem I
    HDU 1702 ACboy needs your help again!
    HDU 1294 Rooted Trees Problem
    HDU 1027 Ignatius and the Princess II
    HDU 3398 String
    HDU 1709 The Balance
    HDU 2152 Fruit
    HDU 1398 Square Coins
    HDU 3571 N-dimensional Sphere
    HDU 2451 Simple Addition Expression
  • 原文地址:https://www.cnblogs.com/cui-cui/p/8482479.html
Copyright © 2011-2022 走看看