佳博打印机android版本代码优化

来源:互联网 发布:已亭亭如盖矣 知乎 编辑:程序博客网 时间:2024/04/27 19:38


最近公司需要使用蓝牙打印功能,买了两个样机,一个是佳博,另外一个是MobilePrinter. 不得不说因为都用的人比较少,开发文档都比较坑,佳博打印机虽然文档还算完整,但是demo实在很难看,业务流程很乱,功能太多代码结构也很不清晰,现在就整理一下佳博打印机的demo,使用观察者模式使得业务流程变清晰.代码可扩展性变得更好看.


需求:android手机集成佳博打印机实现排队叫号蓝牙打印功能.


具体流程:

1.复制aidl文件夹及aidl文件至main目录下


2.复制 libs文件到项目中


3. manifest添加必要的权限和相关内容,参看demo

4. 项目目录结构:


MainActivity里面发起广播消息并注册观察者,BluetoothReceiver收到消息后发起消息,MainActivity收到消息后做出相应的修改,具体代码为:

    @Override    public void update(Observable observable, Object o) {        int type= (int) o;        switch (type){            case BluetoothObserver.SEND_RECEIPT:                sendReceipt();                break;            case BluetoothObserver.ACTION_DEVICE_REAL_STATUS_NORMAL:                gpPrint();                break;            case BluetoothObserver.ACTION_DEVICE_REAL_STATUS_UNNORMAL:                //发现状态错误                //1.先看看有没有配对                doGetBondedDevices();                if(mDevice!=null){                    //配对了                    connectOrDisConnectToDevice();                }else{                    //去配对                    mBtAdapter.startDiscovery();                }                break;            case BluetoothObserver.GP_PAIRED:                Log.d("aaaa","11111");                connectOrDisConnectToDevice();                break;        }    }

具体的代码已上传github请参看:https://github.com/Samcasa/GPprinter


原创粉丝点击