Когда я пытаюсь получить доступ к SharedPreferences в обработчике SAX xml, который у меня работает, я не могу получить какие-либо префы для чтения и записи ... эта строка продолжает падать ..
SharedPreferences mySharedPreferences
PreferenceManager.getDefaultSharedPreferences(this);
Также во время
много раз сбивалось так много разных способов.
this.db = openHelper.getWritableDatabase ();
все, если я попытаюсь использовать из обработчика
также объявлено
private Context context;
...
...
@Override
public void endElement(String namespaceURI, String localName, String qName)
throws SAXException {
if (localName.equals("report")) {
this.in_report = false;
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context); //CRASH!! on getDefaultSharedPreferences
preferences.edit().putString("TIMEPERIOD_NUMBER","GREEN").commit();
}
}
и всегда получаю логкат
Метод getDefaultSharedPreferences (Context) в типе PreferenceManager
неприменимо для аргументов ....
во время синтаксического анализа у меня установлены некоторые флаги, которые мне нужно установить. Мне нужно установить эти флаги pref для внутренней строки во время обработки тегов .... кажется, мой контекст не может быть разрешен.
и у меня есть понятие об использовании связывателя и, возможно, о том, чтобы включить слушателя в мою основную деятельность, которая вызывает обработчик, который выполняет обработку xml. Я пробовал различные способы передачи контекста в обработчик, и кажется, что DefaultHandler является черной дырой ..
я уже пытался создать список в обработчике и проверял, могу ли я передать его обратно в основное действие ...
Мне действительно нужно поместить запись xml с помощью операции вставки sqlite db, которую я настроил в обработчике базы данных ... но я не могу.
ParsedDataSet fluRec = new ParsedDataSet();
fluRec.setSstate(sstate.toString());
fluRec.setSabbrev(sabbrev.toString());
fluRec.setSstate(slabel.toString());
fluRec.setSyear(syear.toString());
fluRec.setSweek(stimeperiod.toString());
list.add(fluRec);
Я создал симпатичный маленький цикл, который я использую для просмотра записей, которые я передал из обработчика xml ... ... Я буду выполнять свои действия в db / pref после обработки xml. :)
private static void FluRecordLooper(List<FluDataSet> fluRec){
int size=fluRec.size();
for (int i = 0; i < size; i++) {
Log.v("MainActivity", "forLoopIncr --> " + fluRec.get(i).getSabbrev());
Log.v("MainActivity", "forLoopIncr --> " + fluRec.get(i).getSweek());
Log.v("MainActivity", "forLoopIncr --> " + fluRec.get(i).getSstate());
Log.v("MainActivity", "forLoopIncr --> " + fluRec.get(i).getSyear());
Log.v("MainActivity", "forLoopIncr " + fluRec.size() );
}
}
Ленн