【问题标题】:Getting values from accelerometer class to main activity class从加速度计类获取值到主要活动类
【发布时间】:2012-06-06 16:45:40
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: java android class accelerometer


    【解决方案1】:

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

    Link

    我觉得对你有帮助。

    【讨论】:

      【解决方案2】:

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

      文件 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) 是的,如果您需要运行多个线程,您的入口点将需要同时启动这两个线程。或者它们需要单独启动

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-28
        • 1970-01-01
        • 2014-03-10
        • 1970-01-01
        • 2011-12-03
        • 1970-01-01
        相关资源
        最近更新 更多