package com.example.final_view.database;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
import com.example.final_view.model.Busstation;
import java.util.ArrayList;
import java.util.List;
/**
* Created by 정균 on 2017-07-21.
*/
public class DatabaseHelper extends SQLiteOpenHelper
{
public static final String DATABASE_NAME = "sample.db";
public static final String DBLOCATION = null;/*"/data/data/com.example.final_view.database/databases/"*/
public static final int DATABASE_VERSION = 3;
private Context mContext;
private SQLiteDatabase mDatabase;
public DatabaseHelper (Context context)
{
super(context, DATABASE_NAME, null, DATABASE_VERSION);
Log.d("Database Operations", "Database created");
this.mContext = context;
}
public static final String TABLE_NAME = "sample";
public static final String BUSSTOP_ID="BUSSTOP_ID";
public static final String BUSSTOP_NAME="BUSSTOP_NAME";
public static final String NAME_E="NAME_E";
public static final String LONGITUDE="LONGITUDE";
public static final String LATITUDE="LATITUDE";
public static final String ARS_ID="ARS_ID";
public static final String NEXT_BUS="NEXT_BUS";
public static final String NUM="NUM";
public static final String STATION_LIST_Id="STATION_LIST_Id";
@Override
public void onCreate(SQLiteDatabase db)
{
db.execSQL("CREATE TABLE" + TABLE_NAME + "("+BUSSTOP_ID + "INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL"+BUSSTOP_NAME+"TEXT"+NAME_E+"TEXT"+ARS_ID+
"TEXT"+LATITUDE+"TEXT"+LONGITUDE+"TEXT"+NEXT_BUS+"TEXT"+NUM+"TEXT"+STATION_LIST_Id+"TEXT);");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
{
db.execSQL("DROP TABLE IF EXISTS" + TABLE_NAME);
onCreate(db);
}
public void openDatabase()
{
String dbPath = mContext.getDatabasePath(DATABASE_NAME).getPath();
if (mDatabase != null && mDatabase.isOpen())
{
return;
}
mDatabase = SQLiteDatabase.openDatabase(dbPath, null, SQLiteDatabase.OPEN_READWRITE);
}
//db종료
public void closeDatabase()
{
if (mDatabase!=null)
{
mDatabase.close();
}
}
//Method 값입력
public List<Busstation>getListProduct()
{
Busstation busstation = null;
List<Busstation> busstationList = new ArrayList<>();
openDatabase();
Cursor cursor = mDatabase.rawQuery(" SELECT * FROM sample ",null);
cursor.moveToFirst();
while (!cursor.isAfterLast())
{
busstation =new Busstation(cursor.getInt(0), cursor.getString(1),cursor.getString(2),cursor.getString(3),cursor.getString(4),cursor.getString(5),cursor.getString(6),cursor.getString(7),cursor.getString(8));
busstationList.add(busstation);
cursor.moveToNext();
}
cursor.close();
closeDatabase();
return busstationList;
}
}
E/SQLiteLog: (1) no such table: sample
07-23 04:57:17.432 3631-3631/com.example.final_view D/AndroidRuntime: Shutting down VM
07-23 04:57:17.442 3631-3631/com.example.final_view E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.final_view, PID: 3631
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.final_view/com.example.final_view.MainActivity}: android.database.sqlite.SQLiteException: no such table: sample (code 1): , while compiling: SELECT * FROM sample
db에 있는 table 명이랑 똑같이 줬는데 에러가 나옵니다!!!
고수님들 한번봐주시면 감사합니다!!!