.NET MAUI Android 对接商米移动手持终端打印JAVA SDK

这篇具有很好参考价值的文章主要介绍了.NET MAUI Android 对接商米移动手持终端打印JAVA SDK。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、前言(整个流程除了调整打印模板位子,操作下来还是挺快的 几分钟就搞定,文章图片比较多大家可能感觉操作比较麻烦,其实挺简单的)

  因甲方需求,需要对现项目进行升级,需要增加移动手持终端进行巡检,巡检时还需要对商品进行抽检并打印热敏不干胶标签进行贴到抽样样品上。在这样的背景下便在JD进行了采样,进行技术性研究。本文章将一步一步教大家如何使用.NET MAUI 来集成java printerx 来实现使用MAUI 在移动终端上进行标签打印。 下方是采购的移动终端设备。

.NET MAUI Android 对接商米移动手持终端打印JAVA SDK

二、下载AAR 开发SDK

 通过官方文档我们得知 设备的打印SDK包是 printerx,开发包是JAVA开发的,这种情况如何使用MAUI进行对接呢?这难不倒我们,我们今天就用.NET MAUI 来进行集成 printerx

.NET MAUI Android 对接商米移动手持终端打印JAVA SDK

  1、打开https://mvnrepository.com 网站,搜索 printerx

   https://mvnrepository.com/search?q=printerx 

.NET MAUI Android 对接商米移动手持终端打印JAVA SDK

 2、点击 printerx 进去后,我们选择最新版 “1.0.14”

.NET MAUI Android 对接商米移动手持终端打印JAVA SDK

3、然后点击 View All ,将看到如下界面。

.NET MAUI Android 对接商米移动手持终端打印JAVA SDK

 4、第一个 printerx-1.0.14.aar 是我们需要下载的文件,点击将来文件下载到本地桌面。

.NET MAUI Android 对接商米移动手持终端打印JAVA SDK

三、在MAUI中集成AAR SDK

  1、是用VS2022 新建MAUI项目(.NET 7),然后添加新项目“Android 绑定库(Xmarin)”,没有“Android 绑定库(Xmarin)”的在installer中选择安装 Xmarin。

.NET MAUI Android 对接商米移动手持终端打印JAVA SDK

.NET MAUI Android 对接商米移动手持终端打印JAVA SDK

2、打开“Android 绑定库(Xmarin)”项目,打开 Jars文件夹,将之前下载的 printerx-1.0.14.aar 拷贝进文件夹内。

.NET MAUI Android 对接商米移动手持终端打印JAVA SDK

 3、右击 printerx-1.0.14.aar 选择属性,将生成操作选择 “LibraryProjectZip”。

.NET MAUI Android 对接商米移动手持终端打印JAVA SDK

 4、查看项目属性,和我的保持一致。

.NET MAUI Android 对接商米移动手持终端打印JAVA SDK

 5、将MAUI项目中 安卓端引用 “Android 绑定库(Xmarin)”项目。

.NET MAUI Android 对接商米移动手持终端打印JAVA SDK

6、应为前几次测试的时候,WIndows、IOS端有报错提示不兼容发生,我将其他端都删掉了,只保留了安卓端。

四、调试移动终端

1、为了方便测试 我把代码写到了"MainPage.xaml.cs",MAUI自动生成的代码没有删除,也再文件中。以下是完整代码,应为是技术性测试所以代码写的不是很规范,打印标签的位子也是写的很随意,正式放到项目中将优化。

using Android.Icu.Text;
using Com.Sunmi.Printerx;
using Java.Interop;
using Java.Util;

namespace MauiApp1
{
    public partial class MainPage : ContentPage
    {
        int count = 0;

        public MainPage()
        {
            InitializeComponent();
        }


        public Com.Sunmi.Printerx.PrinterSdk.Printer Printer;
        private void OnCounterClicked(object sender, EventArgs e)
        {
            var listen = new PrinterListen();
            Com.Sunmi.Printerx.PrinterSdk.Instance.GetPrinter(
                Android.App.Application.Context, listen
                );
           

            count++;

            if (count == 1)
                CounterBtn.Text = $"Clicked {count} time";
            else
                CounterBtn.Text = $"Clicked {count} times";

            SemanticScreenReader.Announce(CounterBtn.Text);
        }

        public class PrintResult2 : Com.Sunmi.Printerx.Api.PrintResult
        {
            
            public override void OnResult(int p0, string p1)
            {
                
            }
        }
       //获取打印机监
        public class PrinterListen : Java.Lang.Object, Com.Sunmi.Printerx.PrinterSdk.IPrinterListen
        {
            public Com.Sunmi.Printerx.PrinterSdk.Printer Printer;
            

            public void OnDefPrinter(PrinterSdk.Printer p0)
            {
                this.Printer  = p0;//获取到打印机
                
                var api = Printer.CanvasApi();
                
                api.InitCanvas(Com.Sunmi.Printerx.Style.BaseStyle.Style.SetWidth(52*8).SetHeight(35*8));//初始化
                api.RenderArea(Com.Sunmi.Printerx.Style.AreaStyle.Style.SetWidth(49*8).SetHeight(33*8)//设置打印区域
                    .SetStyle(Com.Sunmi.Printerx.Enums.Shape.RectWhite)
                    .SetPosX(0).SetPosY(0));
                api.RenderText("标题",  //打印字符串
                    Com.Sunmi.Printerx.Style.TextStyle.Style
                   .SetAlign(Com.Sunmi.Printerx.Enums.Align.Center)
                    .SetTextSize(32)
                    .SetPosX(208).SetPosY(16)
                    );
                api.RenderText("商品名称(车牌号)", 
                 Com.Sunmi.Printerx.Style.TextStyle.Style
                     .SetAlign(Com.Sunmi.Printerx.Enums.Align.Center)
                 .SetTextSize(30)
                 .SetPosX(208).SetPosY(40 + 10)
                 .EnableBold(true)

                 );

                api.RenderBarCode("2311202003400013",//打印条形码
                   Com.Sunmi.Printerx.Style.BarcodeStyle.Style
                       .SetAlign(Com.Sunmi.Printerx.Enums.Align.Center)
                   .SetPosX(208).SetPosY(38+12+30)
                   .SetBarHeight(80).SetDotWidth(3)
                   .SetWidth(350)
                   );

                api.RenderText("2311202003400013",
                  Com.Sunmi.Printerx.Style.TextStyle.Style
                      .SetAlign(Com.Sunmi.Printerx.Enums.Align.Center)
                 // .SetTextSize(24)
                  .SetPosX(208).SetPosY(38+32+95)

                  );
                api.RenderText("商户姓名:姓名007",
                Com.Sunmi.Printerx.Style.TextStyle.Style
                  //  .SetAlign(Com.Sunmi.Printerx.Enums.Align.Center)
                // .SetTextSize(20)
                 .EnableBold(true)
                .SetPosX(30).SetPosY(38 + 32 + 100  +23)

                );

                api.RenderText("抽样时间:2023-11-02 13:00",
            Com.Sunmi.Printerx.Style.TextStyle.Style
                  .EnableBold(true)
            .SetPosX(30).SetPosY(38 + 32 + 100  +25+25)

            );
                var printReuslt = new PrintResult2();
                api.PrintCanvas(1, printReuslt);

            }

            public void OnPrinters(IList<PrinterSdk.Printer> p0)
            {
                this.Printer.Dispose();
            }
        }
    }

}

五、完成对接

 通过以上操作便可以打印出标签了,以下是测试效果。

.NET MAUI Android 对接商米移动手持终端打印JAVA SDK .NET MAUI Android 对接商米移动手持终端打印JAVA SDK

 文章来源地址https://www.toymoban.com/news/detail-747539.html

到了这里,关于.NET MAUI Android 对接商米移动手持终端打印JAVA SDK的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [MAUI]在.NET MAUI中复刻苹果Cover Flow

    @ 目录 原理 3D旋转 平行变换 创建3D变换控件 绘制封面图片 应用3D旋转 应用平行变换 绘制倒影 创建绑定属性 创建绑定数据 创建布局 计算位置 计算3D旋转 创建动效 项目地址 Cover Flow是iTunes和Finder中的一个视图选项,允许用户使用水平滚动的图像查看他们的音乐库或文件。

    2024年02月05日
    浏览(39)
  • [MAUI]在.NET MAUI中实现可拖拽排序列表

    .NET MAUI 中提供了拖放(drag-drop)手势识别器,允许用户通过拖动手势来移动控件。在这篇文章中,我们将学习如何使用拖放手势识别器来实现可拖拽排序列表。在本例中,列表中显示不同大小的磁贴(Tile)并且可以拖拽排序。 使用.NET MAU实现跨平台支持,本项目可运行于Andro

    2024年02月12日
    浏览(46)
  • .NET MAUI 性能提升

    .NET多平台应用程序UI (MAUI)将android、iOS、macOS和Windows API统一为一个API,这样你就可以编写一个应用程序在许多平台上本机运行。我们专注于提高您的日常生产力以及您的应用程序的性能。我们认为,开发人员生产率的提高不应该以应用程序性能为代价。 应用程序的大小也是如

    2024年02月07日
    浏览(45)
  • [MAUI]深入了解.NET MAUI Blazor与Vue的混合开发

    .NET MAUI结合Vue的混合开发可以使用更加熟悉的Vue的语法代替Blazor语法,你现有项目不必重写。之前写过一篇 [MAUI] 在.NET MAUI中结合Vue实现混合开发 ,其中介绍了如何创建一个vue应用并将其打包至MAUI项目,这种方式依赖vue-cli创建和打包静态站点,好处是可以使用Node.js 的构建但

    2024年02月08日
    浏览(42)
  • 基于Sane成功解决路由器改OpenWrt打印扫描服务器的手机移动端(IOS、Android)扫描功能实现问题

    家里有一台HP打印扫描一体机HP DJ 2300 series PCL-3,不具备打印和扫描功能。之后买了一个TPlink的wr703n路由器,刷了OpenWrt系统,安装p910nd,通过9100端口的方式实现了无线打印(具体看我写的这篇:TP-LINK-TL-WR703N(原装)制作打印服务器过程记录整理)。但在后期的使用过程中,

    2024年02月06日
    浏览(91)
  • 宣布 .NET MAUI 支持 .NET 7 Release Candidate 2

    支持 .NET 7 Release Candidate 2的 .NET 多平台应用程序 UI (MAUI) 现在可在 Windows 和 Mac 上的 Visual Studio 17.4 Preview 4 中使用。RC2 的主要主题是质量和对带有 iOS 16 的 Xcode 14 的 .NET 支持。此版本包含在生产中使用的上线支持许可证。 在相关新闻中,还为 MSAL.NET 和 App Center(预览版)提供

    2024年02月10日
    浏览(41)
  • .NET MAUI 安卓 UI 资源设置

    本文主要介绍使用 MAUI 开发安卓应用时,如何更换和处理 UI 资源:应用名称,图标,主题配色,状态栏,闪屏。 平常比较喜欢看小说,但是不知道从何时起,已经找不到一个纯粹的本地小说阅读器了。也能理解,毕竟不能只靠爱心发电,在线资源也就算了,我本地的 TXT 你也

    2024年02月10日
    浏览(40)
  • 【C#/.NET】MAUI上的依赖注入

    ​         在移动应用开发中,依赖注入是一项非常重要的技术,它可以帮助我们简化代码结构、提高可维护性并增加测试覆盖率。在最新的.NET跨平台框架MAUI中,我们也可以利用依赖注入来构建高效的应用程序架构。本文将详细介绍在MAUI上如何使用依赖注入,旨在帮助

    2024年02月11日
    浏览(39)
  • Visual Studio 2022 正式支持 .NET MAUI 开发

    我们很高兴地宣布 Visual Studio 2022 正式支持 .NET MAUI 开发。现在,您可以使用 .NET 更快地构建跨平台原生客户端应用程序,并将它们从单个代码库发布到 Android、iOS、macOS 和 Windows。 此版本还提供了 .NET MAUI SDK 的最新稳定性改进,这是自 2022 年 5 月 正式发布(GA)发布以来的第

    2024年02月11日
    浏览(45)
  • .net 8 发布了,试下微软最近强推的MAUI

    先看下实现的效果: 下面发下XAML文件: .cs文件: 下一个示例实现调用手机的蓝牙或者一些设备。

    2024年02月04日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包