摘要:序公司因?yàn)闃I(yè)務(wù)需要,開發(fā)安卓掃描槍打印快遞單之類的,踩了一天的坑,終于在隊(duì)友幫助下搞定原理很簡單,利用打印機(jī)的通信話不多說,直接擼代碼因?yàn)椴恢С滞ㄐ?,所以需要自己編寫原生去?shí)現(xiàn)連接打印機(jī)失敗上面是一個(gè)原生方法,怎么寫原生我就不說了,百度下就
序
公司因?yàn)闃I(yè)務(wù)需要,開發(fā)安卓掃描槍打印快遞單之類的,踩了一天的坑,終于在隊(duì)友幫助下搞定
原理很簡單,利用打印機(jī)的socket通信
話不多說,直接擼代碼
因?yàn)閖s不支持Socket通信,所以需要自己編寫原生去實(shí)現(xiàn)
@ReactMethod public void print(String ip,Integer port, String msg, Promise promise) { try{ Socket socket = new Socket(ip, port); if (socket.isConnected() ) { InputStream inputStream = socket.getInputStream(); OutputStream os = socket.getOutputStream(); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(os)); bw.write(msg); bw.flush(); promise.resolve("success"); } else { promise.reject("連接打印機(jī)失敗"); } }catch (Exception ex){ promise.reject(ex.fillInStackTrace()); } }
上面是一個(gè)原生方法,怎么寫原生我就不說了,百度下就知道
開始的時(shí)候也遇到個(gè)小坑,VSCode的import java Class 是在糟糕,求看到人推薦個(gè)好用的插件,總之就是盡然不識(shí)別 promise類!!
啊,尷尬,后來看了下react-native-camera的源碼,看到的是加了
import com.facebook.react.bridge.Promise;
好吧,還是手動(dòng)引入了(勿噴,本人之前沒寫過原生,總有第一次嘛,?)
之后的話就是在前端調(diào)用就可以了
import { NativeModules } from "react-native" NativeModules.PrintExtension.print( printAddr.split(":")[0], printAddr.split(":")[1]*1, "^XA^FO100,75^BY3^B3N,N,100,Y,N^FD123ABC^XZ").then((c) => { console.log(c) if (c!=="success") { Modal.alert("打印失敗", c, [ { text: "確定"}, ]) } },(c)=>{ console.log(c) })
記得之前看過某個(gè)人寫的文章說到,你寫RN,就得有寫原生的準(zhǔn)備,嗯,現(xiàn)在也是深表同意
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/93721.html
摘要:前奏這篇文章僅對(duì)不熟悉在中使用的人以及入門者有幫助?;窘榻B想要實(shí)現(xiàn)一種實(shí)時(shí)的雙向通信聊天系統(tǒng),你可能會(huì)想到輪詢長或短,但你最想要的還是的實(shí)現(xiàn)??蛻舳说膶?shí)現(xiàn)端的實(shí)現(xiàn),才是我們應(yīng)該關(guān)注的重點(diǎn)。 前奏 這篇文章僅對(duì)不熟悉在react中使用socket.io的人、以及websocket入門者有幫助。 下面這個(gè)動(dòng)態(tài)圖展示的聊天系統(tǒng)是用react+express+websocket搭建的,很模糊...
摘要:為了達(dá)到這種雙向的實(shí)時(shí)消息傳遞,很明顯地考慮用來實(shí)現(xiàn)。注意這個(gè)文件并不能用在實(shí)際的項(xiàng)目中,只是用來顯示消息推送的效果而已。參考資料本文在我博客上的原地址利用實(shí)現(xiàn)消息實(shí)時(shí)推送 項(xiàng)目背景介紹 最近在寫的項(xiàng)目中存在著社交模塊,需要實(shí)現(xiàn)這樣的一個(gè)功能:當(dāng)發(fā)生了用戶被點(diǎn)贊、評(píng)論、關(guān)注等操作時(shí),需要由服務(wù)器向用戶實(shí)時(shí)地推送一條消息。最終完成的項(xiàng)目地址為:socket-message-push,這里...
閱讀 1229·2023-04-25 19:35
閱讀 2960·2021-11-22 09:34
閱讀 3875·2021-10-09 09:44
閱讀 1807·2021-09-22 15:25
閱讀 2998·2019-08-29 14:00
閱讀 3447·2019-08-29 11:01
閱讀 2683·2019-08-26 13:26
閱讀 1808·2019-08-23 18:08