Android записывает файл во внутреннюю память - PullRequest
1 голос
/ 17 сентября 2011

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

FileOutputStream fos = context.openFileOutput("media", context.MODE_PRIVATE);
fos.write(media.getBytes());
fos.close();

И он выдает мне исключение нулевого указателя в первой строке.Я пробовал с this.context.openFileOutput("media",this.context.MODE_PRIVATE); & this.context.openFileOutput("media",Context.MODE_PRIVATE);, но ничего не помогает.

Есть идеи, как решить эту проблему?

Ответы [ 3 ]

1 голос
/ 19 сентября 2011

На самом деле у меня была такая же проблема, и вот решение:

Вы можете использовать это:

Activity1.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 голосов
/ 17 сентября 2011

Проверяет, что в действии, из которого экземпляр помощника класса передает ссылку на контекст, вы указываете немного больше сценария, например, кто наследует класс помощника или как установить экземпляр атрибута контекста ?.

0 голосов
/ 17 сентября 2011

попробуйте сначала получить контекст

"context = getApplicationContext ()"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...