안녕하세요 처음으로 안드로이드 앱을 개발하고자 공부하며 만들어보고 있는중입니다.^^;

 

SQLite Database Browser 프로그램을 이용하여 DB를 수정하고, field(위도, 경도값)를 Numeric값으로 저장하고

자바(안드로이드)상으로 불러들여 거리를 계산하고자 하는데요~

DB내용을 ArrayList<HashMap<String, Double>>과 같은 형식으로 저장하면 데이터 타입이 DB에서 지정한 것과 동일하여

읽어들이는데 이상이 없을것 같았는데 로그로 확인해 본 결과 아무것도 읽어들이질 못하네요..

ArrayList<HashMap<String, String>>으로 하면 읽히는데..

또한 String으로 읽었을 경우 Log에 소수점이 잘려서 나오는 것은 제가 필드 타입을 잘못 정해줘서 그런걸까요?

 

고민고민하다 이렇게 부탁을 드립니다..

많은 분들의 도움을 부탁드립니다.^^

 즐거운 하루 되세요^^

 package book.android.com;
import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.util.Log;
import java.util.ArrayList;
import java.util.HashMap;
public class opendb extends Activity 
{
 private SQLiteDatabase DB = null;
 Cursor cur = null;
 public ArrayList<HashMap<String,Double>> DbSource = new ArrayList<HashMap<String,Double>>(640);
 
 public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        DB = this.openOrCreateDatabase("Db.db", MODE_PRIVATE, null);
        ReceiveData();
        Log.e("al", "database = " + DbSource);
        
    }
 public void ReceiveData()
 { 
  cur = DB.rawQuery("SELECT * FROM location", null);
  if(cur.moveToFirst() == true){
   HashMap<String,Double> _Item = new HashMap<String,Double>(640);
   try{
   do{
    _Item.put("Sector", cur.getDouble(3));
    //_Item.put("Name", cur.getString(4));
    _Item.put("Latitude", Double.parseDouble(cur.getString(5)));
    _Item.put("Longitude", Double.parseDouble(cur.getString(6)));
    _Item.put("Close_sector1", Double.parseDouble(cur.getString(7)));
    if(cur.getColumnName(2)==null)
     break;
    else
    {
     _Item.put("Close_sector2", Double.parseDouble(cur.getString(2)));
     if(cur.getColumnName(1)==null)
      break;
     else
     {
      _Item.put("Close_sector3", Double.parseDouble(cur.getString(1)));
      if(cur.getColumnName(0)==null)
       break;
      else
      {
       _Item.put("Close_sector4", Double.parseDouble(cur.getString(0)));
      }
     }
    }
    DbSource.add(_Item);
   }while(cur.moveToNext());
   }catch(java.lang.Exception e)
   {
    e.getMessage();
   }
  }
  
 }
 
 
}