2016-09-15 3 views
5

Я пытаюсь сохранить изображение из моего эскиза обработки Android, но получаю сообщение об ошибке. Как сохранить эскиз в файл изображения в галерее телефона пользователя?Сохранение изображения из Android Sketch

public void draw(){ 
     beginShape(); 
     for (int i=0; i<d.length; i++){ 
      d[i].maison(); 

      int stroke1 = (int) random(255); 
      int stroke2 = (int) random(255); 
      int stroke3 = (int) random(255); 

      stroke(stroke1, stroke2, stroke3); 
      noFill(); 
      vertex(d[i].x , d[i].y); 
     } 
     endShape(CLOSE); 

     UUID idOne = UUID.randomUUID(); 
     save(idOne + ".tga"); 

    } 

Ошибка:

09-15 23:47:25.939 23317-23389/tutorials.androidstudio.fragmentsv3 E/AndroidRuntime: FATAL EXCEPTION: Animation Thread Process: tutorials.androidstudio.fragmentsv3, PID: 23317 java.lang.NullPointerException: Attempt to invoke virtual method 'java.io.File android.app.Activity.getFileStreamPath(java.lang.String)' on a null object reference at processing.core.PApplet.sketchPath(Unknown Source) at processing.core.PApplet.savePath(Unknown Source) at processing.core.PApplet.save(Unknown Source) at tutorials.androidstudio.fragmentsv3.Sketch$override.draw(Sketch.java:74) at tutorials.androidstudio.fragmentsv3.Sketch$override.access$dispatch(Sketch.java) at tutorials.androidstudio.fragmentsv3.Sketch.draw(Sketch.java:0) at processing.core.PApplet.handleDraw(Unknown Source) at processing.core.PGraphicsAndroid2D.requestDraw(Unknown Source) at processing.core.PApplet.run(Unknown Source) at java.lang.Thread.run(Thread.java:818)

ответ

1

Вы должны указать директорию сохранения. Обычно, как ваш код, Обработка будет сохранять файл в папку «данные» в вашем каталоге проекта, но это не работает в Android-режиме. Кроме того, я никогда не пробовал, но у Android может быть класс, который может вернуть вам определенные каталоги устройства, не ища их, таких как «Картинки», «Загрузки» и т. Д. На этой странице вы должны увидеть страницы разработчиков Google.

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