Обработка за Android | save () "Файл содержит разделитель пути" - PullRequest
0 голосов
/ 06 апреля 2020

Я использую Обработка 3.5.4.
Я пытаюсь save() изображение экрана до data/frames (относительно моего файла эскиза). Код, который я использую, работает в режиме Java без проблем (я вижу, как изображение сохраняется в нужной папке на моем компьютере), но при запуске его на моем устройстве Android я получаю java.lang.IllegalArgumentException: File data/frames/frameasdf.tif contains a path separator. Я предполагаю, что это из-за разницы в системах хранения файлов.

Можно ли как-нибудь избежать разделителей путей, кроме сохранения изображений непосредственно в папку эскиза? Я новичок в Java (только что перешел с Javascript для более профессионального развития), поэтому, если возможно, пожалуйста, обратитесь к любой полезной документации.

PImage drawing;
void setup() {
  size(displayWidth, displayHeight);
}

boolean clicked = false;
String name = "asdf";

void mouseReleased() {
  clicked = true;
}

void draw() {
  background(255);
  if(drawing != null) {
    image(drawing, 0, 0);
  }
  fill(0);
  noStroke();
  ellipse(mouseX, mouseY, 50, 50);
  if(clicked) {
    save("data/frames/frame" + name + ".tif");
    drawing = loadImage("frames/frame" + name + ".tif");
  }

  clicked = false;
}

Это сокращенная версия моего кода , Это простая программа, которая должна добавлять точку на экран при каждом нажатии.
Я планирую сохранить более одного кадра в папке кадров.

1 Ответ

0 голосов
/ 06 апреля 2020

Я не очень хорошо понял ваш вопрос. Вы пытаетесь сохранить файл в указанных файлах приложения c или в файлах общего хранилища? root файлы различных систем хранения можно получить с помощью Context.getExternalFilesDirs (), который возвращает вектор с файлами.

вы можете начать читать документацию здесь: Android хранилище

...