我将实现一个用于控制PC的android虚拟键盘。 这是我希望这个应用程序如何工作的方案:
手机应用程序连接到PC上正在运行的客户端。
用户按下手机上的按钮。
应用程序向客户端发送信号,指示按下了哪个按钮。
客户端处理应用信号(虚拟按设计按钮)。
我知道我将使用的大多数课程,但我对PC客户端处理来自手机的信号毫无头绪(步骤4)。如果你能告诉我我应该为那些“虚拟印刷机”使用哪些类/类,那就太好了。谢谢。
答案 0 :(得分:1)
如果手机连接到PC,在PC上运行的应用程序将是服务器而非客户端。
从Java应用程序发送键盘事件并不容易(虽然这可能是可能的),在C或C ++中使用简单的服务器可能更容易(我假设您的PC是基于Windows的)。 Win32 API有一个SendInput方法来生成键盘事件(例如:http://batchloaf.wordpress.com/2012/04/17/simulating-a-keystroke-in-win32-c-or-c-using-sendinput/)。
Android应用程序和PC之间的通信可以依赖于一个简单的TCP套接字(UDP也是一个有效的选项,但如果你从网络编程开始,TCP可能更容易处理和更广泛使用)。在C / C ++服务器上,查看函数socket,bind,listen,accept然后recv。在Android应用程序上,Socket和DataOutputStream类应该可以完成这项工作。