获取客户端触控数据
场景介绍
通过触控引擎客户端提供的API,用户可以获取到客户端产生的触控数据,并将其发送出去。
前提条件
触控引擎客户端依赖于Android的View。
开发流程
- 用户注册客户端触控数据发送hook函数。
- 触控引擎客户端继承自Android的View.OnTouchListener,需要用户调用Android View层的setOnTouchListener接口。
- 在调用上述接口的入参View.OnTouchListener()中的onTouch方法中调用触控引擎客户端的onTouch方法。
编码实例
具体场景
依据开发流程,通过调用触控引擎客户端API,获取View产生的触控数据,并发送到服务端。
代码样例
import android.util.Log; import android.view.View; import com.huawei.cloudgame.touch.TOUCHSENDHOOK; import com.huawei.cloudgame.touch.VmiTouch; public class DataPipe implements TOUCHSENDHOOK{ private static DataPipe instance = new DataPipe(); private DataPipe() { } public static DataPipe getInstance() { return instance; } public void touchSendData(byte[] data, int length) { // 发送接口的具体实现,由用户自己实现 } public static void registerHookToTouch() { int ret = VmiTouch.getInstance().registerTouchSendHook(DataPipe.getInstance()); if (ret != VmiTouch.VMI_SUCCESS) { Log.e("TouchClient", "register touch send hook fail"); } } } public class Test { public static void main(String[] args) { DataPipe.registerHookToTouch(); View view = getDisplayView() // 示意函数:获取客户端显示的View。 view.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View view, MotionEvent event) { return VmiTouch.getInstance().onTouch(view, event); } }); } }
父主题: 触控引擎客户端