Я новичок в Android. Я разрабатываю приложение, но я получил ошибку перечисленные нижеcontext.getcachedir() возвращает исключение null указателя
package rankingfraud.others;
import java.io.File;
import android.content.Context;
public class FileCache {
private File cacheDir;
public FileCache(Context context) {
// Find the dir to save cached images
if (android.os.Environment.getExternalStorageState().equals(
android.os.Environment.MEDIA_MOUNTED))
cacheDir = new File(
android.os.Environment.getExternalStorageDirectory(),
"ParseGridView");
else
cacheDir = context.getCacheDir();
if (!cacheDir.exists())
cacheDir.mkdirs();
}
public File getFile(String url) {
String filename = String.valueOf(url.hashCode());
// String filename = URLEncoder.encode(url);
File f = new File(cacheDir, filename);
return f;
}
public void clear() {
File[] files = cacheDir.listFiles();
if (files == null)
return;
for (File f : files)
f.delete();
}
}
я получил ошибку в LogCat, как
E/AndroidRuntime(1236): FATAL EXCEPTION: main
E/AndroidRuntime(1236): Process:pack.rankingfraud, PID: 1236
E/AndroidRuntime(1236): java.lang.NullPointerException
E/AndroidRuntime(1236): at rankingfraud.others.FileCache.<init> (FileCache.java:18)
E/AndroidRuntime(1236): at rankingfraud.others.ImageLoader.<init>(ImageLoader.java:35)
E/AndroidRuntime(1236): at pack.rankingfraud.SingleAppInfo$GetApp.onPostExecute
(SingleAppInfo.java:208)
E/AndroidRuntime(1236): at pack.rankingfraud.SingleAppInfo$GetApp.onPostExecute
(SingleAppInfo.java:1)
E/AndroidRuntime(1236): at android.os.AsyncTask.finish(AsyncTask.java:632)
E/AndroidRuntime(1236): at android.os.AsyncTask.access$600(AsyncTask.java:177)
E/AndroidRuntime(1236):at android.os.AsyncTask$InternalHandler.handleMessage
(AsyncTask.java:645)
E/AndroidRuntime(1236):at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime(1236):at android.os.Looper.loop(Looper.java:136)
E/AndroidRuntime(1236):at android.app.ActivityThread.main (ActivityThread.java:5017)
E/AndroidRuntime(1236):at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(1236): at java.lang.reflect.Method.invoke(Method.java:515)
E/AndroidRuntime(1236):at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run
(ZygoteInit.java:779)
E/AndroidRuntime(1236): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
E/AndroidRuntime(1236): at dalvik.system.NativeStart.main(Native Method)
Вышеуказанное возврата кодирования Null Pointer Exception т.е. Контекст Null. Пожалуйста помоги!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!
вы уже ответили: 'context is null'. – Droidman
Да, но я не знаю, как решить –
проверить, откуда приходит параметр 'context' при вызове метода, используя [@NonNull] (http://developer.android.com/reference/android/support/annotation/NonNull. html) может также помочь – Droidman