我正在尝试创建一个读取加速度计值并将它们发送到服务器的Android应用程序。我在两个文件中有两个类 - 带有httpget方法的Main类和加速度计类。
我从onSensorChanged方法中得不到任何东西(我通过从accellerometer类制作新对象来发送值),或者我的accellerometer类不起作用。
问题: 1)当我有一个Accelerometer类并且我在另一个类中读取值时,你能给我一个小例子吗?
2)我应该从主要活动开始加速计吗?
如果你能回答我的问题并给我一个小例子,我将非常感激!
答案 0 :(得分:0)
答案 1 :(得分: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 main方法中添加一行
new Thread(new Accelerometer()).start();
1)我不确定你在问什么。 Class 1从传感器获取数据,class 2从class 1读取它以将其发送到服务器? 2)是的,如果您需要运行多个线程,您的入口点将需要同时启动。或者他们需要单独启动