主要针对内容为填报模板, 可以做到类似原生FR直接一键下载并缓存到数据库. 然后在调用的暂存界面中查看.
流程如下:
2. 然后调用IFIntegrationUtils.cacheServerInfo(this, "test", "http://xxx:8075/WebReport/ReportServer", "x", "x", x);
存储目标服务器信息到数据库, 便于后续的数据库操作下载模板.
3.调用下载模板接口. IFIntegrationUtils.downloadAndCacheReports 批量或者单个下载IFIntegrationUtils.downloadAndCacheReport
4.调用暂存界面查看下载的暂存模板 IFIntegrationUtils.loadCacheReportView(context);
关于编码问题, 如果在下载开始是, 并未登录FS平台, 则需要确认网络默认编码和平台一致, 需要设置IFBaseFSConfig.setNetServerEncode("xxx 平台编码"); 默认为GBK
具体方法参数说明如下:
/**
* 保存服务器信息 到数据库, 一般在离线下载或者使用暂存界面时 先使用.
* @param context 上下文. (必选))
* @param serverName 服务器名称 (必选)
* @param serverUrl 服务器地址. (必选)
* @param userName 用户名
* @param password 密码
* @param frextra 额外的登录参数.
*/
public static void cacheServerInfo(Context context, String serverName, String serverUrl, String userName, String password, Bundle frextra)
/**
* 下载并暂存单张模板, 这里下载的模板都是第一步的登录的服务器上的.
* @param reportPath 报表路径 (必须)
* @param parameters 报表参数 (可选)
* @param cacheName 暂存后的报表名字 (必须)
* @param callBackListener 下载回调函数, 返回下载失败的错误模板列表.
*/
public static void downloadAndCacheReport(Context context, String reportPath, Map<String, String> parameters, String cacheName, IFCacheDownCallBack callBackListener)
/**
* 批量下载并暂存多张模板,需要提供每个模板的路径,参数和暂存后的名字
* 回调函数 成功, 失败.
* @param cacheReports 一个jsonarray对象.
* [{reportPath:WorkBook1.cpt, cacheName:暂存1, parameters:{xx:2}}, {reportPath:WorkBook2.cpt, cacheName:暂存2, parameters:{xx:1}}, ...]
* @param callBackListener 下载回调函数, 返回下载失败的错误模板列表.
*/
public static void downloadAndCacheReports(Context context, JSONArray cacheReports, IFCacheDownCallBack callBackListener)
/**
* 加载展示 暂存模板的界面.
* @param context
*/
public static void loadCacheReportView(Context context)