我有文件,我拥有数据库的所有功能,对于一个查询,我需要使用getDefaultSharedPreferences()
获取首选项,但我不知道如何轻松获取上下文。
以下是此文件的一个片段:
public class Database {
private SQLiteOpenHelper openHelper;
public Cursor getVzkazy(long uzivatel) {
SQLiteDatabase db = openHelper.getReadableDatabase();
int limit = PreferenceManager.getDefaultSharedPreferences(this).getInt("limit", 100000);
return db.query(TB_NAME_VZ, columns_vz, null, null, null, null, COLUMN_ID_VZ + " DESC", String.valueOf(limit));
}
}
答案 0 :(得分:1)
在实例化Database类时,您需要传递Context。 将公共构造函数添加到类Database:
public class Database {
private Context mContext;
public Database(Context context) {
mContext = context;
}
}
然后使用mContext,传递“this”将无法正常工作,因为它的类型为Database,它需要类型Context,因此会产生编译错误。