云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

域名交易_永恒之塔数据库_0元

小七 141 0

上一个主页下一个

Kapsel Offline OData插件支持OData 2.0版应用程序,该应用程序的数据通过SMP或SAP云平台移动服务服务器进行代理,当设备或仿真器脱机时,返利机器人怎么做,可以使用以下代码在设备上创建存储。

一组定义请求指定数据将填充离线商店。一旦商店打开,自定义OData客户机应用了以下调用,使用datajs库进行的与服务根目录匹配的所有调用(端点的连接名称,例如com.kapsel.gs公司)被路由到离线商店。

当设备离线时将被更新的数据最好是多个离线用户不同时更新的数据。如果可能,将数据划分为每个用户所需的子集。将OData筛选器添加到定义请求以将设备上的数据限制为所需数据的子集是实现此目的的一种技术。

脱机存储有16 GB的限制。初始下载时间、数据库大小和刷新时间可能会受到设备上存储的数据量的影响。

脱机存储只能与一个OData服务一起使用。例如,淘客推广怎么做,一个离线商店可以与一个服务相关联,例如或但不是两者都有。但是,一个设备上可以存在多个存储。

一旦创建了脱机存储,可以通过调用发送对其所做的本地更改存储。刷新().脱机存储可以通过调用存储。刷新().

不支持OData函数导入,因为服务元数据文档没有描述调用这些函数后发生的更改。另请参阅脱机OData版本支持,以获取有关支持功能的更多详细信息。

有关脱机OData插件的更多详细信息,请参阅第5周第1单元"使用SAP HANA云平台开发移动应用程序,针对SAP Fiori的脱机支持",C: \SAP\mobilesd3\KapselSDK\docs\api\sap.OData.html文件或者使用离线OData插件。

以下示例将帮助演示Kapsel离线OData插件。

离线时访问数据项目中增加了离线OData插件,允许设备离线时访问OData.

使用ILOData查询离线数据库离线数据库是从设备复制的,淘客网,然后可以直接对数据库进行OData查询。这在故障排除或技术支持时非常有用。

加密脱机数据库创建脱机存储时,可以提供名为storeEncryptionKey的存储选项,以加密其中的数据。

支持脱机的应用程序,可创建、更新、删除、访问错误存档添加CUD操作(创建、更新、删除)以及如何在ErrorArchive中查看失败的更新。

错误条件探索一些可能发生的常见错误情况。

自动递增主键提及从何处获取临时主键值。

在一个应用程序中离线和在线演示一个应用程序,top返利,其中部分数据在脱机时可用。

问题和答案

脱机时访问数据

以下步骤将使应用程序在设备或模拟器联机或脱机时使用。

注意,此示例中使用的技术仅用于学习目的。在非演示应用程序中,建议始终使用离线商店来保持数据的一致性。

添加Cordova网络信息插件、Kapsel Logger和离线OData插件。cordova插件添加cordova插件网络信息cordova plugin add kapsel plugin logger--搜索路径%kapsel\u HOME%/pluginscordova plugin add kapsel plugin odata--搜索路径%kapsel\u HOME%/plugins或cordova plugin add kapsel plugin logger--搜索路径$kapsel\u HOME/pluginscordova plugin add kapsel plugin odata--搜索路径$kapsel\u HOME/plugins脱机OData插件要求通过SMP或SAP云平台移动服务服务器代理OData源。确保"重写"模式为"重写URL",如下所示。对于离线应用程序,通过SMP或SAP云平台移动服务服务器路由URI是很重要的。创建一个名为脱机.ini.将以下文本复制到文件中。[终结点]姓名=com.kapsel.gs公司允许忽略最大长度将此文件导入"脱机配置"选项卡下的管理驾驶舱。此设置为Edm.字符串以及Edm二进制键值,因为此OData服务没有提供这些值。有关其他详细信息,请参阅应用程序配置文件。替换www/索引.html包括以下内容。你知道吗var applicationContext=null;var online=假;var store=null;//脱机OData存储var startTime=新日期();var initTime=null;var unlockTime=空;var resumeTime=空;window.oner错误=一个错误;函数onError(msg、url、line){变量idx=url.lastIndexOf("/");var file="未知";如果(idx>-1){文件=url.substring(idx+1);}警报("在"+文件+"(第#"+行+")中发生错误:"+msg");return false;//suppressErrorAlert;}函数init(){updateStatus2("调用登录.init");initTime=新日期();var endTime=新日期();var duration=(endTime-startTime)/1000;控制台.log("EventLogging:从onload到deviceready的时间"+持续时间+"秒");如果(sap.记录器) {sap.Logger.setLogLevel设置日志级别(sap.Logger.DEBUG文件);//允许显示来自Kapsel插件的调试日志消息。sap.Logger.debug文件("EventLogging:日志级别设置为DEBUG");}如果(导航器.通知){//用本机对话框覆盖默认的HTML警报。Windows不支持警报窗口.警报= 导航器.通知.警报;}寄存器();控制台.log("EventLogging:init completed");}函数logonSuccessCallback(结果){updateStatus2("logonSuccessCallback调用");var endTime=新日期();if(解锁时间){var duration=(endTime-unlockTime)/1000;控制台.log("EventLogging:解锁时间"+持续时间+"秒");解锁时间=空;}控制台.log("EventLogging:logonSuccessCallback"+JSON.stringify文件(结果));applicationContext=结果;显示屏("MainDiv");}函数logonErrorCallback(error){//如果用户取消注册,则调用此方法。警报("发生错误:"+JSON.stringify文件(错误));如果(设备平台=="Android"){//iOS不支持导航器.app.exitApp();}}函数read(){updateStatus2("读取请求已启动");startTime=新日期();如果(!应用程序上下文){警报("继续前注册或解锁");返回;}clearTable();苏尔=applicationContext.applicationEndpointURL+"/CarrierCollection?$format=json&$orderby=carrid";//json格式比atom/xml更详细var oHeaders={};//oHeaders['X-SMP-APPCID']=applicationContext.applicationConnectionId;//不需要,因为这将由登录插件发送var请求={标题:oHeaders,请求URI:sUrl,方法:"获取"};如果(设备平台=="windows"){//由Android和iOS上的authproxy和登录插件提供,但在windows上不提供https://support.wdf.sap.corp/sap/support/message/1680272744请求用户= applicationContext.registrationContext.user用户;请求密码= applicationContext.registrationContext.password密码;}OData.读取(请求,readSuccessCallback,errorCallback);}函数readSuccessCallback(数据,响应){var endTime=新日期();var duration=(endTime-startTime)/1000;updateStatus2("读取"+数据.结果.长度+"记录以"+持续时间+"秒");可变载波表=文档.getElementById("载体表");对于(变量i=数据.结果.长度-1、 i>=0;i--){变量行=carrierTable.insertRow(1);可变单元格1=行插入单元格(0);可变单元格2=行插入单元格(1);cell1.innerHTML=数据.结果[i] .卡里德;cell2.innerHTML=数据.结果[i] .姓名;}}函数clearTable(){可变载波表=文档.getElementById("载体表");而(carrierTable.rows.length行> 1) {carrierTable.deleteRow行(1);}}函数errorCallback(e){警报("发生错误:"+JSON.stringify文件(e) );显示屏("Ma

,云服务器好吗