1
나는 안드로이드에 대한 새로운 의견을 얻었습니다. ID, 시간, 경도 및 위도를 테이블에 넣고 있습니다. 내 문제는 개별적으로 가져 와서 배열에 넣는 방법입니다. 여기에 하나의 문자열로 가져옵니다.android의 테이블에서 개별 열을 가져 오는 방법
이 내 데이터베이스 클래스는
public class Database{
private static final String Column_Id = "Id";
public static final String time = "Time";
public static final String longitude = "Longitude";
public static final String latitude = "Latitude";
private static final String Table_Name = "Gps";
private static final String Database_Name = "My_Database.db";
private static final int Version = 1;
private Context context;
private SQLiteDatabase db;
private DbHelper helper;
public Database() {
// TODO Auto-generated constructor stub
}
private static class DbHelper extends SQLiteOpenHelper {
public DbHelper(Context context) {
super(context, Database_Name, null, Version);
}
@Override
public void onCreate(SQLiteDatabase db) {
String Create_Database= "CREATE TABLE "
+Table_Name
+ "("
+ Column_Id
+ " INTEGER PRIMARY KEY AUTOINCREMENT, "
+ time
+ " TEXT NOT NULL, "
+ longitude
+ " TEXT NOT NULL, "
+ latitude
+ " TEXT NOT NULL );";
db.execSQL(Create_Database);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldversion, int newversion) {
db.execSQL("DROP TABLE IF EXISTS " + Table_Name);
onCreate(db);
}
}
public Database(Context context) {
this.context = context;
}
public Database open() {
helper = new DbHelper(context);
db = helper.getWritableDatabase();
return this;
}
public void close() {
helper.close();
}
public long insertRows(String time2,double d, double e){
ContentValues value=new ContentValues();
value.put(time, time2);
value.put(longitude, d);
value.put(latitude, e);
return db.insert(Table_Name,null,value);
}
/* public Cursor getAllRows(){
Cursor cursor=db.query(Table_Name, new String[]{Column_Id,time,longitude,latitude}, null,null, null, null, null);
return cursor;
}
*/
public String getData() {
String anArray[]=new String[] {Column_Id,time,longitude,latitude};
Cursor c=db.query(Table_Name, anArray, null, null, null, null, null);
String result="";
int id=c.getColumnIndex(Column_Id);
int time1=c.getColumnIndex(time);
int longitude1=c.getColumnIndex(longitude);
int latitude1=c.getColumnIndex(latitude);
for(c.moveToFirst(); !c.isAfterLast(); c.moveToNext()){
result=result+ c.getString(id)+ " " +c.getString(time1)+ " "+c.getString(longitude1)+" "+c.getString(latitude1)+"\n";
}
return result;
}
}
내가 원하는 것을 얻는 지 확신 할 수 없습니다. 하지만 객체를 만들어 배열 대신 목록으로 저장하려고 했습니까? 또는 객체 배열을 만들 수도 있습니다 ... 그래서 하나의 객체는 ID, 시간, 경도 및 위도를 포함합니다. – vandus
객체 배열을 만들고 싶습니다. – user2910232