一些常用的方法集合


设置点击事件

function backClicked()
    ui:tip('点击显示')
end

ui:setClickEvent('cid_back', 'backClicked');

页面返回方法

function backClicked()
    ui:closeDialog()
end

ui:setClickEvent('cid_back', 'backClicked');

异步请求通信

function tbCLickSync()
    local itIn = CIntent();
    itIn:set("file", "test");
    itIn:set("cmd", "test");

    --控制超时等待时长,单次有效,必须在异步请求中使用
    --itIn:set("app_invocation_time_out", "600000");

    ui:showLoadingDialog()      --显示加载框
    db:execCmdSync(itIn, function(outIt)
        ui:tip(outIt:toString())
        --得到服务器返回结果 outIt
        ui:dismissDialog()  --隐藏加载框
    end )
end

扫码控件事件

function process_barcode(sType,sBarCode)
    if sType == 1000 then
        ui:tip(sBarCode)
        return
    end

end

--- 扫码定义
ui:setScanBarcode('et_box_code', 1000)

获取扫码控件值

ui:get('result'):value()

弹出是否选择对话框

function tbTestOpenYesOrNo()
    local sInfo = string.format('确认报工?\n报废数量:%s',123);
    ui:msg(sInfo, function(tag)
        if tag then
            --选择了:是
        end
    end);
end

设置系统当天日期

local now = os.date('%Y-%m-%d')
ui:set('et_date', now)

选择日期

--选择日期
    ui:proxyCreateYYYYMMDDdialog(function(val)
        ui:set('et_date', val)
    end)

弹出选择框

function tbPopClicked()
    local help = CSelectHelp();
    help:addField('code');
    help:addField('name');

    local line = CVector();
    line:push_back('0');
    line:push_back('未开始');
    help:addVectorValue(line);

    line:clear();
    line:push_back('1');
    line:push_back('加工中');
    help:addVectorValue(line);

    --弹出选择
    ui:proxyCreateSingleChoiceDialog(help, 'name', function(row)
        local title = help:vs(row, 'name')
        ui:set('et_select', title)
    end)
end

聚焦扫码输入控件

ui:get("et_eqpt_code"):focusable(true)

动态设置listView控件高度

--屏幕高度 减去 其它控件高度,剩余高度设置成listView的高度,占满屏幕效果
ui:get('list_view'):flexCss("height: " .. sys.contH - 110 - 60 - 44 * 2)

listView中事件、数据绑定

local helpCache = CSelectHelp();
helpCache:addField('id');
    helpCache:addField('info');
    helpCache:addField('check');

    local line = CVector();
    for i = 0, 20 do
        line:clear()
        line:push_back(i);
        --line:push_back('信息:\n单号:100\n设备:设备1\n物料:AA\n换行4\n换行5\n换行6\n换行7');
        line:push_back('信息:');
        line:push_back('false')
        helpCache:addVectorValue(line);
    end

    --- 绑定listview显示
    --- list id
    --- 展示item宽
    --- 展示item高
    --- help数据
    --- 布局xml文件名
    --- 展示时,回调方法名
    --- 点击item时,回调方法名
    ui:bindListViewListener('id_android_list_collectionview_001', sys.contW, -2, helpCache,'app2_cell.xml',
            'showListView', 'onItemClick')

    function showListView(cell, section, row)
        --cell.objs['tv_info']:text(helpCache:vs(row, 'info'))
        --cell.objs["tv_info"]:textColor(0x000000)
    end

    function onItemClick(cell, section, row)
        local check = helpCache:vs(row, 'check')
        if check == 'false' then
            cell.objs["tv_info"]:textColor(0xbd183a)
            helpCache:setValueString(row, 'check', 'true')
        else
            cell.objs["tv_info"]:textColor(0x000000)
            helpCache:setValueString(row, 'check', 'false')
        end
    end

页面跳转传值

function tbTest1Clicked_bak()
    local itIn = CIntent();
    itIn:set("test1", "value1");

    local helpTmp = CSelectHelp()
    helpTmp:addField('id')
    helpTmp:addField('info')
    local line = CVector()
    line:push_back('1')
    line:push_back('okok')
    helpTmp:addVectorValue(line)
    itIn:setHelp('help', helpTmp)

    --跳转自定义页面示例:跳转页面名称,参数CIntent,回调标识,回调方法名
    ui:onFragmentShowSimpleActivity('meida_quality_list', itIn,  3000, 'selectCallback')
end

--requestCode:回调标识
--sInfo:回调信息
function selectCallback(requestCode, sInfo)
    if requestCode == 3000 then
        local inIt = CIntent()
        inIt:fromString(sInfo)
        --Toast(inIt:get('param1'))

        local helpTmp = CSelectHelp()
        inIt:getHelp('help',helpTmp)
        ui:tip(helpTmp:toString())

        return
    end
end

接收页面处理

--接收传入值
local helpTmp = CSelectHelp()
local other_page_var = ui:getDialogVar('test1');
ui:getDialogHelp('help', helpTmp)


--- 保存时,关闭,并返回值
function tbSaveClicked()
    local itIn = CIntent();
    itIn:set('param1', 'test')
    itIn:setHelp('help', helpTmp)
    ui:setReturnResult(itIn:toString())
    ui:closeDialog()
end

开发时调试代码段


--- 保存时,关闭,并返回值,待调试方法
function tbSaveClicked()
    local itIn = CIntent();
    itIn:set('param1', 'test')
    itIn:setHelp('help', helpTmp)
    ui:setReturnResult(itIn:toString())
    ui:closeDialog()
end

--语法报错,会提示错误信息
ui:debug('tbSaveClicked')

--ui:debug(function()
--    --出错 dd是nil值,手工临时写试错方法
--    dd:error()
--end)

动态改变显示的Y坐标


ui:get('id_contain_code'):hide(true)
local translate = Animation():translationY(-45):duration(0)
translate:with(ui:get('id_user_cn_name')):start()

短暂显示后消失


ui:showToastDialog()    
ui:showToastDialog('成功')  
ui:showToastDialog('失败', 'FINISH')  
ui:showToastDialog('失败', 'ERROR')  
ui:showToastDialog('警告', 'WARN')

主菜单页面显示横/竖屏设置


在数据库android菜单表的app_orientation字段,0值为横屏,1值为竖屏
若数据结构不同,请参照最新的数据库结构:app.zjtouchnet.com 2014 tn_iot_v3数据库中的表结构

代码调用其它页面设置显示横/竖屏设置


local itIn = CIntent();
itIn:set('app_orientation', '0')    --0值为横屏,1值为竖屏
ui:onFragmentShowSimpleActivity('app3', itIn,  3000, 'selectCallback')

调用上传图片UI及回调接收示例


function selectCallback(requestCode, sInfo)
    if requestCode == 4000 then
        m_helpPicture:fromString(sInfo)
        ui:set('img',m_helpPicture:vs(0,'qc_d_flow_files'))
        return
    end
end

function click_upload_btn()
    --保存图片调用接口方法
    local itIn = CIntent()
    itIn:set('file', 'hl_lab_qc')   --服务器接口
    itIn:set('cmd', 'upload_picture')   --服务器方法
    itIn:set('file_path','')    --调用接口接收路径值
    itIn:set('file_size', '')   --调用接口接收文件大小值
    itIn:set('old_file', m_helpPicture:vs(0,'qc_d_flow_files'))
    local uiParam = CIntent()
    uiParam:set('title', '上传图片列表')  --标题显示
    uiParam:set('remote_path', '/lab_qc/picture/')  --上传服务器路径
    ui:getPictureActivity(itIn, uiParam, 4000, m_helpPicture,'selectCallback')
end

mqtt接口通信格式

{
  "id":"****",            /*唯一ID*/
  "code":"1",
  "error":"无错误信息",
  "send_date":"",        /* 发送时间 */
  "level":"error",    /* 消息等级:error,waring,debug,info */
  "from":"",                /* 消息来源 userId */
  "to":"",                    /* 发送到 userId */
  "type":"normal",                /* 消息分类,可根据分类,确定扩展参数内容,扩展功能 */
  "title":"",                /* 消息标题 */
  "msg":"",                    /* 文本内容 */,
  "ext":{        /* 扩展参数 */
     "cid":"",            /* 菜单ID */
     "type":"lua",    /* 菜单类型:空为原生,lua,url */
     "url":"http://m.baidu.com",
     "recive_callback_file":"",        /* 收到信息回调接口file */
     "recive_callback_cmd":"",        /* 收到信息回调接口cmd */
     "recive_callback_ext":"",        /* 透传信息 */
  } 
}

//示例
{
  "id":"100000000",
    "code": "1",
    "error": "无错误信息",
    "send_date": "2020-11-11 10:00:00",
    "level": "error",
    "from": "",
    "to": "",
    "type": "normal",
    "title": "压铸设备A异常",
    "msg": "收不到产出信号,需具体排查",
    "ext": {
        "cid": "",
        "type": "url",
        "url":"http://m.baidu.com",
        "recive_callback_file":"test",
        "recive_callback_cmd":"test",
        "recive_callback_ext":""
    }
}

--服务器脚本发送信息语法

--发送全局信息,/common ,所有android都会收到此信息字符串
serv:sendMqtt('/common','接口格式json字符串');

--发送指定用户信息,/userId/****  ,***为登录用户id,此用户能收到相应信息
serv:sendMqtt('/userId/1111','接口格式json字符串');

Copyright © TouchNet 2015 all right reserved,powered by Gitbook最后修订时间: 2022-06-21 09:21:04

results matching ""

    No results matching ""