Android - 流媒体传感器数据不断?

时间:2013-07-21 22:42:27

标签: java android networking

我有以下代码给我一些传感器数据:

private void computeOrientation() {
        if (SensorManager.getRotationMatrix(m_rotationMatrix, null, m_lastAccels, m_lastMagFields)) {
            SensorManager.getOrientation(m_rotationMatrix, m_orientation);

            /* 1 radian = 57.2957795 degrees */
            /*
             * [0] : yaw, rotation around z axis [1] : pitch, rotation around x
             * axis [2] : roll, rotation around y axis
             */
            float yaw = m_orientation[0] * 57.2957795f;
            float pitch = m_orientation[1] * 57.2957795f;
            float roll = m_orientation[2] * 57.2957795f;

            /* append returns an average of the last 10 values */
            m_lastYaw = m_filters[0].append(yaw);
            m_lastPitch = m_filters[1].append(pitch);
            m_lastRoll = m_filters[2].append(roll);

            yawText.setText("azi z: " + m_lastYaw);
            pitchText.setText("pitch x: " + m_lastPitch);
            rollText.setText("roll y: " + m_lastRoll);

                    //Now I want to send those 3 values over the network
                    //whenever they're calculated
}

我将从onSensorChanged(SensorEvent event)每隔几毫秒调用一次此函数。

我希望不断通过互联网将这些数据发送/传输到远程设备,该设备将使用数据流实时计算内容。

我该怎么做?通过套接字? AsyncTask?入门的示例源代码将非常感激=)

1 个答案:

答案 0 :(得分:2)

这是服务在后台计算数据的工作。因为不需要UI,所以可以使用AstryTask的线程来获取传感器数据。

通常需要更多细节,尤其是手机和远程设备之间的连接设置。如果您使用LAN,则套接字与电话上的ByteArrayriter和设备上的ByteArrayReader结合使用即可完成此任务。