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