- 在搞 PLC 上位机. 后台, 安卓, web 前端, 桌面端一条龙, 天天在 java, c#, js 之间无缝切换.
- 经常是一个功能接着一个功能, 一个前端接着一个前端, 一个 android app 接着一个 android app, 换个客户就要根据客户厂内实际情况改这里改那里.
- 功能都不复杂, 要的就是快速响应, 越快越好.
- 最近 android app 变更频繁, 我本来主攻 c#和 java 后台. 安卓实在是不熟, 开发速度慢了被催死了, 天天加班加到晚上十点十二点周末无休的.
- 想问问有没有啥办法能用 js 开发么? 安卓我一来不熟悉开发慢, 二来每次改了点啥看效果, 都要点下 android studio 上面的 debug 按钮, 然后编译打包 install 到 PDA, 光这个 debug 每次就要等个 30 秒, 太恶心了.
- 如果是 js, vue 这种, 改了啥立马就能刷新效果的就好了, 我就不用天天熬夜了.
- 曾想过直接开发 pwa 应用, 但是没办法, 工业用的安卓 PDA 需要对接 PDA 上的扫码器. 基本就是发个广播通知 PDA 上的扫码器, 再注册个广播接收扫码结果. 纯 js 它干不了这个啊. 我该怎么办? 在原生安卓里添加一个 webview, 再把收到的扫码结果传递到 webview 里去么?
- 调用 PDA 扫码器和接收扫码结果的代码如下:
private static final String ACTION_CLAIM_SCANNER = "com.honeywell.aidc.action.ACTION_CLAIM_SCANNER";
private static final String EXTRA_PROPERTIES = "com.honeywell.aidc.extra.EXTRA_PROPERTIES";
@Override
public void use() {
// 指定扫码结果广播接收器的 ACTION 名称
Bundle properties = new Bundle();
properties.putBoolean("DPR_DATA_INTENT", true);
properties.putString("DPR_DATA_INTENT_ACTION", ACTION_BARCODE_DATA);
// 如需启用指定的 profile, 可 putExtra(EXTRA_PROFILE, "MyProfile1")
Intent intent = new Intent(ACTION_CLAIM_SCANNER).putExtra(EXTRA_PROPERTIES, properties);
context.sendBroadcast(intent);
// 注册扫码结果广播接收器
context.registerReceiver(receiver, new IntentFilter(ACTION_BARCODE_DATA));
}
private static final String ACTION_RELEASE_SCANNER = "com.honeywell.aidc.action.ACTION_RELEASE_SCANNER";
@Override
public void release() {
listeners.clear();
context.unregisterReceiver(receiver);
context.sendBroadcast(new Intent(ACTION_RELEASE_SCANNER).setPackage("com.intermec.datacollectionservice"));
}