Android gps位置值不打印
在这段代码中,我想得到经度和纬度,并将它们转换为字符串 在屏幕上使用它 还有短信 那我该怎么处理呢 我应该上新课吗?或者这个代码只是被修改了 我该怎么做才能让它工作 我使用了所有位置的许可证Android gps位置值不打印,android,gps,textview,Android,Gps,Textview,在这段代码中,我想得到经度和纬度,并将它们转换为字符串 在屏幕上使用它 还有短信 那我该怎么处理呢 我应该上新课吗?或者这个代码只是被修改了 我该怎么做才能让它工作 我使用了所有位置的许可证 public class MainActivity extends Activity implements LocationListener { Location location; // location LocationManager locationManager; pu
public class MainActivity extends Activity implements LocationListener {
Location location; // location
LocationManager locationManager;
public String LatTxt;
public String LonTxt;
public Double latitude; // latitude
public Double longitude; // longitude
TextView latTextView = (TextView) findViewById(R.id.Latitude_Txt);
TextView lonTextView = (TextView) findViewById(R.id.Longitude_Txt);
// The minimum distance to change Updates in meters
private static final long MIN_DISTANCE_CHANGE_FOR_UPDATES = 10; // 10 meters
// The minimum time between updates in milliseconds
private static final long MIN_TIME_BW_UPDATES = (long) (1000 * 60 * 0.25); // 0.25
// minute
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
LocationListener locListener = new MyLocationListener();
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,MIN_TIME_BW_UPDATES, MIN_DISTANCE_CHANGE_FOR_UPDATES,locListener);
lonTextView.setText(" " + location.getLongitude());
latTextView.setText(" " + location.getLatitude());
}
@Override
public void onLocationChanged(Location location) {
// TODO Auto-generated method stub
}
@Override
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub
latitude = location.getLatitude();
LatTxt = latitude.toString();
longitude = location.getLongitude();
LonTxt = longitude.toString();
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub
}
}
<TextView
android:id="@+id/Latitude_Txt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/white"
android:gravity="center_horizontal"
android:text="Latitude"
android:textColor="@android:color/black"
android:textSize="16sp" />
</LinearLayout>
public类MainActivity扩展活动实现LocationListener{
位置;//位置
地点经理地点经理;
公共字符串;
公共字符串LonTxt;
公共双纬度;//纬度
公共双经度;//经度
TextView latTextView=(TextView)findViewById(R.id.Latitude_Txt);
TextView lonTextView=(TextView)findViewById(R.id.Longitude_Txt);
//更改更新的最小距离(以米为单位)
私有静态最终长最小距离更改更新=10;//10米
//更新之间的最短时间(以毫秒为单位)
私有静态最终长最小时间更新=(长)(1000*60*0.25);//0.25
//分钟
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LocationManager LocationManager=(LocationManager)getSystemService(Context.LOCATION\u服务);
LocationListener locListener=新建MyLocationListener();
locationManager.RequestLocationUpdate(locationManager.GPS\u提供程序、最短时间\u BW\u更新、最短距离\u更改\u更新、LocationListener);
lonTextView.setText(“+location.getLongitude());
latTextView.setText(“+location.getLatitude());
}
@凌驾
已更改位置上的公共无效(位置){
//TODO自动生成的方法存根
}
@凌驾
公共无效onProviderDisabled(字符串提供程序){
//TODO自动生成的方法存根
}
@凌驾
公共无效onProviderEnabled(字符串提供程序){
//TODO自动生成的方法存根
纬度=位置。getLatitude();
LATXT=纬度.toString();
longitude=location.getLongitude();
LonTxt=经度.toString();
}
@凌驾
public void onStatusChanged(字符串提供程序、int状态、Bundle extra){
//TODO自动生成的方法存根
}
}
Put
到
您尝试在以下位置打印location
:protectedvoid onCreate(Bundle savedInstanceState)
,但location
未启动
顺便说一句,在行之前添加:
lonTextView.setText(" " + location.getLongitude());
latTextView.setText(" " + location.getLatitude());
此代码,用于初始化旧位置
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,MIN_TIME_BW_UPDATES, MIN_DISTANCE_CHANGE_FOR_UPDATES,this);
Criteria criteria = new Criteria();
locationManager.getLastKnownLocation(provider);
String provider = locationManager.getBestProvider(criteria, false);
location = locationManager.getLastKnownLocation(provider);
并删除您的requestLocationUpdates
[编辑]
public class MainActivity extends Activity implements LocationListener {
Location location; // location
LocationManager locationManager;
public String LatTxt;
public String LonTxt;
public Double latitude; // latitude
public Double longitude; // longitude
TextView latTextView = (TextView) findViewById(R.id.Latitude_Txt);
TextView lonTextView = (TextView) findViewById(R.id.Longitude_Txt);
// The minimum distance to change Updates in meters
private static final long MIN_DISTANCE_CHANGE_FOR_UPDATES = 10; // 10 meters
// The minimum time between updates in milliseconds
private static final long MIN_TIME_BW_UPDATES = (long) (1000 * 60 * 0.25); // 0.25
// minute
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
LocationListener locListener = this;
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,MIN_TIME_BW_UPDATES, MIN_DISTANCE_CHANGE_FOR_UPDATES,locListener);
}
@Override
public void onLocationChanged(Location location) {
// TODO Auto-generated method stub
latitude = location.getLatitude();
LatTxt = latitude.toString();
longitude = location.getLongitude();
LonTxt = longitude.toString();
lonTextView.setText(" " + location.getLongitude());
latTextView.setText(" " + location.getLatitude());
}
@Override
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub
}
}
当接收到新的GPS坐标时。将调用onLocationChanged函数。您应该在那里执行GPS坐标操作请参见我的编辑,我已修复您的代码,从提供的中删除所有我很抱歉它仍然崩溃09-12 14:34:52.690:W/ActivityThread(26906):Application com.example.vehicletrackmaster正在端口8100上等待调试器。。。09-12 14:34:52.700:I/System.out(26906):发送等待区块09-12 14:34:52.715:I/dalvikvm(26906):调试器处于活动状态09-12 14:34:52.900:I/System.out(26906):调试器已连接09-12 14:34:52.905:I/System.out(26906):等待调试器解决。。。09-12 14:34:53.105:I/System.out(26906):等待调试器解决…09-12 14:34:53.305:I/System.out(26906):等待调试器解决。。。09-12 14:34:53.510:I/System.out(26906):等待调试器解决。。。09-12 14:34:53.710:I/System.out(26906):等待调试器解决。。。09-12 14:34:53.910:I/System.out(26906):等待调试器解决。。。09-12 14:34:54.105:I/System.out(26906):调试器已解决(1323)09-12 14:34:55.645:D/dalvikvm(26906):threadid=1:撤消后仍挂起(sc=1 dc=1)日志在此txt文件中
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,MIN_TIME_BW_UPDATES, MIN_DISTANCE_CHANGE_FOR_UPDATES,this);
Criteria criteria = new Criteria();
locationManager.getLastKnownLocation(provider);
String provider = locationManager.getBestProvider(criteria, false);
location = locationManager.getLastKnownLocation(provider);
public class MainActivity extends Activity implements LocationListener {
Location location; // location
LocationManager locationManager;
public String LatTxt;
public String LonTxt;
public Double latitude; // latitude
public Double longitude; // longitude
TextView latTextView = (TextView) findViewById(R.id.Latitude_Txt);
TextView lonTextView = (TextView) findViewById(R.id.Longitude_Txt);
// The minimum distance to change Updates in meters
private static final long MIN_DISTANCE_CHANGE_FOR_UPDATES = 10; // 10 meters
// The minimum time between updates in milliseconds
private static final long MIN_TIME_BW_UPDATES = (long) (1000 * 60 * 0.25); // 0.25
// minute
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
LocationListener locListener = this;
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,MIN_TIME_BW_UPDATES, MIN_DISTANCE_CHANGE_FOR_UPDATES,locListener);
}
@Override
public void onLocationChanged(Location location) {
// TODO Auto-generated method stub
latitude = location.getLatitude();
LatTxt = latitude.toString();
longitude = location.getLongitude();
LonTxt = longitude.toString();
lonTextView.setText(" " + location.getLongitude());
latTextView.setText(" " + location.getLatitude());
}
@Override
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub
}
}