I have a DBHelper
class to work with SQLite
. With normal activity it works very well. I want to learn fragments. But now i can't access DatabaseHelper
class. Says Database_TABLE is not public and cannot be accessed outside package. I don't know what to do. Maybe just move DatabaseHelper
to fragments package?
My DatabaseHelper class:
package com.blogspot.rossokam.acharsoz;
import android.content.Context;
import android.database.DatabaseErrorHandler;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.provider.BaseColumns;
import android.util.Log;
/**
* Created by nagizade on 2/2/16.
*/
public class DatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "mydatabase.db";
private static final int DATABASE_VERSION = 1;
static final String DATABASE_TABLE = "yourpass";
public static final String SITE_NAME_COLUMN = "site_name";
public static final String LOGIN_COLUMN = "login";
public static final String PASSWORD_COLUMN = "password";
private static final String DATABASE_CREATE_SCRIPT = "create table "
+ DATABASE_TABLE + " (" + BaseColumns._ID
+ " integer primary key autoincrement, " + SITE_NAME_COLUMN
+ " text not null, " + LOGIN_COLUMN + " text, " + PASSWORD_COLUMN
+ " text);";
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
public DatabaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory,
int version) {
super(context, name, factory, version);
}
public DatabaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory,
int version, DatabaseErrorHandler errorHandler) {
super(context, name, factory, version, errorHandler);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(DATABASE_CREATE_SCRIPT);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// Запишем в журнал
Log.w("SQLite", "Обновляемся с версии " + oldVersion + " на версию " + newVersion);
// Удаляем старую таблицу и создаём новую
db.execSQL("DROP TABLE IF IT EXISTS " + DATABASE_TABLE);
// Создаём новую таблицу
onCreate(db);
}
}
Part from fragments with error
mDatabaseHelper = new DatabaseHelper(getActivity(), "mydatabase.db", null, 1);
mSqLiteDatabase = mDatabaseHelper.getReadableDatabase();
ListView siyahi = getActivity().;
registerForContextMenu(siyahi);
cursor = mSqLiteDatabase.rawQuery("select * from "+ DatabaseHelper.DATABASE_TABLE, null);
String[] headers = new String[] {DatabaseHelper.SITE_NAME_COLUMN, DatabaseHelper.LOGIN_COLUMN,DatabaseHelper.PASSWORD_COLUMN};
Aucun commentaire:
Enregistrer un commentaire