成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

React Native Socket 連接打印機推送指令

3fuyu / 3222人閱讀

摘要:序公司因為業(yè)務需要,開發(fā)安卓掃描槍打印快遞單之類的,踩了一天的坑,終于在隊友幫助下搞定原理很簡單,利用打印機的通信話不多說,直接擼代碼因為不支持通信,所以需要自己編寫原生去實現(xiàn)連接打印機失敗上面是一個原生方法,怎么寫原生我就不說了,百度下就


公司因為業(yè)務需要,開發(fā)安卓掃描槍打印快遞單之類的,踩了一天的坑,終于在隊友幫助下搞定
原理很簡單,利用打印機的socket通信
話不多說,直接擼代碼
因為js不支持Socket通信,所以需要自己編寫原生去實現(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("連接打印機失敗");
            }
        }catch (Exception ex){
            promise.reject(ex.fillInStackTrace());
        }

    }

上面是一個原生方法,怎么寫原生我就不說了,百度下就知道
開始的時候也遇到個小坑,VSCode的import java Class 是在糟糕,求看到人推薦個好用的插件,總之就是盡然不識別 promise類!!
啊,尷尬,后來看了下react-native-camera的源碼,看到的是加了

import com.facebook.react.bridge.Promise;

好吧,還是手動引入了(勿噴,本人之前沒寫過原生,總有第一次嘛,?)
之后的話就是在前端調用就可以了

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)
            })

記得之前看過某個人寫的文章說到,你寫RN,就得有寫原生的準備,嗯,現(xiàn)在也是深表同意

文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://systransis.cn/yun/93721.html

相關文章

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

    摘要:前奏這篇文章僅對不熟悉在中使用的人以及入門者有幫助?;窘榻B想要實現(xiàn)一種實時的雙向通信聊天系統(tǒng),你可能會想到輪詢長或短,但你最想要的還是的實現(xiàn)??蛻舳说膶崿F(xiàn)端的實現(xiàn),才是我們應該關注的重點。 前奏 這篇文章僅對不熟悉在react中使用socket.io的人、以及websocket入門者有幫助。 下面這個動態(tài)圖展示的聊天系統(tǒng)是用react+express+websocket搭建的,很模糊...

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

    摘要:為了達到這種雙向的實時消息傳遞,很明顯地考慮用來實現(xiàn)。注意這個文件并不能用在實際的項目中,只是用來顯示消息推送的效果而已。參考資料本文在我博客上的原地址利用實現(xiàn)消息實時推送 項目背景介紹 最近在寫的項目中存在著社交模塊,需要實現(xiàn)這樣的一個功能:當發(fā)生了用戶被點贊、評論、關注等操作時,需要由服務器向用戶實時地推送一條消息。最終完成的項目地址為:socket-message-push,這里...

    RobinQu 評論0 收藏0

發(fā)表評論

0條評論

3fuyu

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<