我使用静态数据库来获取数据。我从数据库中获取静态位置的经度和纬度,将其存储在字符串中并使用。如果我想提取所有经度和纬度并将其存储在数组中...我的意思是大小[137] [15]的数组在单个2d数组中存储纬度和经度.....或2个单独的1 d数组。一个用于纬度..另一个用于纬度......
DataBaseHelper2 mDbHelper = new DataBaseHelper2(this);
try {
mDbHelper.createDataBase();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
mDbHelper.openDataBase();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Spinner s1=(Spinner) findViewById(R.id.spinner1);
int index1=s1.getSelectedItemPosition();
String Text1 = s1.getSelectedItem().toString();
String Text3="";
String Text4="";
if(index1==0)
{
Toast.makeText(getApplicationContext(),"Please Enter station", Toast.LENGTH_SHORT).show();
}
else{
Cursor c=mDbHelper.fetchQuery(Text1);
int latitude = c.getColumnIndex("lat");
int longitude = c.getColumnIndex("lng");
for(c.moveToFirst();!c.isAfterLast();c.moveToNext()){
Text3=Text3 + c.getString(latitude)+"\n";
Text4=Text4 + c.getString(longitude)+"\n";
}
Double p,p1;
p=Double.valueOf(Text3).doubleValue();
p1=Double.valueOf(Text4).doubleValue();
fetchquery是一种提取经度和纬度的方法,其中站点的名称与spinner1的文本匹配。
答案 0 :(得分:0)
使用List<BasicNameValuePair>
它们将以键值方式存储。在迭代存储时,将它们添加到列表中,如:
List<BasicNameValuePair> latLongList = new ArrayList<BasicNameValuePair>();
for(c.moveToFirst();!c.isAfterLast();c.moveToNext()){
latLongList.add(new BasicNameValuePair(c.getString(latitude), c.getString(longitude)));
}
然后你可以随意使用它。在这种情况下,纬度将是关键,经度将是价值。
这是这样做的一种方式。另外,BasicNameValuePair
也可以使用android.location.Location
并以相同方式设置。
答案 1 :(得分:0)
我认为你会遇到更多麻烦而不是使用二维数组。如果你想坚持2个常规数组,那么也许你可以查看下面的代码:
if(index1==0){
Toast.makeText(getApplicationContext(),"Please Enter station", Toast.LENGTH_SHORT).show();
}else{
Cursor c=mDbHelper.fetchQuery(Text1);
arrLatitude = new String [c.getCount()];
arrLongitude = new String [c.getCount()];
int latitude = c.getColumnIndex("lat");
int longitude = c.getColumnIndex("lng");
i = 0;
for(c.moveToFirst();!c.isAfterLast();c.moveToNext()){
Text3=Text3 + c.getString(latitude)+"\n";
Text4=Text4 + c.getString(longitude)+"\n";
arrLatitude[i] = Text3;
arrLongitude[i] = Text4;
i++;
}
就个人而言,我宁愿用一个对象将这两个Strings
放在一起。这样,如果索引因任何原因而不匹配,您就可以放心。