作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否可以在一次 Activity 中读取 GPS 数据和加速度计数据?我想读取数据并放入 TextView 中。我已经读取了加速度计数据,但是当我在 Activity 中添加此代码时应用程序崩溃
public class MainActivity extends Activity implements SensorEventListener {
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
valuesInitialization();
sensorsInitialization();
}
private void valuesInitialization()
{
Config.mContext = this;
mInitialized = false;
mLastAccelerometer[0] = INITVALUE;
mLastAccelerometer[1] = INITVALUE;
mLastAccelerometer[2] = INITVALUE;
mLastGyroscope[0] = INITVALUE;
mLastGyroscope[1] = INITVALUE;
mLastGyroscope[2] = INITVALUE;
mLastOrientation[0] = INITVALUE;
mLastOrientation[1] = INITVALUE;
mLastOrientation[2] = INITVALUE;
}
private void sensorsInitialization()
{
mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_LINEAR_ACCELERATION);
mGyroscope = mSensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE);
mOrientation = mSensorManager.getDefaultSensor(Sensor.TYPE_ROTATION_VECTOR);
mLocationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
}
private void registListener()
{
mSensorManager.registerListener(this, mAccelerometer, SensorManager.SENSOR_DELAY_NORMAL);
mSensorManager.registerListener(this, mGyroscope, SensorManager.SENSOR_DELAY_NORMAL);
mSensorManager.registerListener(this, mOrientation, SensorManager.SENSOR_DELAY_NORMAL);
mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, mLocationListener);
}
protected void onResume()
{
super.onResume();
registListener();
}
protected void onPause()
{
super.onPause();
mSensorManager.unregisterListener(this);
}
}
有什么办法可以解决这个问题吗?提前致谢
错误日志:
最佳答案
你必须在你的类中实现一个位置监听器,如下所示
public class LocationListener implements android.location.LocationListener {
final String LOG_LABEL = "Location Listener>>";
@Override
public void onLocationChanged(Location location) {
Log.d(util.TAG,LOG_LABEL+ "Location Changed");
if (location != null)
{
double longitude = location.getLongitude();
Log.d(util.TAG,LOG_LABEL+ "Longitude:" + longitude);
Toast.makeText(getApplicationContext(),"Long::"+longitude,Toast.LENGTH_SHORT).show();
double latitude = location.getLatitude();
Toast.makeText(getApplicationContext(),"Lat::"+latitude,Toast.LENGTH_SHORT).show();
Log.d(util.TAG,LOG_LABEL+ "Latitude:" + latitude);
cleanUp();
}
}
并且还定义了一个位置监听器,如下所示
private android.location.LocationListener locListener;
然后为了让听众开始,做
this.locListener = new LocationListener();
一旦你得到 long/lat 值,不要忘记如下所示进行清理
cleanUp()
{
// This needs to be done to stop getting the location data and save the
// battery power.
if (null != this.locListener && null != locationManager)
{
locationManager.removeUpdates(this.locListener);
this.locListener = null;
}
}
关于android - 如何在一次 Activity 中读取 GPS 数据和加速度计数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18978271/
我想计算正在行驶的车辆的加速度。到目前为止,我能够使用以下公式获得沿航向矢量的加速度 a = (velocity(now)-velocity(previous))/time m/s^2 示例:一辆汽车
网站上修改后的滚动行为是如何制作的?正如您在示例中看到的那样,我想完成加速滚动行为。所以你以一定的速度滚动,当你放手之后,页面会自行滚动一点,减速并停止。 不幸的是,我绝对没有根据为您提供代码,希望您
我想使用标准操作(CCMoveBy 和 e.t.c)创建一个具有轨迹的可见对象,类似于: x = sin(y) 我的代码: CCMoveBy *moveAction1 = [CCMoveBy acti
问题是我的鼠标速度和加速度太高,系统设置(Ubuntu)完全没用,所以我需要一个外部工具/技巧来调整它。 那么,如何在不手动执行命令的情况下在启动时绝对减慢鼠标速度? xinput list 的输出是
我是一名优秀的程序员,十分优秀!