模拟机调试数字管家页面.md 3.3 KB

模拟机调试数字管家页面

一、添加按钮实现跳转

1、在MainAbility添加路由

public static final String ACTION_DUSTBIN = "action.dustbin";				//定义全局变量

super.addActionRoute(ACTION_DUSTBIN, DustbinAbilitySlice.class.getName());	//在onStart添加路由	DustbinAbilitySlice为跳转的页面

2、修改配置config.json

config.json在\DistSchedule\entry\src\main下;在这两处添加"action.dustbin",

action1

action2

3、修改主页的xml文件

在\DistSchedule\entry\src\main\resources\base\layout找到ability_main.xml添加but1按钮

<Button
    ohos:id="$+id:but1"
    ohos:height="40vp"
    ohos:width="280vp"
    ohos:background_element="$graphic:background_ability_login"
    ohos:text="dustbin"
    ohos:text_color="#FFFFFF"
    ohos:text_size="14vp"
    ohos:top_margin="32vp"/>

4、修改主页的slice

文件位置:DistSchedule\entry\src\main\java\com\example\distschedule\slice\MainAbilitySlice.java

action3

import com.example.distschedule.slice.*;				//添加导包

Button but1;

but1 =(Button) findComponentById(ResourceTable.Id_but1);
but1.setClickedListener(this);

    @Override
    public void onClick(Component component){			//添加点击事件
        if(component==but1){
            //无参数无返回
            Intent i=new Intent();
            present(new DustbinAbilitySlice(),i);		//DustbinAbilitySlice为跳转的页面

        }
    }

5、在跳转的DustbinAbilitySlice页面手动添加deviceId

private String deviceId="61d2add4a61a2a029ccbe02d_SmartDustbin001";

//deviceId=intent.getStringParam("deviceId");//注释掉

二、在模拟机上模拟添加设备

可以在主页添加一个按钮but2来实现跳转

1、修改AddDeviceAbilitySlice.java文件

/*注释这段判断语句
String paramsFormJS = (String) intent.getParams().getParam("__startParams");
if (!StringUtils.isEmpty(paramsFormJS)) {
    JSONObject jsonObject = JSONObject.parseObject(paramsFormJS);
    String deviceId = (String) jsonObject.get("deviceId");
    if (!StringUtils.isEmpty(deviceId)) {
        CommonUtil.judgeDevice(getContext(), deviceId, new Intent());
        terminateAbility();
    }
} else {
*/

2、修改TLVUtil.java文件

在getNfcInfo()中跳转到TLVUtil.java

public static NFCData getNFCData(String base64String) {
    NFCData nfcData = new NFCData();
    int position = 0;
    String string = "12461d2add4a61a2a029ccbe02d215SmartDustbin002308123456784011511TmX-Dustbin";//添加nfc标签
    while (position + TAG_LENGTH + LEN_LENGTH < string.length()) {
        KLog.i("NFC tlv解析 position=" + position);
        TLV tlv = getTLV(string, position);
        setNFCData(nfcData, tlv);
        position += tlv.getTLVLength();
        KLog.i("NFC tlv解析 tag=" + tlv.getTag() + ",value=" + tlv.getValue());
    }
    return nfcData;
}

三、效果图

action4