2011-09-19 3 views
2

У меня есть небольшая проблема с записью файла во внутреннем хранилище из моего приложения. Я получаю исключение нулевого указателя, но не могу найти способ его исправить .. и на самом деле может Не понимаю, какой из элементов имеет значение null.Android, сохраняющий данные во внутреннем хранилище NullPointerException

Вот код, который я использую:

hash= jsonObj.getString("hash"); 
Log.w("CLIENT AUTH HASH","SHOW CLIENT AUTH HASH : "+hash);     
FileOutputStream out = context.openFileOutput("autohash",context.MODE_PRIVATE); 
out.write(hash.getBytes()); 
out.close(); 

класса, в котором я пытаюсь создать и записать этот файл не является Activity, это просто каким-то вспомогательный класса, и именно поэтому это давая мне ошибку, когда я пытаюсь установить context=this;. И на самом деле NullPointerException он бросил на этой линии: FileOutputStream out = context.openFileOutput("autohash",context.MODE_PRIVATE);, и я не могу получить его, что вызывает это исключение:

  1. Контекст

или

  1. autohash - файл (есть или нет).

Второй сценарий:

Я имею ту же функцию сохранения файла во внутренней памяти, но я звоню этот метод из другого activity.Here ситуация:

У меня есть разные пакеты, полученные через Интернет, и я делаю что-то вроде этого:

BasePacket packet; //all other packets extends this class. 
byte[] buffer=byte[1024]; 
//packet calculations 
switch(packetType){ 
    case startPacket: 
    packet = new startPacket(/*params*/); 
    packet.startExecutePacket(); 
case endPacket: 
    //same procedure 
} 

и в startExecutePacket() Я пытаюсь сохранить файл.

Так что любая помощь приветствуется! Спасибо заранее!

+0

как инициализировать контекст? полезный код или фрагмент –

+0

Контекстный контекст; Я не могу использовать context = this; потому что это дает мне ошибку. Я пробовал использовать context.getApplicationContext(); тоже не помогло. –

ответ

3

CallingActivity.java

onCreate() 

helperClass mHelper= new helperClass(CallingActivity.this); 

helperClass.java

//declare a context 
context refContext; 

//constructor 
public helperClass(context mContext) 
{ 
    refContext=mContext; 
} 

//and you code 

    hash= jsonObj.getString("hash"); 
    Log.w("CLIENT AUTH HASH","SHOW CLIENT AUTH HASH : "+hash);     
    FileOutputStream out = refContext.openFileOutput("autohash",Context.MODE_PRIVATE); 
    out.write(hash.getBytes()); 
    out.close(); 

попробовать с этим одним

+0

На самом деле, которые решают мою проблему только для одного Activity.I есть другое действие, где я просто вызываю метод, который создает и сохраняет файл. Это снова вызывает ошибку nullpointerexception. Я обновляю свой вопрос во второй ситуации. –

+0

вы можете сделать это так же, как указано выше –

+0

, он не работает для второго сценария. –

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