- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下代码可以使用我的 android 2.3.7 在我的 zebra mz 220 中打印:
public class Printing extends Activity {
ProgressDialog dialog;
ZebraPrinterConnection zebraPrinterConnection;
ZebraPrinter zebra;
String mac;
Handler handlerWorking = new Handler(){
@Override
public void handleMessage(Message msg){
String returnedValue = (String)msg.obj;
//textV.setText("Returned by thread Circle:" + returnedValue);
}
};
Handler handlerDone = new Handler(){
@Override
public void handleMessage(Message msg){
String returnedValue = (String)msg.obj;
//textV.setText(returnedValue);
}
};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle bundle = this.getIntent().getExtras();
String mac = bundle.getString("param1");
this.mac = mac;
System.out.println(mac);
showDialog(0);
//finish();
}
@Override
public Dialog onCreateDialog(int id){
final Runnable threadMethod = new Runnable() {
public void run(){
try{
connect();
}catch(Throwable e){
}
Message msg = handlerDone.obtainMessage(1, "DONE!!!");
handlerDone.sendMessage(msg);
dialog.dismiss();
}
};
dialog = new ProgressDialog(this);
dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
dialog.setMessage("Loading...");
Thread thread = new Thread(null, threadMethod, "Thread1");
thread.start();
return dialog;
}
public void connect() {
Looper.prepare();
zebraPrinterConnection = null;
zebraPrinterConnection = new BluetoothPrinterConnection(mac);
try {
zebraPrinterConnection.open();
} catch (ZebraPrinterConnectionException e) {
disconnect();
}
if (zebraPrinterConnection.isConnected()) {
try {
zebra = ZebraPrinterFactory.getInstance(zebraPrinterConnection);
sendLabel();
} catch (ZebraPrinterConnectionException e) {
zebra = null;
disconnect();
} catch (ZebraPrinterLanguageUnknownException e) {
zebra = null;
disconnect();
}
}
Looper.loop();
Looper.myLooper().quit();
}
public void disconnect() {
try {
if (zebraPrinterConnection != null) {
zebraPrinterConnection.close();
}
} catch (ZebraPrinterConnectionException e) {
}
}
private byte[] getLabel() {
PrinterLanguage printerLanguage = zebra.getPrinterControlLanguage();
byte[] configLabel = null;
if (printerLanguage == PrinterLanguage.ZPL) {
configLabel = "^XA^FO17,16^GB379,371,8^FS^FT65,255^A0N,135,134^FDTEST^FS^XZ".getBytes();
} else if (printerLanguage == PrinterLanguage.CPCL) {
String cpclConfigLabel = "! 0 200 200 50 1\r\n" + "ON-FEED IGNORE\r\n" + "T 5 0 0 0 Hola\r\n" + "PRINT\r\n";
configLabel = cpclConfigLabel.getBytes();
}
return configLabel;
}
private void sendLabel() {
try {
byte[] configLabel = getLabel();
zebraPrinterConnection.write(configLabel);
} catch (ZebraPrinterConnectionException e) {
} finally {
disconnect();
}
}
问题是我的 logCat 上出现了下一个错误:
06-12 11:08:03.327: E/AndroidRuntime(14323): FATAL EXCEPTION: main
06-12 11:08:03.327: E/AndroidRuntime(14323): java.lang.VerifyError: com.api.printer.zebra.Printing
06-12 11:08:03.327: E/AndroidRuntime(14323): at java.lang.Class.newInstanceImpl(Native Method)
06-12 11:08:03.327: E/AndroidRuntime(14323): at java.lang.Class.newInstance(Class.java:1409)
06-12 11:08:03.327: E/AndroidRuntime(14323): at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
06-12 11:08:03.327: E/AndroidRuntime(14323): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1672)
06-12 11:08:03.327: E/AndroidRuntime(14323): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1784)
06-12 11:08:03.327: E/AndroidRuntime(14323): at android.app.ActivityThread.access$1500(ActivityThread.java:123)
06-12 11:08:03.327: E/AndroidRuntime(14323): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:939)
06-12 11:08:03.327: E/AndroidRuntime(14323): at android.os.Handler.dispatchMessage(Handler.java:99)
06-12 11:08:03.327: E/AndroidRuntime(14323): at android.os.Looper.loop(Looper.java:130)
06-12 11:08:03.327: E/AndroidRuntime(14323): at android.app.ActivityThread.main(ActivityThread.java:3835)
06-12 11:08:03.327: E/AndroidRuntime(14323): at java.lang.reflect.Method.invokeNative(Native Method)
06-12 11:08:03.327: E/AndroidRuntime(14323): at java.lang.reflect.Method.invoke(Method.java:507)
06-12 11:08:03.327: E/AndroidRuntime(14323): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:847)
06-12 11:08:03.327: E/AndroidRuntime(14323): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605)
06-12 11:08:03.327: E/AndroidRuntime(14323): at dalvik.system.NativeStart.main(Native Method)
如果我评论 disconnect 方法、sendLabel 方法和 getLabel 方法,应用程序不会崩溃,但会出现下一个错误行:
06-12 11:13:35.207: E/dalvikvm(15869): Could not find class 'com.zebra.android.comm.BluetoothPrinterConnection', referenced from method com.api.printer.zebra.Printing.connect
我的引用库中有 zebra(ZSDK_API.jar) 库,这是怎么回事?感谢您的宝贵时间。
最佳答案
根据您使用的 ADT 版本(如果您确实使用 Eclipse),如果您使用的是最新版本,则将 ZSDK_API.jar 放入您的 libs/目录中就足够了。这应该被 Android 构建过程拾取。然后,该 jar 应该会自动显示在您的 Android 项目的 Android 依赖项库中。
查看此 URL 以获取更多信息:http://android.foxykeep.com/dev/how-to-fix-the-classdefnotfounderror-with-adt-17
关于android - 无法使用上述方法连接打印机 Zebra MZ 220,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11000621/
感谢阅读 StackOverflow 上的错误处理,我发现了 Mz-Tools。但是,我想知道是否有办法同时更新 MZ-Tools 添加的所有错误处理程序。 如果我使用 MZ-Tools 添加错误处理
我有以下代码可以使用我的 android 2.3.7 在我的 zebra mz 220 中打印: public class Printing extends Activity { ProgressDi
DOS 可执行文件的前 2 个字节是 0x4d 和 0x5a。如果这些被执行,0x4d 意味着 'dec ebp' 和 0x5a 是 'pop edx'。 'dec ebp' 将基址指针减 1,'po
DOS 可执行文件的前 2 个字节是 0x4d 和 0x5a。如果这些被执行,0x4d 意味着 'dec ebp' 和 0x5a 是 'pop edx'。 'dec ebp' 将基址指针减 1,'po
我想从二进制(“.exe”)文件中获取 Unicode 字符串。 当我使用这样的代码时: `unicode_str = re.compile( u'[\u0020-\u007e]{1,}',r
我将 Times New Roman 字体下载到我的 Zebra 打印机,当我单击“示例打印输出”(抱歉翻译不当)时,它打印出波兰语字母,但是当我使用 CPCL 命令时,它不起作用。 我的代码示例:
我的印象是什么 VERSIONINFO 资源是纯粹的 Windows 发明,但是在阅读 documentation 时,我偶然发现了 VERSIONINFO 资源定义语句的 fileos 参数的 VO
我正在尝试学习如何使用程序集 (NASM) 创建 Dos .EXE 文件,手动构建 header 并将文件汇编为二进制文件。我的页面选项有问题(页面总数和最后一页的字节数)。无论我将初始值设置得有多小
我想知道确定 EXE 文件的 MZ 部分结束位置以及附加的扩展可执行文件开始位置(可以是 PE/LE/LX/NE/COFF 等...)的最佳方法是什么。 我找到了这个网站:http://www.del
我有一个库,我已经使用 swig 为它生成了 tcl 绑定(bind)。这样生成的dll是xyz_tcl.dll,如果我原来的lib dll是xyz.dll的话。但是当我尝试加载 dll 时,它说“无
我是一名优秀的程序员,十分优秀!