如何从Android

时间:2015-10-01 14:32:54

标签: java android python sockets

我正在开发一款需要远程控制笔记本电脑触控板或鼠标的Android应用程序,这意味着它可以简单地模拟鼠标或触控板功能。

我尝试过一个名为RemoteDroid的开源应用程序,其中包含用Java编写的服务器端代码,它可以控制笔记本电脑的完整触摸板,但我无法使用它,因为我的后端服务器是用Python编写的(因为我是要在raspberry pi上移植服务器端程序,所以在PI上运行JVM几乎让它在一段时间后就死了。)

我能够使用Android程序成功收集连续流式触摸坐标,并通过原始套接字将它们发送到服务器端Python程序,该程序接收它并使用pyautogui库更改当前鼠标坐标。问题是我的Android设备使用的屏幕分辨率与我的笔记本电脑差别很大,因此有人可以帮助我更改或调整Android设备的屏幕尺寸(分辨率)以映射到笔记本电脑的屏幕尺寸。

例如,假设我的Android屏幕分辨率为750x1250px,笔记本电脑的分辨率为1366x768px。我怎样才能将笔记本电脑的屏幕坐标映射到我的Android应用程序中?

这是我在Android应用程序中使用的代码:

setContentView(R.layout.activity_main);

touchView = (TextView) findViewById(R.id.textView3);

touchView.setOnTouchListener(new View.OnTouchListener() {

    public boolean onTouch(View v, MotionEvent event) {
        final int action = event.getAction();
        switch (action & MotionEvent.ACTION_MASK) {

            case MotionEvent.ACTION_DOWN: {

                new SendXY(String.valueOf((int) event.getX())+":"+String.valueOf((int) event.getY())).execute(); 

                touchView.setText("ACTION_DOWN  X: "+String.valueOf((int) event.getX())+"\nY: "+String.valueOf((int) event.getY()));
                break;
            }

            case MotionEvent.ACTION_MOVE:{

            new SendXY(String.valueOf((int) event.getX())+":"+String.valueOf((int) event.getY())).execute(); 

             touchView.setText("ACTION_MOVE  X: "+String.valueOf((int) event.getX())+"\nY: "+String.valueOf((int) event.getY()));
                break;
            }
        }
        return true;
    }

});

0 个答案:

没有答案