Мне действительно не нужен код для этого, просто структура его выполнения.Нужен ContentProvider для доступа к SharedPreferences
Я работаю над приложением, в котором у меня есть BaseAtivity (extends Activity) с рядом методов и внутренним классом User. Все другие действия в моем приложении расширяют BaseAtivity.
Класс пользователя имеет методы чтения и записи данных с использованием SharedPreferences. Таким образом, LoginActivity расширяет BaseActivity, и при правильном входе он вызывает User.login (args), чтобы создать общую переменную (в MODE_PRIVATE) с идентификатором пользователя, электронной почтой пользователя и json с пользовательскими настройками.
Мне нужно создать поставщика контента, который будет использовать query() для извлечения данных из вошедшего в систему пользователя. поставщик контента получит данные из sharedpreferences и предоставит им аппликацию, вызывающую Content Provider.
Поскольку мой контент-провайдер расширяет ContentProvider, я не могу расширить BaseActivity (это может быть решение). При вызове метода в ContentProvider в OnCreate()
User user = new BaseActivity.User();
я получаю ошибку .... «„com.example.myapp.BaseActivity“не является классом вшита».
Есть ли способ вызвать внутреннего пользователя класса из моего ContentProvider?
Хм, вам действительно нужно «ContentProvider» в этом случае? –
@Ye Lin Aung, мне нужно предоставить функциональность некоторым внешним приложениям для доступа к данным пользователя. как я мог это сделать? Я просто пытался получить доступ к SharedPreferences из класса поставщика контента (поэтому myContentProvider расширяет ContentProvider реализует SharedPreferences), но при попытке настроек SharedPreferences = getSharedPreferences (R.string.PREFS_NAME, ""); Я получаю сообщение об ошибке: не удается найти метод символов getSharedPreferences (int, String) – geoak