React Native中AsyncStorage 在iOS/Android中的存储位置

AsyncStorage是一个简单的、异步的、持久化的Key-Value存储系统,它对于App来说是全局性的。它用来代替LocalStorage。

我们推荐您在AsyncStorage的基础上做一层抽象封装,而不是直接使用AsyncStorage

译注:推荐由React Native中文网封装维护的react-native-storage模块,提供了较多便利功能。

React-Native 开发与原生开发交互的时候,Native端也需要取AsyncStorage存储的value

iOS Native端

iOS存储路径为:
Documents 目录下的RCTAsyncLocalStorage_XXX/manifest.json 文件,保存的文档实质就是个json 文本
取值方式有如下几种:

NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

NSString* thepath = [paths lastObject];

thepath = [thepath stringByAppendingPathComponent:@"RCTAsyncLocalStorage_V1/manifest.json"];

NSLog(@"目录:%@", thepath);        //第一种方法: NSFileManager实例方法读取数据

NSFileManager* fm = [NSFileManager defaultManager];

NSData* data = [[NSData alloc] init];

data = [fm contentsAtPath:thepath];

NSLog(@"%@",[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);

//第二种方法: NSData类方法读取数据        data = [NSData dataWithContentsOfFile:thepath];

NSLog(@"NSData类方法读取的内容是:%@",[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);

//第三种方法: NSString类方法读取内容
NSString* content = [NSString stringWithContentsOfFile:thepath encoding:NSUTF8StringEncoding error:nil];

NSLog(@"NSString类方法读取的内容是:\n%@",content);

Android Native端

Android存储方式为使用sqlite3
/data/data/<package name>/database

文件名称为RKStorage

数据文件

注:在网上查的信息,大多说的是 AsyncStorage存储,类似于sharedpreference方式存储。但经过考证发现不是,存储方式sqlite。这个可能跟react-native版本不同有关系,本文使用的版本为
"react": "16.3.0-alpha.1", "react-native": "0.54",

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,503评论 25 709
  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,029评论 3 119
  • 10月30日的下午,武侠小说泰斗金庸在香港养和医院与世长辞,享年94岁。其实早前一直有很多关于他去世的谣言,但之后...
    简迪seny阅读 1,324评论 2 8
  • 一大早就收到了配送中心突然停电的消息,打电话问房东,房东说没收到通知,不知几点来电。这已经是第二次了,其实我心里怀...
    小戴的烧烤生活阅读 667评论 0 51
  • 搬到401办公后,没有再买过高跟鞋,也很少穿高跟鞋上班,因为怕鞋跟敲击地板的声音打扰了其他同事办公。 但今天看到白...
    迷糊的谜阅读 345评论 0 0