简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网

我猜去全部机翻+个人修改补充+demo测试的形式,对expo进行一次大补血!欢迎加入expo兴趣学习交流群:597732981

【之前我写过一些列关于expo和rn入门配置的东i西,大家可以点击这里查看:从零学习rn开发

相关文章:

Expo大作战(一)--什么是expo,如何安装expo clinet和xde,xde如何使用

Expo大作战(二)--expo的生命周期,expo社区交流方式,expo学习必备资源,开发使用expo时关注的一些问题

Expo大作战(三)--针对已经开发过react native项目开发人员有针对性的介绍了expo,expo的局限性,开发时项目选型注意点等

Expo大作战(四)--快速用expo构建一个app,expo中的关键术语

Expo大作战(五)--expo中app.json 文件的配置信息

Expo大作战(六)--expo开发模式,expo中exp命令行工具,expo中如何查看日志log,expo中的调试方式

Expo大作战(七)--expo如何使用Genymotion模拟器

Expo大作战(八)--expo中的publish以及expo中的link,对link这块东西没有详细看,大家可以来和我交流

更多>>

写在二十三章以后的话,之前的翻译,不管如何,好与不好,终究是告一段落,也把expo基础理论的东西又深入的理解了一遍,后续expo大作战系列将主要介绍expo sdk的api。


常量(Constants)

系统信息在应用的整个生命周期中保持不变。

Expo.Constants.appOwnership
Returns expostandalone, or guest.。如果是expo,这个体验就在expo客户端内部运行。如果是standalone,它是一个standalone app.。如果是guest,它已通过独立应用程序的链接打开。

Expo.Constants.expoVersion
当前正在运行的Expo客户端的版本字符串。

Expo.Constants.deviceId
expo客户端的特定设备和安装唯一的标识符。

Expo.Constants.deviceName
设备类型的人类可读名称。

Expo.Constants.deviceYearClass
此设备的设备年份类别。

Expo.Constants.getWebViewUserAgentAsync()
获取将包含在此设备上运行的Web视图发送的请求中的用户代理字符串。这可能与您在JS提取请求中提供的用户代理可能不同。

Expo.Constants.isDevice
如果应用程序在设备上运行,则为true;如果在模拟器或仿真器中运行,则为false。

Expo.Constants.platform

IOS

  • buildNumber

此应用程序中CFBundleVersion的嵌入Info.plist值中指定的内部版本号。在独立应用程序中,您可以使用app.json中的ios.buildNumber值进行设置。这可能与Expo.Constants.manifest.ios.buildNumber中的值不同,因为清单可以在空中更新(热更新),而对于给定的本机二进制文件,此值永远不会更改。

  • platform

该设备的Apple内部模型标识符,例如iPhone1,1。

  • model

该设备的人可读模型名称,例如iPhone 7 Plus。

  • userInterfaceIdiom

此设备的用户界面习惯用法,即应用程序是在iPhone还是iPad上运行。目前支持的值是手机和平板电脑。 Apple TV和CarPlay将显示为不受支持。

  • systemVersion

在此设备上运行的iOS版本,例如10.3。

Android

  • versionCode

app.json中由android.versionCode设置的版本代码。

  • Expo.Constants.sessionId

一个字符串,对于当前应用程序会话是唯一的。它在应用程序之间以及同一应用程序的多次启动中有所不同。

  • Expo.Constants.statusBarHeight

设备的默认状态栏高度。在使用位置跟踪或打电话时,不考虑更改。

  • Expo.Constants.systemFonts

当前设备上可用的系统字体名称列表。

该应用的清单对象。

  • Expo.Constants.linkingUri

由于深层链接而打开应用程序时,URI的前缀不包含深层链接部分。该值取决于Expo.Constants.appOwnership:如果您的应用程序在expo客户端中独立运行,则可能会有所不同。

日历(Calendar)

提供一个用于与设备的系统日历,事件,提醒和相关记录交互的API。

查看此页面的底部,获取此API中使用的对象的所有可能字段的完整列表。

Expo.Calendar.getCalendarsAsync(EntityType)
获取一组日历对象,其中包含有关设备上存储的不同日历的详细信息。

参数
entityType(string) - (仅iOS)非必须填写字段,但如果定义,则将返回的日历过滤为特定的实体类型。可能的值是Expo.Calendar.EntityTypes.EVENT(适用于Calendar应用程序中显示的日历)和Expo.Calendar.EntityTypes.REMINDER(适用于提醒应用程序)。

返回
与所提供的实体类型匹配的日历对象数组(如果提供)。

Expo.Calendar.createCalendarAsync(details)
在设备上创建一个新日历,允许事件稍后添加并显示。

参数
details(object) -

要创建日历的详细信息地图(请参阅下面有关这些字段的说明):

  • title(string) - 必需
  • color(string) - 必需
  • entityType(string) - 必需(仅iOS)
  • sourceId(string) - 必需(仅iOS)。要用于日历的源的ID。可能与任何其他本地存储日历的来源相同。
  • source(object) - 必需(仅限Android)。表示要用于日历的源的对象。
    •   isLocalAccount(boolean) - 此源是否是本地电话帐户。如果type未定义,则必须为true。
    •   name(string) - 必需。拥有此日历并用于将日历同步到设备的帐户的名称。
    •   type(string) - 拥有此日历并用于将其同步到设备的帐户的类型。如果isLocalAccount是虚假的,那么必须定义它,并且必须与设备上的帐户一起匹配名称,否则操作系统将删除日历。
  • name(string) - 必需(仅限Android)
  • ownerAccount(string) - 必需(仅限Android)
  • timeZone(string) - (仅限Android)
  • allowedAvailabilities(array) - (仅限Android)
  • allowedReminders(array) - (仅限Android)
  • allowedAttendeeTypes(array) - (仅限Android)
  • isVisible(boolean) - (仅限Android)
  • isSynced(boolean) - (仅限Android)
  • accessLevel(string) - (仅限Android)

返回
代表新创建的日历的ID的字符串。

Expo.Calendar.updateCalendarAsync(id,details)
更新设备上存储的现有日历的详细信息。要删除一个属性,明确地将其设置为null。

参数
id(string) - 要更新的日历的ID。需要。

details(object) -

要更新的属性的地图(请参阅下面的这些字段的说明):

  • title (string)(字符串)
  • sourceId(string) - (仅iOS)
  • color(string) - (仅iOS)
  • name(string) - (仅限Android)
  • isVisible(boolean) - (仅限Android)
  • isSynced(boolean) - (仅限Android)

Expo.Calendar.deleteCalendarAsync(ID)
从设备中删除现有的日历和所有关联的事件/提醒/与会者(events/reminders/attendees)。谨慎使用(Use with caution.)。

参数
id(string) - 要删除的日历的ID。

Expo.Calendar.getEventsAsync(calendarIds,startDate,endDate)
返回指定时间段内给定日历集中的所有事件。

参数
calendarIds(array) - 要搜索事件的日历的ID的数组。必需。

startDate(Date) - 搜索中的事件的时间段开始。必需。

endDate(Date) - 搜索中的事件的时间段结束。必需。

返回
与搜索条件匹配的Event对象数组。

Expo.Calendar.getEventAsync(id,recurringEventOptions)
返回由ID选择的特定事件。如果需要定期事件的特定实例,则还必须提供此实例的开始日期,因为定期事件的实例在iOS或Android上没有自己的唯一且稳定的ID。

参数
id(string) - 要返回的事件的ID。需要。

recurringEventOptions(object) -

重复性事件的选项图:

  • instanceStartDate(Date) - 如果查找循环事件的单个实例,则表示所需实例的开始时间的Date对象。如果没有提供,并且id表示重复事件,则默认情况下会返回该事件的第一个实例。

返回
与提供的条件匹配的Event对象(如果存在)。

Expo.Calendar.createEventAsync(calendarId,details)
在指定日历上创建新事件。

参数
calendarId(字符串) - 要在其中创建此事件的日历的ID。必需。

details(details) -

要创建的事件的详细信息图(有关这些字段的说明,请参阅下面的内容):

  • title(string)
  • startDate(Date) - 必需。
  • endDate(Date) - Android上需要。
  • allDay(boolean)
  • location (string)
  • notes (string)
  • alarms (Array
  • recurrenceRule(RecurrenceRule
  • availability (string)
  • ttimeZone (string) - Android上必需的。
  • endTimeZone(string) - (仅限Android)
  • url(string) - (仅iOS)
  • organizerEmail(string) - (仅限Android)
  • accessLevel(string) - (仅限Android)
  • guestsCanModify(boolean) - (仅限Android)
  • guestsCanInviteOther(boolean) - (仅限Android)
  • guestsCanSeeGuests(boolean) - (仅限Android)

返回
代表新创建事件ID的字符串。

Expo.Calendar.updateEventAsync(id,details,recurrentEventOptions)
更新设备上存储的现有日历的详细信息。要删除一个属性,明确地将其设置为null。

参数
id(字符串) - 要更新的事件的ID。需要。

details(object) -

要更新的属性的地图(请参阅下面的这些字段的说明):

  • title(string)
  • startDate(Date)
  • endDate(Date)
  • allDay(布尔)
  • Location(string)
  • notes(string)
  • alarms (Array)
  • alarms (Array)
  • alarms (Array)
  • timeZone(string)
  • endTimeZone(string) - (仅限Android)
  • url(string) - (仅iOS)
  • organizerEmail(string) - (仅限Android)
  • accessLevel(string) - (仅限Android)
  • guestsCanModify(boolean) - (仅限Android)
  • guestsCanInviteOther(boolean) - (仅限Android)
  • guestsCanSeeGuests(boolean) - (仅限Android)

recurrentEventOptions(对象) -

重复性事件的选项图:

  • instanceStartDate(Date) - 如果想更新循环事件的单个实例,则表示所需实例的开始时间的Date对象。如果未提供此信息,并且id代表周期性事件,则该事件的第一个实例将默认更新。
  • futureEvents(boolean) - 是否也应更新循环系列中的未来事件。如果为true,则将给定的更改应用于由instanceStartDate指定的循环实例以及系列中的所有未来事件。如果为false,则仅将给定更改应用于由instanceStartDate指定的实例。

Expo.Calendar.deleteEventAsync(id,recurringEventOptions)
从设备中删除现有的事件。谨慎使用。

参数
id(string) - 要删除的事件的ID。需要。

recurrentEventOptions(对象) -

重复性事件的选项图:

  • instanceStartDate(Date) - 表示期望实例的开始时间的Date对象,如果想要删除循环事件的单个实例。如果没有提供,并且id代表周期性事件,则该事件的第一个实例将在默认情况下被删除。
  • futureEvents(boolean) - 是否也应删除循环系列中的未来事件。如果为true,将删除instanceStartDate指定的实例以及系列中所有将来的事件。如果为false,则只会删除instanceStartDate指定的实例。

Expo.Calendar.getAttendeesForEventAsync(eventId,recurringEventOptions)
获取给定事件(或循环事件的实例)的所有与会者。

参数
eventId(字符串) - 要返回参加者的事件的ID。需要。

recurringEventOptions(object) -

重复性事件的选项图:

  • instanceStartDate(Date) - 如果查找循环事件的单个实例,则表示所需实例的开始时间的Date对象。如果未提供,并且eventId表示重复性事件,则该事件的第一个实例的参与者将默认返回。

返回
与指定事件关联的参与者对象数组。

Expo.Calendar.createAttendeeAsync(eventId,details)
仅在Android上提供。创建新的记录并将其添加到指定的事件中。请注意,如果eventId指定了重复事件,则会将与会者添加到事件的每个实例。

参数
eventId(string) - 要将此与会者添加到的事件的ID。需要。

details(object) -

要创建的与会者的详细信息地图(请参阅下面有关这些字段的说明):

  • id(字符串)必需。
  • email (string) 必需。
  • name (string)
  • role (string) 必需。
  • status (string) 必需。
  • type (string) 必需。

返回
代表新创建的与会者记录ID的字符串。

Expo.Calendar.updateAttendeeAsync(id,details)
仅在Android上提供。更新现有的与会者记录。要删除一个属性,明确地将其设置为null。

参数
id(字符串) - 要更新的与会者记录的ID。需要。

details(object) -

要更新的属性的地图(请参阅下面的这些字段的说明):

  • id(string)
  • email(string)
  • name(string)
  • role(string)
  • status(string)
  • type(string)

Expo.Calendar.deleteAttendeeAsync(ID)
仅在Android上提供。从设备中删除现有的与会者记录。谨慎使用。

参数
id(string) - 要删除的与会者的ID。

Expo.Calendar.getRemindersAsync(calendarIds,status,startDate,endDate)
仅适用于iOS。返回与提供的条件匹配的提醒列表。

参数

  • calendarIds(array) - 要搜索提醒的日历的ID列表。必需。
  • status(string) - Calendar.ReminderStatus.COMPLETED或Calendar.ReminderStatus.INCOMPLETE之一。
  • startDate(Date) - 搜索提醒的时间段开始。如果定义了状态,则为必需。
  • endDate(Date) - 搜索提醒的时间段结束。如果定义了状态,则为必需。

返回
与搜索条件匹配的Reminder对象数组。

Expo.Calendar.getReminderAsync(ID)
仅适用于iOS。返回由ID选择的特定提醒。

参数
id(string) - 要返回的提醒的ID。需要。

返回
与提供的ID匹配的提醒对象(如果存在)。

Expo.Calendar.createReminderAsync(calendarId,details)
仅适用于iOS。在指定的日历上创建新的提醒。

参数
calendarId(字符串) - 创建此提醒的日历的ID。必需。

details(object) -

要创建提醒的详细信息地图:(请参阅下面有关这些字段的说明)

  • title(string)
  • startDate(Date)
  • dueDate(Date)
  • completed (boolean)
  • completionDate(Date)
  • location (string)
  • notes (string)
  • alarms (array)
  • recurrenceRule (RecurrenceRule)
  • timeZone (string)
  • url (string)

返回
代表新创建的提醒ID的字符串。

Expo.Calendar.updateReminderAsync(id,details)
仅适用于iOS。更新设备上存储的现有提醒的详细信息。要删除一个属性,明确地将其设置为null。

参数
id(字符串) - 要更新的提醒的ID。需要。

details(object) -

要更新的属性的地图(请参阅下面的这些字段的说明):

  • title(string)
  • startDate(Date)
  • dueDate(Date)
  • completionDate(Date) - 设置非空日期的此属性将自动将提醒的完成值设置为true。
  • location (string)

  • notes (string)

  • alarms (array)

  • recurrenceRule (RecurrenceRule)

  • timeZone (string)

  • url (string)

Expo.Calendar.deleteReminderAsync(ID)
仅适用于iOS。从设备中删除现有的提醒。谨慎使用。

参数
id(字符串) - 要删除的提醒的ID。需要。

Expo.Calendar.getSourcesAsync()
仅适用于iOS。

返回
一个Source对象数组的所有来源存储在设备上的日历。

Expo.Calendar.getSourceAsync(ID)
仅适用于iOS。返回由ID选择的特定源。

参数
id(字符串) - 要返回的源的ID。需要。

返回
与提供的ID匹配的Source对象(如果存在)。

Expo.Calendar.openEventInCalendar(ID)
仅在Android上提供。发送意图在OS日历应用程序中打开指定的事件。

参数
id(字符串) - 要打开的事件的ID。需要。

对于参数的详细列表解释


下一张继续介绍,这一篇主要介绍了:expo sdk api之 Calendar,Constants欢迎大家关注我的微信公众号,这篇文章是否被大家认可,我的衡量标准就是公众号粉丝增长人数。欢迎大家转载,但必须保留本人博客链接!

 

Expo大作战(四十)--expo sdk api之 Calendar,Constants的更多相关文章

  1. Expo大作战(三十)--expo sdk api之Permissions(权限管理模块),Pedometer(计步器api)

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  2. Expo大作战(二十)--expo中的Release channels(不重要*)

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  3. Expo大作战(三十四)--expo sdk api之LinearGradient(线性渐变),KeepAwake(保持屏幕不休眠),IntentLauncherAndroid,Gyroscope,

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  4. Expo大作战(二十四)--expo sdk api之Accelerometer

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  5. Expo大作战(三十九)--expo sdk api之 DocumentPicker,Contacts(获取手机联系人信息),Branch

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  6. Expo大作战(三十八)--expo sdk api之 FileSystem(文件操作系统)

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  7. Expo大作战(三十六)--expo sdk api之 ImagePicker,ImageManipulator,Camera

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  8. Expo大作战(三十五)--expo sdk api之Location!

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  9. Expo大作战(三十二)--expo sdk api之Noifications

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

随机推荐

  1. kaili 安装中文输入法

    kaili 安装中文输入法 更换为国内可用的源: vim /etc/apt/sources.list 添加以下内容: deb http://mirrors.ustc.edu.cn/kali sana ...

  2. inception安装使用

    一个集审核.执行.备份及生成回滚语句于一身的MySQL自动化运维工具,由去哪网开源 安装 CentOS 7 Python 3.6 安装基础环境 yum -y install cmake libncur ...

  3. 【Redis面试题】Redis的字符串是怎么实现的?

    年前本人在找工作面试时在Redis相关问题上可栽了跟头.在面试前按常规套路准备了一下,比如 Redis 的常用5种数据结构,Redis持久化策略,Redis实现分布式锁,简单发布订阅等等都准备了,当时 ...

  4. 百度Ueditor富文本编辑器 .net版本 任意文件上传执行漏掉修复

    问题描述: 借由上传网络图片功能中可传递可执行文件.后台代码中只做了文件类型的检测未能正确的拦截掉非法文件. 只需将上传地址改为 XXXXXX.jpg?.aspx最终服务上最终存储的文件会变为XXXX ...

  5. python之发送邮件~

    在之前的工作中,测试web界面产生的报告是自动使用python中发送邮件模块实现,在全部自动化测试完成之后,把报告自动发送给相关人员 其实在python中很好实现,一个是smtplib和mail俩个模 ...

  6. 21天打造分布式爬虫-requests库(二)

    2.1.get请求 简单使用 import requests response = requests.get("https://www.baidu.com/") #text返回的是 ...

  7. vue脚手架构

    我们是用Eclipse开发的,所以用vue开始时,要进行代理,不然访问不到服务器,所以就需要配置一下 dev  context 里面写的是代理的接口,就是以这些接口开头的,如果没有就往里写一下,pro ...

  8. ElasticSearch实战-编码实践

    1.概述 前面在<ElasticSearch实战-入门>中给大家分享如何搭建这样一个集群,在完成集群的搭建后,今天给大家分享如何实现对应的业务功能模块,下面是今天的分享内容,目录如下所示: ...

  9. 动态生成二维码并利用canvas合成出一张图片(类似海报、分享页)

    在前端开发并打算推广一个APP的时候,推广页是免不了的,而推广页的展示方式一般是给人家一个二维码,让别人自己去安装APP,这样前段任务也达到了,这次写这篇文章的原因主要还是总结一下,其中有很多不完善的 ...

  10. Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十八):注册中心(Spring Cloud Consul)

    什么是 Consul Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置.与其它分布式服务注册与发现的方案,Consul 的方案更“一站式”,内置了服务注册与 ...