2013-01-21 5 views
0

저는 gps 좌표와 같은 MySQL 데이터베이스에서 gps 데이터를받는 안드로이드 응용 프로그램을 작성한 후 사용자에게 Google지도에서 이러한 좌표를 보여줍니다.SQLite 쿼리가 두 개의 대답을 반환합니다

위도 및 경도 값을 로컬로 저장하는 SQLite 데이터베이스가 있고 내 질문에 SQLite 쿼리에서 이러한 값을 검색하고 값을 두 문자열로 반환 할 수 있습니다. 이것이 내 문제입니다.

DbAdapter 클래스 "Databasehandler"

public Cursor getLatLng(){ 
    SQLiteDatabase db = this.getReadableDatabase(); 
    return db.rawQuery("SELECT * FROM " + TABLE_CARCOORD + " WHERE name = " + CAR_KEY_NAME , null); 
    } 

클래스 "UserFunction는"내가 두 값을 반환 할 때

public String getCoords(Context context, String lat, String lng) { 
    DatabaseHandler db = new DatabaseHandler(context); 
    Cursor cursor = db.getLatLng(); 
    if (cursor.moveToFirst()){ 
     lat = cursor.getString(cursor.getColumnIndex("lat")); 
     lng = cursor.getString(cursor.getColumnIndex("lng")); 
    } 
    return lat, lng; 
    } 

그것은 나에게 오류를 제공합니다. 제안이있는 사람은 누구입니까? 저는 안드로이드 프로그래밍과 Java의 초보자입니다. 따라서 분명한 대답이 있다면 저를 용서해주십시오. 대신 같은 방법에서 하나 개의 값을 더 후 돌아 ArrayList 또는 문자열 배열에있어서의 캐릭터 변경 반환형 돌리는

+0

:

public ArrayList<String> getCoords(Context context, String lat, String lng) { DatabaseHandler db = new DatabaseHandler(context); ArrayList<String> locarrlist=new ArrayList<String>(); Cursor cursor = db.getLatLng(); if (cursor.moveToFirst()){ lat = cursor.getString(cursor.getColumnIndex("lat")); lng = cursor.getString(cursor.getColumnIndex("lng")); locarrlist.add(lat); locarrlist.add(lng); } return locarrlist; } 

다른 호출은 이들 값을 검색 디자인면에서 더 나은 맞춤형 Coordinates 클래스를 만들 수 있습니다. 아니면 그냥 문자열 배열을 반환 할 수 있습니다. –

+0

어떤 오류가 발생합니까? 질문을 수정하고 완전한 오류 메시지를 포함하십시오. – Robert

답변

1

:

ArrayList<String> locarrlist=getCoords(context,lat,lng); 
String lat = locarrlist.get(0); 
String lng = locarrlist.get(1); 
+0

많은 감사합니다! "ArrayList "을 사용할 수 있습니까? Google지도 "LatLng"는 문자열을 인수로 사용하지 않고 double을 사용합니다. LatLng position = new LatLng (Double, Double)'또는 문자열을 double로 변환해야합니까? –

+0

@ErikSoderstrom : 그렇습니다. 왜냐하면 나는 thing u가 문자열 lat이고 db가 String이고, ArrayList에서 검색 한 후에 Double로만 가능하기 때문입니다. –

관련 문제