DBAdapter를 구현하였고, 접근하여 사용하는데는 문제가 없었습니다.
2개는 동시에는 안되는건지,,, 계속 에러가 발생하내요.
먼저 선언한것은 에러가 납니다.
원인을 모르겠내요. 원래가 안되는것인지,,,,
package Database;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
public class DBAdapter {
private DatabaseHelper mHelper;
private SQLiteDatabase mDb;
private static String DB_NAME = "Ship.db";
private static int DB_VERSION = 1;
private static String SQL_TABLE_CREATE;
private static String TABLE_NAME;
public static final String SQL_CREATE_SHIP =
"create table Ship (no INTEGER,"
+ " resId INTEGER,"
+ " name text,"
+ " type text,"
+ " speed INTEGER,"
+ " hp INTEGER,"
+ " recover INTEGER,"
+ " skill text,"
+ " skill_ex text,"
+ " distance INTEGER,"
+ " damege INTEGER,"
+ " open INTEGER,"
+ " rank text"
+ ")";
public static final String SQL_CREATE_TEAM = "create table Team (resId INTEGER,"
+ " name text,"
+ " type text,"
+ " speed INTEGER,"
+ " hp INTEGER,"
+ " recover INTEGER,"
+ " skill text,"
+ " skill_ex text,"
+ " distance INTEGER,"
+ " damege INTEGER,"
+ " team text"
+ ")";
private Context mContext;
private static class DatabaseHelper extends SQLiteOpenHelper {
public DatabaseHelper(Context context) {
super(context, DB_NAME, null, DB_VERSION);
}
public DatabaseHelper(Context context, String name, CursorFactory factory, int version) {
super(context, name, factory, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(SQL_TABLE_CREATE);
}
@Override
public void onOpen(SQLiteDatabase db) {
super.onOpen(db);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
onCreate(db);
}
}
public DBAdapter(Context context, String sql, String tableName) {
this.mContext = context;
SQL_TABLE_CREATE = sql;
TABLE_NAME = tableName;
}
public DBAdapter open(String db) throws SQLException {
DB_NAME = db+".db";
mHelper = new DatabaseHelper(mContext);
mDb = mHelper.getWritableDatabase();
return this;
}
public void close() {
mHelper.close();
}
public long insertTable(ContentValues values) {
return mDb.insert(TABLE_NAME, null, values);
}
public boolean deleteTable(String pkColumn, long pkData) {
return mDb.delete(TABLE_NAME, pkColumn+"="+pkData, null) > 0;
}
public Cursor selectTable(String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy) {
return mDb.query(TABLE_NAME, columns, selection, selectionArgs, groupBy, having, orderBy);
}
public boolean updateTable(ContentValues values, String pkColumn, long pkData) {
return mDb.update(TABLE_NAME, values, pkColumn+"="+pkData, null) > 0;
}
}
입니다 원인이 무엇인까요,,, 어떻게 하면 본문에서 2개의 어댑터를 동시에 접근할 수 있을까요,,,