Android SharedPreference 幽灵号?
Android SharedPreference Ghost Number?
我快疯了,我正在使用共享首选项来创建 google 地图标记,它正在从一个 2130 行长的文本文档中获取坐标,但确实有些不对劲,这是坐标绕行 1982
06-16 23:23:10.072 22228-22228/com.emiliogaines.fuelfinder D/X:﹕ 12.0434 990
06-16 23:23:10.072 22228-22228/com.emiliogaines.fuelfinder D/Y:﹕ 57.7891
06-16 23:23:10.130 22228-22228/com.emiliogaines.fuelfinder D/X:﹕ 17.8537 991
06-16 23:23:10.130 22228-22228/com.emiliogaines.fuelfinder D/Y:﹕ 59.4185
06-16 23:23:10.169 22228-22228/com.emiliogaines.fuelfinder D/X:﹕ 35 992
06-16 23:23:10.169 22228-22228/com.emiliogaines.fuelfinder D/Y:﹕ 16.403
06-16 23:23:10.202 22228-22228/com.emiliogaines.fuelfinder D/X:﹕ 60.2867 993
06-16 23:23:10.202 22228-22228/com.emiliogaines.fuelfinder D/Y:﹕ 16.8904
06-16 23:23:10.230 22228-22228/com.emiliogaines.fuelfinder D/X:﹕ 60.6137 994
(末尾号是行号除以2)
这里是完全相同的部分,但来自文本文件
12.0434
57.7891
17.8537
59.4185
16.403
60.2867
16.8904
60.6137
它以某种方式获得了数字 35,并且如您所见,它弄乱了整个系统
这是检索文本的代码
while(linecordx != null){
googleMap.addMarker(new MarkerOptions()
.position(new LatLng(Double.parseDouble(linecordx), Double.parseDouble(linecordy)))
.icon(BitmapDescriptorFactory.fromResource(R.drawable.okq8_scale))
.title(statoilid + ". OKQ8")
.snippet("Tryck på den här rutan för att ändra Markören"));
SharedPreferences.Editor editorsave = sharedPreferences.edit();
editorsave.putInt("Title" + statoilid, statoilid);
editorsave.putString("Info" + statoilid, "Tryck på den här rutan för att ändra Markören");
editorsave.putString("XCord"+statoilid, linecordx);
editorsave.putString("YCord" + statoilid, linecordy);
editorsave.putString("Icon" + statoilid, "5");
editorsave.commit();
statoilid++;
statoilnumber++;
linecordx = okreader.readLine();
linecordy = okreader.readLine();
Log.d("X: ", linecordx + " "+ statoilid);
Log.d("Y: ", linecordy);
}
} catch(IOException ioe){
ioe.printStackTrace();
}
有时你会因为这些事情而产生狭隘的视野,但我确实立即看到了一些东西。
59.4185 ends with 5
16.403 ends with 3 (it's also strangely only 3 decimals)
= 35
我很确定你的 readLine() 方法是罪魁祸首,你可能以某种方式错误地初始化了它们。我也会尝试稍微更改文件中这些行周围的数字,看看出了什么问题。
我快疯了,我正在使用共享首选项来创建 google 地图标记,它正在从一个 2130 行长的文本文档中获取坐标,但确实有些不对劲,这是坐标绕行 1982
06-16 23:23:10.072 22228-22228/com.emiliogaines.fuelfinder D/X:﹕ 12.0434 990
06-16 23:23:10.072 22228-22228/com.emiliogaines.fuelfinder D/Y:﹕ 57.7891
06-16 23:23:10.130 22228-22228/com.emiliogaines.fuelfinder D/X:﹕ 17.8537 991
06-16 23:23:10.130 22228-22228/com.emiliogaines.fuelfinder D/Y:﹕ 59.4185
06-16 23:23:10.169 22228-22228/com.emiliogaines.fuelfinder D/X:﹕ 35 992
06-16 23:23:10.169 22228-22228/com.emiliogaines.fuelfinder D/Y:﹕ 16.403
06-16 23:23:10.202 22228-22228/com.emiliogaines.fuelfinder D/X:﹕ 60.2867 993
06-16 23:23:10.202 22228-22228/com.emiliogaines.fuelfinder D/Y:﹕ 16.8904
06-16 23:23:10.230 22228-22228/com.emiliogaines.fuelfinder D/X:﹕ 60.6137 994
(末尾号是行号除以2)
这里是完全相同的部分,但来自文本文件
12.0434
57.7891
17.8537
59.4185
16.403
60.2867
16.8904
60.6137
它以某种方式获得了数字 35,并且如您所见,它弄乱了整个系统
这是检索文本的代码
while(linecordx != null){
googleMap.addMarker(new MarkerOptions()
.position(new LatLng(Double.parseDouble(linecordx), Double.parseDouble(linecordy)))
.icon(BitmapDescriptorFactory.fromResource(R.drawable.okq8_scale))
.title(statoilid + ". OKQ8")
.snippet("Tryck på den här rutan för att ändra Markören"));
SharedPreferences.Editor editorsave = sharedPreferences.edit();
editorsave.putInt("Title" + statoilid, statoilid);
editorsave.putString("Info" + statoilid, "Tryck på den här rutan för att ändra Markören");
editorsave.putString("XCord"+statoilid, linecordx);
editorsave.putString("YCord" + statoilid, linecordy);
editorsave.putString("Icon" + statoilid, "5");
editorsave.commit();
statoilid++;
statoilnumber++;
linecordx = okreader.readLine();
linecordy = okreader.readLine();
Log.d("X: ", linecordx + " "+ statoilid);
Log.d("Y: ", linecordy);
}
} catch(IOException ioe){
ioe.printStackTrace();
}
有时你会因为这些事情而产生狭隘的视野,但我确实立即看到了一些东西。
59.4185 ends with 5
16.403 ends with 3 (it's also strangely only 3 decimals)
= 35
我很确定你的 readLine() 方法是罪魁祸首,你可能以某种方式错误地初始化了它们。我也会尝试稍微更改文件中这些行周围的数字,看看出了什么问题。