Android集成调用
接口文件说明
Android提供的接口包对应的文件目录结构及相关的说明如下:
按照以上目录结果对文件进行拷贝后,需要对AndroidManifest.xml文件进行合并或拷贝:
- 对所有的<uses-permission>的内容进行拷贝。
- 试情况拷贝Activity的定义,如果需要资源树,报表界面,则只需要拷贝这3个即可 DirectoryActivity ReportActivity InputReportActivity。
调用与实现
移动app提供了登录与服务器地址管理、资源树控制器、资源展现控制器三个接口,对这三个接口的调用和实现可以满足用户个性化需求。接口的具体作用和实现方法如下:
登录接口
可以通过调用调用GezAccess类方法来实现服务器地址设置及登录功能,
GezAccess.返回结果格式如下:
{"loginrlt":"0","failmsg":"密码错误!"}
loginrlt : 0 登录失败,1登录成功
failmsg : 记录失败原因。
示例代码如下:
try {
//传入hosturl(http://xxx:8800/reportmis)
//username(root)
//password(1)进行登录验证,得到验证结果
String result = GezAccess.accessWithParams(hosturl,username, password);
//返回的结果为json对象,并进行解析
JSONObject loginJsonObject = new JSONObject(result);
//得到登录结果,如果这个值为1,则登录成功
String loginState = loginJsonObject.getString("loginrlt");
// 登陆之后,保存sessionId到全局
String jsessionid = loginJsonObject.optString("jsessionid");
ReportProperty.getInstance().setJsessionid(jsessionid);
if("1".equals(loginState)){
((TextView)this.findViewById(R.id.tiptext)).setText("登录成功");
}
} catch (Exception e) {
e.printStackTrace();
}
资源树控制器
// 跳转报表目录界面
Intent dirintent = new Intent();
// 跳转到目录界面的信息,
//menuBarConfigFile为定制menubar信息的配置文件,
//需要放到res下的raw目录中.
menuBarCallBack为添加按钮的回调函数
String callbackClass = "com.example.DirlistMenuBarCallBack";
String forwardMsg = "{\"host\": \"" + hosturl
+ "\",\"userName\": \""+ username
+ "\",\"passWord\": \""+ password
+ "\",\"menuBarCallBack\": \""+callbackClass
+ "\",\"menuBarConfigFile\": \"dirlist_menubar_config.json\"}";
dirintent.putExtra("forwardMsg", forwardMsg);
dirintent.setClass(this,DirectoryActivity.class);
this.startActivity(dirintent);
资源展现控制器
对报表资源的展现分为普通报表展现和填报表展现,以下为对应的两种接口的实现实例。
- 普通报表接口
//报表页面所需的资源id和资源类型
String resid = "11309";
String resType = "12";
Intent reportIntent = new Intent(this, ReportActivity.class);
// 跳转到目录界面的信息,
//menuBarConfigFile为定制menubar信息的配置文件,
//需要放到res下的raw目录中.
//menuBarCallBack为添加按钮的回调函数
String callbackClass = "com.example.ReportMenuBarCallBack";
String forwardMsg = "{\"reportId\":\"" + resid + "\",\"reportType\":\""
+ resType + "\",\"host\":\"" + hosturl + "\",\"w\":\""
+ 500 + "\",\"h\":\"" + 300 + "\",\"userName\":\""
+ username + "\",\"passWord\":\"" + password
+ "\",\"menuBarCallBack\": \""+callbackClass
+ "\",\"menuBarConfigFile\": \"reportinfo_menubar_config.json\"}";
reportIntent.putExtra("forwardMsg", forwardMsg);
this.startActivity(reportIntent);
- 填报表接口
//填报表页面所需的资源id和资源类型
String resid = "11966";
String resType = "10009";
Intent reportIntent = new Intent(this, InputReportActivity.class);
// 跳转到目录界面的信息,
//menuBarConfigFile为定制menubar信息的配置文件,
//需要放到res下的raw目录中.
//menuBarCallBack为添加按钮的回调函数
String callbackClass = "com.example.InputReportMenuBarCallBack";
String forwardMsg = "{\"reportId\":\"" + resid + "\",\"reportType\":\""
+ resType + "\",\"host\":\"" + hosturl + "\",\"w\":\""
+ 500 + "\",\"h\":\"" + 300 + "\",\"userName\":\""
+ username + "\",\"passWord\":\"" + password
+ "\",\"menuBarCallBack\": \""+callbackClass
+ "\",\"menuBarConfigFile\": \"inputinfo_menubar_config.json\"}";
reportIntent.putExtra("forwardMsg", forwardMsg);
this.startActivity(reportIntent);
回调函数说明
当使用了工具条配置文件,添加按钮时,需要使用回调函数来处理新增按钮的点击等事件。
当点击按钮时,系统会调用客户提供的回调响应类,配置文件中该按钮的id作为参数被传递给回调方法。
需要调用com.raq.tab.IGezMenuBarCallBack接口,并实现下面这个方法
/*** 新增按钮的回调方法,* @param btnid 按钮在配置文件中的id值*/
public void performButtonClick(String btnid);