0

Я сохраняю данные в общих предпочтениях внутри asynctask. В этой асинтеграции я загружаю файл с сервера. Если я загружаю несколько файлов с сервера, мой первый файл загружается, когда мой второй файл Я начал получать исключение nullPointer.Исключение Nullpointer при сохранении datainto sharedpreferences

Я использую фрагменты.Мой файл загружается в Activity A, моя загрузка находится в процессе. Я изменяю действия между загрузкой файла. Я в действии. B мой загрузку файла завершен. Второй файл начал здесь. Я получаю исключение null-указателя .Зачем?

я попытался это:

Способ 1:

MyPreferences.saveDownloadingStatusIntoPreferences(
       getActivity().getApplicationContext(), "downloading", 
       "process"); 

и Процесс 2:

MyPreferences.saveDownloadingStatusIntoPreferences(
       MyFragment.this.getActivity(), "downloading", 
       "process"); 

и

Способ 3:

MyPreferences.saveDownloadingStatusIntoPreferences(
       getActivity(), "downloading", 
       "process"); 

этот метод я использую внутри onProgressUpdate.Я использую процесс 2 & 3 мой контекст null, и я получаю nullpointerexception. И я использую Process 1, мой контекст не является нулевым, но я получаю исключение из null-указателя.

Мой метод предпочтения:

public static void saveDownloadingStatusIntoPreferences(Context context, String key, String value) { 
    System.out.println("context : "+context+" key : "+key +" value : "+value); 
    SharedPreferences sharedPreferences = context.getSharedPreferences(
      MY_ST_PREFS, Context.MODE_PRIVATE); 
    Editor editor = sharedPreferences.edit(); 
    editor.putString(key, value); 
    editor.commit(); 
} 

Почему я получаю исключения нулевого указателя любой один помочь мне.

Edit # 1:

мой LogCat

02-17 12:57:47.352: E/AndroidRuntime(2207): FATAL EXCEPTION: main 
02-17 12:57:47.352: E/AndroidRuntime(2207): java.lang.NullPointerException 
02-17 12:57:47.352: E/AndroidRuntime(2207): at info.app.activity.FragmentActivity$DownloadFileFromURL.onProgressUpdate(FragmentActivity.java:934) 
02-17 12:57:47.352: E/AndroidRuntime(2207):  at info.app.activity.FragmentActivity$DownloadFileFromURL.onProgressUpdate(FragmentActivity.java:1) 
02-17 12:57:47.352: E/AndroidRuntime(2207):  at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:647) 
02-17 12:57:47.352: E/AndroidRuntime(2207):  at android.os.Handler.dispatchMessage(Handler.java:99) 
02-17 12:57:47.352: E/AndroidRuntime(2207):  at android.os.Looper.loop(Looper.java:137) 
02-17 12:57:47.352: E/AndroidRuntime(2207):  at android.app.ActivityThread.main(ActivityThread.java:4745) 
02-17 12:57:47.352: E/AndroidRuntime(2207):  at java.lang.reflect.Method.invokeNative(Native Method) 
02-17 12:57:47.352: E/AndroidRuntime(2207):  at java.lang.reflect.Method.invoke(Method.java:511) 
02-17 12:57:47.352: E/AndroidRuntime(2207):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 
02-17 12:57:47.352: E/AndroidRuntime(2207):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
02-17 12:57:47.352: E/AndroidRuntime(2207):  at dalvik.system.NativeStart.main(Native Method) 

это исключение, я получаю при использовании процесса 1.Если я с помощью процесса 2 & 3 это исключение, я получаю

02-17 12:57:47.352: E/AndroidRuntime(2207): java.lang.NullPointerException 
02-17 12:57:47.352: E/AndroidRuntime(2207): at info.app.preference.MyPreference.saveDownloadingStatusIntoPreferences(MyPreference.java:934) 
02-17 12:57:47.352: E/AndroidRuntime(2207): at info.app.activity.FragmentActivity$DownloadFileFromURL.onProgressUpdate(FragmentActivity.java:934) 
02-17 12:57:47.352: E/AndroidRuntime(2207):  at info.app.activity.FragmentActivity$DownloadFileFromURL.onProgressUpdate(FragmentActivity.java:1) 

это дает исключение в saveDownloadingStatusIntoPreferences()

SharedPreferences sharedPreferences = context.getSharedPreferences(
      MY_ST_PREFS, Context.MODE_PRIVATE); 
+0

разместим ваш LogCat .. @Rajesh – PSK

+0

Можете ли вы показать сообщение об ошибке? так что его легко понять – Jithu

+0

Пожалуйста, проверьте мои Редактировать # 1 –

ответ

0

Просто используйте:

Для получения общих предпочтений, используйте следующий метод в вашей деятельности:

SharedPreferences префы = this.getSharedPreferences ( "com.example.app", Context.MODE_PRIVATE); Для чтения предпочтений:

Строка dateTimeKey = "com.example.app.datetime";

// использовать значение по умолчанию, используя новую дату() long l = prefs.getLong (dateTimeKey, new Date(). GetTime()); Редактировать и сохранить настройки

Дата dt = getSomeDate(); prefs.edit(). PutLong (dateTimeKey, dt.getTime()).совершить(); Образец каталога android sdk содержит пример извлечения и сохранения общих настроек. Его расположенные в: каталог

/образцы/android-/ApiDemos

+0

Пожалуйста, проверьте мое обновление, и я отправляю метод savedatainto preference. Я звоню, как ваш метод, но все же я получаю такое же исключение nullpointer. –

0

хранить значения:

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this); 
    SharedPreferences.Editor editor = preferences.edit(); 
    editor.putString("Name","Harneet"); 
    editor.commit(); 

Foe Восстановите значения:

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this); 
    String name = preferences.getString("Name",""); 
    if(!name.equalsIgnoreCase("")) 
    { 
    name = name+" Sethi"; /* Edit the value here*/ 
    } 
+0

Не использовать @Arslan Я использую ваш метод для хранения данных в общих предпочтениях, но все же я получаю такое же исключение nullpointer.Once, пожалуйста, проверьте мое редактирование i обновить мой logcat –

Смежные вопросы