it-swarm.com.ru

Как я могу получить относительный путь к папкам в моем проекте Android?

Как я могу получить относительный путь к папкам в моем проекте, используя код?

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

Я пытаюсь сделать это в моем классе, который расширяет Android.app.Activity .

Возможно, что-то похожее на "получить путь к файлу из ресурса" .

32
Alex Kapustian

Используйте путь к классам. 

ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
URL url = classLoader.getResource("path/to/folder");
File file = new File(url.toURI());
// ...
23
BalusC

Вы ищете корневую папку приложения? Тогда я бы использовал

 String path = getClass().getClassLoader().getResource(".").getPath();

на самом деле "выяснить, где я". 

18
Kennet
File relativeFile = new File(getClass().getResource("/icons/forIcon.png").toURI());
myJFrame.setIconImage(tk.getImage(relativeFile.getAbsolutePath()));
6
Zin Win Htet

С этим я нашел путь моего проекта:

new File("").getAbsolutePath();

это возвращение "c:\Projects\SampleProject"

1
dchang

Вы можете проверить этот пример кода, чтобы понять, как вы можете получить доступ к относительному пути, используя пример кода Java

import Java.io.File;

public class MainClass {

  public static void main(String[] args) {

    File relative = new File("html/javafaq/index.html");

    System.out.println("relative: ");
    System.out.println(relative.getName());
    System.out.println(relative.getPath());
  }
}

Здесь getPath отобразит относительный путь к файлу.

0
gmhk

В Android доступ к метаданным уровня приложения осуществляется через ссылку Context , потомком которой является действие.

Например, вы можете получить исходный каталог через свойство getApplicationInfo().sourceDir . Существуют методы и для других папок (каталог ресурсов, каталог данных, каталог базы данных и т.д.).

0
JRL