在过去的几天里,我一直在开发一个Android应用程序,其目标是使用触摸屏将光标移动到我的计算机上。
我首先使用WiFi实现了手机和电脑之间的通信。一切都还可以,但我希望能够使用蓝牙。
在手机方面,一切都很简单。我无法实现的是蓝牙服务器。
我已经下载并(痛苦地)安装了Java Wireless Toolkit 2.5.2和JavaSE jdk。
现在我的代码很简单,看起来像这样:
import java.io.IOException;
import javax.bluetooth.*;
import javax.microedition.io.*;
public class BluetoothServer extends Thread {
//private static LocalDevice localDevice;
static LocalDevice localDevice;
DiscoveryAgent agent;
//start server
private StreamConnection startServer() throws IOException{
System.loadLibrary("zayit");
//Create a UUID for SPP
UUID uuid = new UUID(0x1101);
//Create the servicve url
String connectionString = "btspp://localhost:" + uuid +";name=SampleSPPServer";
//open server url
StreamConnectionNotifier streamConnNotifier = (StreamConnectionNotifier)Connector.open( connectionString );
//Wait for client connection
System.out.println("\nServer Started. Waiting for clients to connect...");
StreamConnection connection = streamConnNotifier.acceptAndOpen();
return connection;
}
}
我添加了外部jar来获取javax.bluetooth和javax.microedition的导入。
项目正常构建但是当我启动它时,它崩溃并出现以下错误:
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0xb27d6400, pid=25778, tid=2999303024
#
# JRE version: 6.0_24-b07
# Java VM: Java HotSpot(TM) Server VM (19.1-b02 mixed mode linux-x86 )
# Problematic frame:
# C [libzayit.so+0x23e400] kvm_resetOperandStack+0x8
#
# An error report file with more information is saved as:
# /home/ixm/workspace/RemoteControlServer/hs_err_pid25778.log
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
没有System.loadLibrary(),我收到以下错误:
Exception in thread "Thread-1" java.lang.UnsatisfiedLinkError: javax.microedition.io.Connector.isNetworkMonitorActive()Z
at javax.microedition.io.Connector.isNetworkMonitorActive(Native Method)
at javax.microedition.io.Connector.<clinit>(Connector.java:153)
at BluetoothServer.startServer(BluetoothServer.java:20)
at BluetoothServer.run(BluetoothServer.java:43)
我不知道应该做什么或尝试什么。我在互联网上找不到任何有用的东西。
有人能帮助我吗?也许真正的问题是:“是否有可能开发一个使用蓝牙的Java应用程序(用于计算机)?”
非常感谢!
致以最诚挚的问候,
IXM
答案 0 :(得分:0)
我已经注意到我安装了错误版本的Java(SE而不是ME)。我不会尝试安装正确的,因为它是专为移动设备设计的。
相反,我会用bluecove拍摄一下。之前我没有调查过,因为我认为它是一个用于Windows的python库。显然,情况并非如此,在我第一次阅读项目页面时,我是盲目或愚蠢的。抱歉