Android集成调用

接口文件说明

Android提供的接口包对应的文件目录结构及相关的说明如下:

按照以上目录结果对文件进行拷贝后,需要对AndroidManifest.xml文件进行合并或拷贝:

调用与实现

移动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);