Expo大作戰(四十)--expo sdk api之 Calendar,Constants

来源:https://www.cnblogs.com/gdsblog/archive/2018/03/24/8640726.html
-Advertisement-
Play Games

簡要:本系列文章講會對expo進行全面的介紹,本人從2017年6月份接觸expo以來,對expo的研究斷斷續續,一路走來將近10個月,廢話不多說,接下來你看到內容,講全部來與官網 我猜去全部機翻+個人修改補充+demo測試的形式,對expo進行一次大補血!歡迎加入expo興趣學習交流群:597732 ...


 

簡要:本系列文章講會對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歡迎大家關註我的微信公眾號,這篇文章是否被大家認可,我的衡量標準就是公眾號粉絲增長人數。歡迎大家轉載,但必須保留本人博客鏈接!

 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 今天做了一件坑了自己的事情,為此浪費了好多時間。。。 在mybatis的設置中,看到了這樣的一行設置。出於程式員的好奇,去搜索了一下,這條設置是乾什麼的。 <setting name="callSettersOnNulls" value="true"/> 在網上眾多大神的解答下,終於一知半解了。 在 ...
  • 最近由於想把ASPNETCORE弄到MAC上進行開發,也想把Mozlite資料庫移植到Mysql的支持,所以用到了Docker這個東東。因為由於對於MAC開發不常用有點陌生,下麵記錄一下安裝過程以及使用的一些命令。 ...
  • Windows下MongoDB的安裝與配置 介紹:因為學習python爬蟲框架,需要安裝MongoDB,在此記錄安裝過程。(參考了網上很多文章,在此對先輩表示感謝) 一、官網下載地址:https://www.mongodb.com/download-center?jmp=nav#community, ...
  • 本文為mariadb官方手冊:DECLARE Variable的譯文。 原文:https://mariadb.com/kb/en/library/declare-variable/我提交到MariaDB官方手冊的譯文:https://mariadb.com/kb/zh-cn/declare-vari ...
  • 導出數據時報錯: 如果你是導出office 2007格式 就是:微軟。ace.oledb.12.0”的提供者沒有在本地機器上註冊。 如果你是導出office 2016格式 解決方法: 安裝AccessDatabaseEngine.exe。 office 2007版: 下載路徑:http://www. ...
  • 本文為mariadb官方手冊:SELECT INTO的譯文。 原文:https://mariadb.com/kb/en/selectinto/我提交到MariaDB官方手冊的譯文:https://mariadb.com/kb/zh-cn/selectinto/ 語法 描述 使用SELECT ... ...
  • 類添加屬性 Property.h 文件 Property.m 中 #import "NSObject+Property.h" #import <objc/runtime.h> /** 擴展類(分類)添加屬性: a. 變數生成set,get方法的申明,不會生成實現,需要自己去寫實現方法,也不會生成帶下 ...
  • Expo大作戰系列完結! 簡要:本系列文章講會對expo進行全面的介紹,本人從2017年6月份接觸expo以來,對expo的研究斷斷續續,一路走來將近10個月,廢話不多說,接下來你看到內容,講全部來與官網 我猜去全部機翻+個人修改補充+demo測試的形式,對expo進行一次大補血!歡迎加入expo興 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...