Hi allemaal,
Ik ben bezig met het maken van een App voor Android, wat tot nu toe allemaal best wel lekker ging. Ik zit nu echter met een probleem waar ik echt niet uitkom
Het zit zo
Ik maak nu een bitmap aan waarop via een canvas wordt getekend. Ik sla de bitmaps lokaal op via de volgende functie (res. 800x480):
Nu gaat dit (volgens mij) allemaal prima aangezien ik deze files later gewoon weer kan vinden die FilesDir() en hebben de files een normale size. Wanneer ik echte deze files weer probeer te openen met de volgende functie:
Crashed de App zonder duidelijk reden! De output van DDMS is ook niet echt verhelderend:
Volgens mij komt dit probleem wel vaker voor maar ik heb er echt geen oplossing voor kunnen vinden
Is hier misschien een Android/Java-Guru die mij verder op weg kan helpen? Het liep namelijk het zo lekker
Ik ben bezig met het maken van een App voor Android, wat tot nu toe allemaal best wel lekker ging. Ik zit nu echter met een probleem waar ik echt niet uitkom
Het zit zo
Ik maak nu een bitmap aan waarop via een canvas wordt getekend. Ik sla de bitmaps lokaal op via de volgende functie (res. 800x480):
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| public void storeNote(int itemLocation, String noteName, ArrayList<Bitmap> Bitmaps, Boolean ShowSucces) { FileOutputStream fileOS; if (itemLocation == CONSTANTS.STORAGE_PHONE) { for(int i=0; i < Bitmaps.size(); i++) { try { fileOS = LocContext.openFileOutput("wpp.page." + i + "." + noteName + ".jpg", Context.MODE_PRIVATE); Bitmaps.get(i).compress(Bitmap.CompressFormat.JPEG, 80, fileOS); fileOS.close(); } catch (FileNotFoundException e) { } catch (IOException e) { } } } if (ShowSucces) { DeBugMessage = Toast.makeText(LocContext, Bitmaps.size() + " pages saved", 10); DeBugMessage.show(); } } |
Nu gaat dit (volgens mij) allemaal prima aangezien ik deze files later gewoon weer kan vinden die FilesDir() en hebben de files een normale size. Wanneer ik echte deze files weer probeer te openen met de volgende functie:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| public Bitmap retrievePage(int itemLocation, String noteName, int PageNumber) { Bitmap Page = null; FileInputStream fileIS; BufferedInputStream fileBuf; if (itemLocation == CONSTANTS.STORAGE_PHONE) { try { fileIS = LocContext.openFileInput("wpp.page." + PageNumber + "." + noteName + ".jpg"); fileBuf = new BufferedInputStream(fileIS); Page = BitmapFactory.decodeStream(fileBuf); fileBuf.close(); fileIS.close(); } catch (Exception e) { DeBugMessage = Toast.makeText(LocContext, "Error loading Bitmap!", 10); DeBugMessage.show(); } } return Page; } |
Crashed de App zonder duidelijk reden! De output van DDMS is ook niet echt verhelderend:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| 09-02 19:28:33.923: ERROR/AndroidRuntime(598): FATAL EXCEPTION: main 09-02 19:28:33.923: ERROR/AndroidRuntime(598): java.lang.RuntimeException: Unable to start activity ComponentInfo{luova.writing_pad_pro/luova.writing_pad_pro._activityNotePad}: java.lang.NullPointerException 09-02 19:28:33.923: ERROR/AndroidRuntime(598): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663) 09-02 19:28:33.923: ERROR/AndroidRuntime(598): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 09-02 19:28:33.923: ERROR/AndroidRuntime(598): at android.app.ActivityThread.access$2300(ActivityThread.java:125) 09-02 19:28:33.923: ERROR/AndroidRuntime(598): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 09-02 19:28:33.923: ERROR/AndroidRuntime(598): at android.os.Handler.dispatchMessage(Handler.java:99) 09-02 19:28:33.923: ERROR/AndroidRuntime(598): at android.os.Looper.loop(Looper.java:123) 09-02 19:28:33.923: ERROR/AndroidRuntime(598): at android.app.ActivityThread.main(ActivityThread.java:4627) 09-02 19:28:33.923: ERROR/AndroidRuntime(598): at java.lang.reflect.Method.invokeNative(Native Method) 09-02 19:28:33.923: ERROR/AndroidRuntime(598): at java.lang.reflect.Method.invoke(Method.java:521) 09-02 19:28:33.923: ERROR/AndroidRuntime(598): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 09-02 19:28:33.923: ERROR/AndroidRuntime(598): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 09-02 19:28:33.923: ERROR/AndroidRuntime(598): at dalvik.system.NativeStart.main(Native Method) 09-02 19:28:33.923: ERROR/AndroidRuntime(598): Caused by: java.lang.NullPointerException 09-02 19:28:33.923: ERROR/AndroidRuntime(598): at luova.writing_pad_pro._activityNotePad.loadBitmaps(_activityNotePad.java:122) 09-02 19:28:33.923: ERROR/AndroidRuntime(598): at luova.writing_pad_pro._activityNotePad.onCreate(_activityNotePad.java:37) 09-02 19:28:33.923: ERROR/AndroidRuntime(598): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) |
Volgens mij komt dit probleem wel vaker voor maar ik heb er echt geen oplossing voor kunnen vinden
Is hier misschien een Android/Java-Guru die mij verder op weg kan helpen? Het liep namelijk het zo lekker
-- All science is either physics or stamp collecting