我正在开发Android应用程序,其中我正在使用逻辑从协调中找到一个人的方向。一切正常,但我在控制台上遇到错误:"死代码"。我的代码在下面给出,请解释一下这件事。
private void direction() {
String userLocation = mLatitude + ","
+ mLongitude ;
if(userLocation!=null){
String distLocation = Constants.sMY_LOCATION.getLatitude() + ","
+ Constants.sMY_LOCATION.getLongitude();
String url = "https://maps.google.com/maps?f=d&saddr=" + userLocation
+ "&daddr=" + distLocation;
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(i);
}else{ // Getting Dead Code Yellow error here
finish();
Toast.makeText(getBaseContext(), "Please check your internet and try again!", Toast.LENGTH_SHORT).show();
}
}
这是因为无法联系到您的其他人
String userLocation = mLatitude + ","
+ mLongitude ;
if(userLocation!=null){
...
}else{
...
}
用户位置永远不会为空
你的 else{} 中的代码永远不会被访问,因为你的字符串 userLocation 是在 if 语句之前初始化的,这意味着它永远不会为空。
所以你其他人的代码实际上是死代码。
您应该
检查mLatitude
和mLongitude
是否为空而不是整个字符串。
例:
if (mLatitude != null && mLongitude != null) {
// String userLocation = ...
}
else {
// Your else code
}