亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

React Native Socket 連接打印機(jī)推送指令

3fuyu / 3284人閱讀

摘要:序公司因?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

相關(guān)文章

  • React系列——websocket群聊系統(tǒng)在react的實(shí)現(xiàn)

    摘要:前奏這篇文章僅對(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搭建的,很模糊...

    Acceml 評(píng)論0 收藏0
  • 利用 socket.io 實(shí)現(xiàn)消息實(shí)時(shí)推送

    摘要:為了達(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,這里...

    RobinQu 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<