页面树结构
转至元数据结尾
转至元数据起始

 

接口简介:
  • FRSDK : 初始化属性配置. 调用接口前必须调用.se
  • IFIntegrationUtils  :提供登录,登出服务器;获取目录树;收藏夹的方法等.
  • IFEntryNode:获取目录树/收藏夹方法返回的节点对象,可以从中取到获取节点的个各种信息,例如名称,是否是文件夹,子节点等
  • IFOEMUtils:用于定制App,例如更换默认服务器,自定义目录树右上角设置按钮,自定义消息提醒方式,更换关于界面里的图标等

------------------------------------------------------------------------------------------------------------------------------------------------

0. 初始化类  FRSDK 

 
/**
* 初始化属性类.
* @param context 上下文.
*/
public static void initSDK(Context context)

 

1. 集成工具类  IFIntegrationUtils  

/**
* 登录服务器.
* @param context 上下文
 * @param serverUrl 服务器地址
 * @param userName 用户名
 * @param password 用户密码
 * @其中CallBackLoad为回调接口, 登录成功, 返回当前服务器信息, 可以在登录失败时, 直接返回详细的错误信息.
 * 登录成功后具体返回参数说明如下
 * {
 * authType:"default" //认证方式,如ldap
 * companyname:"FineReport" //公司名称
 * encoding:"GBK"  //服务器编码方式
 * homePageUrl:"about:blank"  //首页地址
 * isAdmin:false  //当前用户是否是管理员
 * isTableDataUser:true  //服务器是否开启同步数据集
 * licmac:""  //lic文件中注册的mac地址
 * macaddress:"00:16:3E:00:28:C9"  //当前服务器mac地址
 * projectname:""  //lic中注册的工程名
 * }
 */
 
public static void logInto(Context context, String serverUrl, String userName, String password, final CallBackLoad<JSONObject> loadCallBack)


/**
* 获取目录树的节点信息, 这边只是全部的, 可用于展示所有节点.
* * @param context 上下文
 * @param getTreeCallback 回调函数
 */
public static void loadReportTree(Context context, final Callback<List<IFEntryNode>> getTreeCallback)


/**
* 加载收藏目录节点
 * @param loadFavoritesCallBack 加载回调函数
 */
public static void loadFavorites(final Callback<List<IFEntryNode>> loadFavoritesCallBack)

 
/**
* 加载目录节点 对应的Entry View
* @param mContext 上下文
 * @param node 目录节点
 * IFEntryNode 说明
 * id 服务器后台返回的节点id
* mobileCoverId 移动端对应的目录节点封面id 简单 a, b, c则为本地res资源的封面. 否则为自定义封面
 * text 节点名称
 * type 节点类型 文件夹or文件
 * favoriteid 收藏对应的id -1未收藏
 * showType 展示类型 对应报表的 IFReportShowType.VIEW 预览 分析 填报
 * childNodes 节点的子节点列表
 * nodeJSON 完整的json数据节点.
* url 表示是否为url类型的节点
 */
public static void loadEntryView(Context mContext, IFEntryNode node)

/**
* 无欢迎界面登录
 * @param context 环境
 * @param serverUrl 服务器地址
 * @param name 用户名
 * @param pass 用户密码
 * @param title 服务器标题
 */
public static void loginWithoutWelcome(Context context, String serverUrl, String name, String pass, String title)

/**
* 无欢迎界面登录
 * @param context 环境
 * @param serverUrl 服务器地址
 * @param name 用户名
 * @param pass 用户密码
 * @param title 服务器标题
 * @param frextra 额外的参数 客户定义的参数 FR拿到之后传递到后台登录 在后台客户做过滤等用途
 */
public static void loginWithoutWelcome(final Context context, String serverUrl, String name, String pass, String title, Bundle frextra)

/**
* 服务器登出
 */
public static void logout()

 
 
/**
* 保存服务器信息 到数据库, 一般在离线下载或者使用暂存界面时 先使用.
* @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)

 
/**
* 删除全部已有服务器
 * @param context
*/
public static void removeAllServer(Context context)

 
/**
* 删除服务器
 *
* @param serverName 服务器名
 * @param serverUrl 服务器URL
*/
public static void removeServer(Context context, String serverName, String serverUrl)

 
/**
* 删除FR内置的Demo服务器
 */
public static void removeDemoServer(Context context)


 

/**
* 添加服务器, 先判断是否已经存在同名服务器, 不存在, 才添加.(ios一致)
* @param context 上下文
 * @param serverName 服务器名
 * @param serverUrl 服务器地址
 */
public static void addServer(Context context, String serverName, String serverUrl)

 
/**
* 判断服务器名是否已经存在.
* @param context 上下文
 * @param serverName 服务器名
 * @return
*/
public static boolean isServerExists(Context context, String serverName)
 
 
/**
* 增加服务器,如果有同名服务器则添加失败
 *
* @param context 上下文
 * @param serverName 服务器名
 * @param serverUrl 服务器URL
* @param userEditable 用户是否可编辑,默认true
*/
public static void addServerWithCheck(final Context context, final String serverName, final String serverUrl, final boolean userEditable)



2. IFEntryNode 目录节点对象

/**
* 是否directory
*
* @return 是否文件路径
 */
public boolean isDir()

 
/**
* 是否是单文件
 *
* @return 是否单文件
 */
public boolean isSingleDir()

 
/**
* 是否为收藏
 *
* @return 是否收藏
 */
public boolean isFavorite()

 
/**
* 返回node名称
 * @return
*/
public String getText()

 
/**
* 返回节点链接的地址
 * @return 链接地址
 */
public String getUrl()




 

3. IFOEMUtils  OEM定制工具类 

/**
* 设置使用fr自带设置界面
 */
public static void useDefaultSettingView()

/**
* 设置隐藏FR设置界面的下面四个按钮
 */
public static void hideFRExtraItems()

/**
* 在设置界面增加自定义按钮
 * @param title 按钮显示文字
 * @param listener 按钮点击事件
 */
public static void addCustomSettingItem(String title, View.OnClickListener listener)

/**
* 直接设置 自定义设置数组的类
 * @param clazz
*/
public static void registerCustomClass(Class<? extends IFCustomCreateItem> clazz)

/**
* 清除自定义按钮
 */
public static void clearSettingItem()

 
/**
* phone端中针对原生图表的动画效果接口. (pad端出于性能考虑 不受此接口影响)
* 出于性能考虑, OEM, 可以通过此接口关闭phone端的原生图表动画, 减少性能消耗.
* 开启之后, 原生图表可以动态效果展示 (原生图表必须已经设置了开启动态展示才有效果, 否则仍然为非动态效果)
*/
public static void openPhoneAnimateChart()
 
/**
* phone端中针对原生图表的动画效果接口. (pad端出于性能考虑 不受此接口影响)
* 出于性能考虑, OEM, 可以通过此接口关闭phone端的原生图表动画, 减少性能消耗.
* 关闭之后, 原生图表不再动态效果展示.
*/
public static void closePhoneAnimateChart()
 
/**
* 显示 App设置按钮
 */
public static void showServerOptions()

/**
* 移除FR内置的关于界面
 */
public static void removeAbout()

/**
* 设置关于界面的app名称
 * @param appName
*/
public static void setAppName(String appName)

/**
* 设置关于界面的app图标
 * @param appIcon
*/
public static void setAppIcon(String appIcon)

/**
* 设置关于界面的版本号
 * @param version
*/
public static void setAppVersion(String version)

/**
* 设置版本日期
 * @param date
*/
public static void setAppDate(String date)

/**
* 设置版权信息
 * @param info
*/
public static void setCopyrightInfo(String info)

 
/**
* 关闭FROEM版本更新检测
 * app在每次登录时, 会进行版本检测, 此接口关闭版本检测功能.
*/
public static void disableUpdate()

 
/**
* 打开FROEM版本更新检测
 * app在每次登录时, 会进行版本检测, 此接口就是启用版本检测功能.
*/
public static void enableUpdate()

/**
* 设置模板标题的大小, 颜色, 字体.
* @param color 颜色
 * @param size 大小
 * @param typeface 字体
 */
public static void setTitleFont(int color, int size, Typeface typeface)

/**
* 保持Pad上目录在左侧, 右侧部分展示报表.
*/
public static void keepFolderLeftOnPad()

/**
* 把首页放到一级目录上
 */
public static void putHomePageOnFolder()

/**
* 设置是否支持收藏功能
 * @param isSupportFavorite 是否支持
 */
public static void supportFavorite(boolean isSupportFavorite)

/**
* 在一级目录上添加自定义节点.
* @param nodeName 节点名称
 * @param imageid 图片资源名称
 * @param nodeUrl 节点模板地址.
*/
public static void addNodeOnFolder(String nodeName, String nodeUrl, String imageid, String serverUrl)

/**
* 清除主目录上的自定义节点.
*/
public static void clearNodeOnFolder()

/**
* 新增:自定义设置按钮的点击事件
 */
public static void setOptionCustomEvent(IFSingleTabListener listener)

 
/**
* 设置版本检查更新地址.
* 其中url返回json格式数据,格式为:
* {
"version""2",
"url""http://xxxxxx.apk"
}
* 说明: 简单的版本管理系统, 帮助客户做版本管理.
* 每次登录之后会通过此接口地址返回json检测版本信息并比较版本号, 如果有新的(大于原本号) 则提示更新, 更新之后去指定url下载apk, 如果没有新的, 则不做任何操作.
* @param url 版本检查更新地址.
*/
public static void setOEMCheckVersionUrl(String url)

 
 
/**
* 在第一次安装启动app, 是否进入引导页. 默认true;
* 说明: FR app版本, 在首次安装在移动端时, 会有引导页指引客户, 此接口可以在oem时设置是否使用这个引导页.
* @param isUseGuidePage
*/
public static void setUseGuidePage(boolean isUseGuidePage) 

 
/**
* 设置是否显示主目录, 左侧, 返回按钮.
* @param showBack 是否显示.
*/
public static void showMainMenuLeftBackButton(boolean showBack)


  • 无标签