0

我正在尝试制作一个读取加速度计值并将它们发送到服务器的 Android 应用程序。我在两个文件中有两个类 - 带有 httpget 方法的主类和加速度计类。

我从 onSensorChanged 方法中没有收到任何信息(我通过从加速度计类创建新对象来发送值),或者我的加速度计类不起作用。

问题:1)你能给我一个小例子,当我有一个加速度计类并且我在另一个类中读取值时?

2)我应该从主要活动开始加速计类吗?

如果您能回答我的问题并举个小例子,我将不胜感激!

4

2 回答 2

0

请查看源代码。这是关于加速度计的示例源代码。

关联

我认为它对你有帮助。

于 2012-06-06T17:02:49.160 回答
0

这个问题有点不清楚,所以从以下假设:

文件 1:带有 httpget 的服务器线程

文件2:读取加速度计数据并将其发送到服务器线程

您处于调试环境中,您可以在其中一起运行它们来测试它。

这里的名字似乎有点混乱。仅仅因为您有一个 Accelerometer 类,并不意味着代码处于活动状态并且正在运行。如果您只是使用它的 main 方法启动一个,并且它不引用另一个对象,那么该代码将永远不会运行。

public class Server
{
  public void onSensorChanged()
  {
    //do stuff to listen for accelerometer data
  }
  public static void main(String args[])
  {
    onSensorChanged();
  }
}

如果只是这样运行,则没有人读取加速度计数据。

public class Accelerometer implements Runnable
{
  public void run()
  {
    while (!dead)
    {
      //read data
      //send to server
      //wait for a bit?
    } 
  }
}

所以我们在Server主方法中添加一行

new Thread(new Accelerometer()).start();

1)我不确定你在问什么。第 1 类从传感器获取数据,第 2 类从第 1 类读取数据并将其发送到服务器?2) 是的,如果您需要运行多个线程,您的入口点将需要同时启动这两个线程。或者他们需要单独启动

于 2012-06-06T17:03:01.333 回答