I am passing and showing values from one activity to another activity, and making file name using those string like this:
AU_20140312_160107_65.jpg
AU - simple prefix
20140312_160107 - yyyyMMdd_HHmmss
6 - event_id (getting from LoginActivity.java)
5 - operative_id (getting from LoginActivity.java)
see my code below:
LoginActivity.java:
static SharedPreferences sharedprefs;
static String event_id, operative_id ;
sharedprefs = getApplicationContext().getSharedPreferences(
"com.example.app", Context.MODE_PRIVATE);
Intent intent = getIntent();
event_id = intent.getStringExtra("event_id");
sharedprefs.edit().putString("EVENT_ID", event_id).commit();
operative_id = intent.getStringExtra("operative_id");
sharedprefs.edit().putString("OPERATIVE_ID", operative_id).commit();
CameraLauncherActivity.java:
static File getOutputMediaFile() {
String event_ID = LoginActivity.sharedprefs.getString("EVENT_ID", null);
Log.d("shared >>> eventID : ", event_ID);
String operative_ID = LoginActivity.sharedprefs.getString("OPERATIVE_ID", null);
Log.d("shared >>> operativeID : ", operative_ID);
timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss")
.format(new Date());
// file name
mediaFile = new File(LoginActivity.mediaStorageDir.getPath() + File.separator
+ "AU_" + timeStamp + "_" + event_ID + operative_ID + ".jpg");
return mediaFile;
}
when launching first time, Log says:
shared >>> eventID :(29917): 12
shared >>> operativeID :(29917): 4
like you can see above, everything works fine, and getting eventID and operativeID using log as well
but once i will launch my app again, after closing it, and caputre image, then getting NPE and Log :
FATAL EXCEPTION: main
java.lang.NullPointerException: println needs a message
at android.util.Log.println_native(Native Method)
at android.util.Log.d(Log.java:155)
app.mac.Camera.CameraLauncherActivity.getOutputMediaFile(CameraLauncherActivity.java:386)
at app.mac.Camera.CameraLauncherActivity$2.onPictureTaken(CameraLauncherActivity.java:362)
at android.hardware.Camera$EventHandler.handleMessage(Camera.java:789)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4921)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1036)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:803)
at dalvik.system.NativeStart.main(Native Method)