提交e9cceb72 通过 developer33

新增项目文件

父母
<?xml version="1.0" encoding="UTF-8"?>
<路径>
< classpathentry类型=" src "路径=""/>
< classpathentry类型=“骗”路径=“org.eclipse.jdt.launching.JRE_CONTAINER / org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType / JavaSE-15”/>
< classpathentry类型=“输出”路径=""/>
类路径< / >
<?xml version="1.0" encoding="UTF-8"?>
< projectDescription >
<名称>ufr-get_pan_java_jni_example< /名称>
<评论> < /评论>
<项目>
> < /项目
< buildSpec >
< buildCommand >
<名称>org.eclipse.jdt.core.javabuilder< /名称>
<参数>
> < /参数
< / buildCommand >
< / buildSpec >
<自然>
<自然>org.eclipse.jdt.core.javanature> < /性质
> < /性质
< / projectDescription >
eclipse.preferences.version = 1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode =启用
org.eclipse.jdt.core.compiler.codegen.targetPlatform = 15
org.eclipse.jdt.core.compiler.compliance = 15
org.eclipse.jdt.core.compiler.problem.assertIdentifier =错误
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures =禁用
org.eclipse.jdt.core.compiler.problem.enumIdentifier =错误
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures =警告
org.eclipse.jdt.core.compiler.release =启用
org.eclipse.jdt.core.compiler.source = 15
# uFR Java获取PAN示例
EMV_GetPan() Java实例,实现JNI和uFCoder API。建议IDE: Eclipse。用JavaSE-15测试
####入门
有关函数调用的API参考,请参阅文档。
使用以下命令生成'uFCoder_JNI.dll',这是运行本示例所必需的。
javac com/dlogic/uFCoder.java
javah com.dlogic.uFCoder
g++ -我”% JAVA_HOME %我\nclude % JAVA_HOME %的“我”我\nclude\ win32" -Iinclude -shared -Llib -luFCoder-x86_64 -o uFCoder_JNI.dll uFCoder.cpp .dll
在创建'uFCoder_JNI.dll'文件后,编辑'jni_example.java'文件中的第7行以匹配'uFCoder_JNI.dll'所在的路径。
因为' ufcode .cpp'包含了我们API中的大部分函数调用。只需编辑“ufcode .java”,将API函数暴露给该项目。确保函数导入包含适当的变量类型(例如在C/ c++中的'uint8_t'在Java中是'byte')
#运行示例
导航到“dist”文件夹,简单地运行软件:
Java -jar ufr-get_pan_java_jni_example.jar
文件末尾没有换行符
comdlogic
公共例子
私人静态字符串ByteArrayToString字节[]ch_array
StringBuilderstrBStringBuilder();
int0<ch_array长度+ +)
如果ch_array= =0
打破
strB附加((字符ch_array]);
返回strBtoString();
公共静态无效主要字符串[]arg游戏
试一试
int状态uFCoderReaderOpen();
系统println“ReaderOpen(): >”+uFCoderUFR_Status2String状态));
如果状态= =0
状态uFCoderGreenLedBlinkingTurnOff();
系统println“GreenLedBlinkingTurnOff(): >”+uFCoderUFR_Status2String状态));
int[]serial_numberint1];
状态uFCoderGetReaderSerialNumberserial_number);
如果状态= =0
系统println“GetReaderSerialNumber(): >”+uFCoderUFR_Status2String状态+" | serial_number: "+整数toStringserial_number0)));
其他的
系统println“GetReaderSerialNumber(): >”+uFCoderUFR_Status2String状态));
int[]reader_typeint1];
状态uFCoderGetReaderTypereader_type);
如果状态= =0
系统println“GetReaderType(): >”+uFCoderUFR_Status2String状态+" | reader_type: "+整数toHexStringreader_type0])。包含());
其他的
系统println“GetReaderType(): >”+uFCoderUFR_Status2String状态));
字节[]v_major字节1];
字节[]v_minor字节1];
状态uFCoderGetReaderHardwareVersionv_majorv_minor);
系统println“GetReaderHardwareVersion(): >”+uFCoderUFR_Status2String状态+" | version_major: "+字节toStringv_major0])+", version_minor: "+字节toStringv_minor0)));
状态uFCoderGetReaderFirmwareVersionv_majorv_minor);
如果状态= =0
系统println“GetReaderFirmwareVersion(): >”+uFCoderUFR_Status2String状态+" | version_major: "+字节toStringv_major0])+", version_minor: "+字节toStringv_minor0)));
其他的
系统println“GetReaderFirmwareVersion(): >”+uFCoderUFR_Status2String状态));
字节[]构建字节1];
状态uFCoderGetBuildNumber构建);
如果状态= =0
系统println“GetBuildNumber(): >”+uFCoderUFR_Status2String状态+" | build: "+字节toString构建0)));
其他的
系统println“GetBuildNumber(): >”+uFCoderUFR_Status2String状态));
int[]连接int1];
//while (System.in.available() == 0){//删除这里和第105行上的反斜杠以启用调试while循环
状态uFCoderReaderStillConnected连接);
如果状态= =0
系统println“ReaderStillConnected(): >”+uFCoderUFR_Status2String状态+" | connected: "+整数toString连接0)));
如果连接0= =1
/ / ufr.ReaderUISignal((1字节)、(字节)1);
字节[]card_type字节1];
状态uFCoderGetDlogicCardTypecard_type);
如果状态= =0
系统println“GetDlogicCardType(): >”+uFCoderUFR_Status2String状态+" | card_type: 0x"+整数toHexStringcard_type0)));
如果card_type0= =0 x40
状态uFCoderSetISO14443_4_Mode();
系统println“SetISO14443_4_Mode(): >”+uFCoderUFR_Status2String状态));
如果状态= =0
字符串df_name“2 pay.sys.ddf01”
字节[]字节128];
状态uFCoderEMV_GetPANdf_name);
如果状态= =0
字符串card_nrByteArrayToString).replaceAll“…”" $ 0 - ");
card_nrcard_nr子字符串0card_nr长度() -1);
系统println“EMV_GetPan(): >”+uFCoderUFR_Status2String状态+“|潘:”+card_nr);
其他的
系统println“EMV_GetPan(): >”+uFCoderUFR_Status2String状态));
uFCoders_block_deselect((字节One hundred.);
其他的
uFCoders_block_deselect((字节One hundred.);
其他的
系统println“GetDlogicCardType(): >”+uFCoderUFR_Status2String状态));
其他的
系统println“EMV_GetPan(): >”+uFCoderUFR_Status2String状态));
系统println"---------------------------------------");
//} // while (System.in.available() == 0) \\在控制台按任意键将停止此调试循环。
异常前女友
系统println前女友getLocalizedMessage());
comdlogic
公共uFCoder
静态
试一试
/ / System.load(“C: /用户/测试/桌面/ jni_example / uFCoder_JNI.dll”);//修改指向" ufcoder_jndi .dll"文件的绝对路径!
字符串松材线虫病系统getProperty“user.dir”);
系统负载松材线虫病+“\ \ uFCoder_JNI.dll”);
异常前女友
系统println前女友getLocalizedMessage());
公共本地的静态intReaderOpen();
公共本地的静态intReaderOpenExintreader_type字符串port_nameintport_interface字符串参数);
公共本地的静态intReaderReset();
公共本地的静态intReaderClose();
公共本地的静态intGetReaderTypeint[]lpulReaderType);
公共本地的静态intGetReaderSerialNumberint[]lpulSerialNumber);
公共本地的静态intGetReaderFirmwareVersion字节[]version_major字节[]version_minor);
公共本地的静态intGetReaderHardwareVersion字节[]version_major字节[]version_minor);
公共本地的静态intGetBuildNumber字节[]构建);
公共本地的静态intReaderStillConnectedint[]连接);
公共本地的静态intGreenLedBlinkingTurnOff();
公共本地的静态intReaderUISignal字节light_signal_mode字节beep_signal_mode);
公共本地的静态intGetCardIdEx字节[]lpucSak字节[]aucUid字节[]lpucUidSize);
公共本地的静态intGetDlogicCardType字节[]lpucCardType);
公共本地的静态intSetISO14443_4_Mode();
公共本地的静态ints_block_deselect字节超时);
公共本地的静态intEMV_GetPAN字符串df_name字节[]);
公共本地的静态字符串UFR_Status2Stringint状态);
文件末尾没有换行符
/*不要编辑这个文件-它是机器生成的*/
# include < jni.h >
/*类com_dlogic_uFCoder头*/
的ifndef _Included_com_dlogic_uFCoder
#定义_Included_com_dlogic_uFCoder
# ifdef __cplusplus
走读生“C”
# endif
/*
*类:com_dlogic_uFCoder
*方法:ReaderOpen
*签名:(
* /
JNIEXPORTjintJNICALLJava_com_dlogic_uFCoder_ReaderOpen
JNIEnvjclass);
/*
*类:com_dlogic_uFCoder
*方法:ReaderOpenEx
*签名:(ILjava/lang/String;ILjava/lang/String;)我
* /
JNIEXPORTjintJNICALLJava_com_dlogic_uFCoder_ReaderOpenEx
JNIEnvjclassjintjstringjintjstring);
/*
*类:com_dlogic_uFCoder
*方法:ReaderReset
*签名:(
* /
JNIEXPORTjintJNICALLJava_com_dlogic_uFCoder_ReaderReset
JNIEnvjclass);
/*
*类:com_dlogic_uFCoder
*方法:ReaderClose
*签名:(
* /
JNIEXPORTjintJNICALLJava_com_dlogic_uFCoder_ReaderClose
JNIEnvjclass);
/*
*类:com_dlogic_uFCoder
方法:GetReaderType
*签名:([I] I
* /
JNIEXPORTjintJNICALLJava_com_dlogic_uFCoder_GetReaderType
JNIEnvjclassjintArray);
/*
*类:com_dlogic_uFCoder
方法:GetReaderSerialNumber
*签名:([I] I
* /
JNIEXPORTjintJNICALLJava_com_dlogic_uFCoder_GetReaderSerialNumber
JNIEnvjclassjintArray);
/*
*类:com_dlogic_uFCoder
方法:GetReaderFirmwareVersion
*签名:([B[B)I
* /
JNIEXPORTjintJNICALLJava_com_dlogic_uFCoder_GetReaderFirmwareVersion
JNIEnvjclassjbyteArrayjbyteArray);
/*
*类:com_dlogic_uFCoder
方法:GetReaderHardwareVersion
*签名:([B[B)I
* /
JNIEXPORTjintJNICALLJava_com_dlogic_uFCoder_GetReaderHardwareVersion
JNIEnvjclassjbyteArrayjbyteArray);
/*
*类:com_dlogic_uFCoder
*方法:GetBuildNumber
*签名:([B] I
* /
JNIEXPORTjintJNICALLJava_com_dlogic_uFCoder_GetBuildNumber
JNIEnvjclassjbyteArray);
/*
*类:com_dlogic_uFCoder
*方法:ReaderStillConnected
*签名:([I] I
* /
JNIEXPORTjintJNICALLJava_com_dlogic_uFCoder_ReaderStillConnected
JNIEnvjclassjintArray);
/*
*类:com_dlogic_uFCoder
*方法:GreenLedBlinkingTurnOff
*签名:(
* /
JNIEXPORTjintJNICALLJava_com_dlogic_uFCoder_GreenLedBlinkingTurnOff
JNIEnvjclass);
/*
*类:com_dlogic_uFCoder
*方法:readeruissignal
*签名:(BB
* /
JNIEXPORTjintJNICALLJava_com_dlogic_uFCoder_ReaderUISignal
JNIEnvjclassjbytejbyte);
/*
*类:com_dlogic_uFCoder
*方法:GetCardIdEx
*签名:([B[B[B]
* /
JNIEXPORTjintJNICALLJava_com_dlogic_uFCoder_GetCardIdEx
JNIEnvjclassjbyteArrayjbyteArrayjbyteArray);
/*
*类:com_dlogic_uFCoder
*方法:GetDlogicCardType
*签名:([B] I
* /
JNIEXPORTjintJNICALLJava_com_dlogic_uFCoder_GetDlogicCardType
JNIEnvjclassjbyteArray);
/*
*类:com_dlogic_uFCoder
*方法:SetISO14443_4_Mode
*签名:(
* /
JNIEXPORTjintJNICALLJava_com_dlogic_uFCoder_SetISO14443_14_1Mode
JNIEnvjclass);
/*
*类:com_dlogic_uFCoder
*方法:s_block_deselect
*签名:(B)I
* /
JNIEXPORTjintJNICALLJava_com_dlogic_uFCoder_s_1block_1deselect
JNIEnvjclassjbyte);
/*
*类:com_dlogic_uFCoder
*方法:EMV_GetPAN
*签名:(Ljava/lang/String;[B]
* /
JNIEXPORTjintJNICALLJava_com_dlogic_uFCoder_EMV_1GetPAN
JNIEnvjclassjstringjbyteArray);
/*
*类:com_dlogic_uFCoder
*方法:UFR_Status2String
*签名:(I)Ljava/lang/String;
* /
JNIEXPORTjstringJNICALLJava_com_dlogic_uFCoder_UFR_1Status2String
JNIEnvjclassjint);
# ifdef __cplusplus
# endif
# endif
此源差异无法显示,因为它太大了。你可以查看斑点代替。
文件添加
此源差异无法显示,因为它太大了。你可以查看斑点代替。
文件添加
文件添加
    减价支持
    0%
    你要添加0讨论。小心行事。
    先完成这条消息的编辑!
    注册发表评论
    Baidu
    map