Как я могу получить файл в корневой папке моего кода приложения для Android через код?
Я хочу получить ссылку на файл config.json.
Как я могу получить файл в корневой папке моего кода приложения для Android через код?
Я хочу получить ссылку на файл config.json.
Измените файл местоположения config.json и поместите файл в папку «res/raw». По умолчанию «необработанная» папка не создается в андроиде proyect (вы должны создавать его вручную).
В заключение разместите ваш json-файл в файле «res/raw/config.json». Позже, вы можете прочитать этот файл в коде с помощью следующей функции:
public String streamToString(InputStream in) {
String l;
BufferedReader r = new BufferedReader(new InputStreamReader(in));
StringBuilder s = new StringBuilder();
try {
while ((l = r.readLine()) != null) {
s.append(l);
}
} catch (IOException e) {
}
return s.toString();
}
Теперь вы можете использовать предыдущую функцию, чтобы прочитать любой файл из папки Реза. В этом случае вы можете использовать следующий код для чтения «config.json» и получить строку с содержимым файла:
//Function getResources() must be called from a Context Activity or Aplication
InputStream rawResourceConfig = getResources().openRawResource(R.raw.config);
String contentConfig = streamToString(rawResourceConfig);
Теперь у вас есть в contentConfig все содержимое файла config.js как String.
Наконец, вы можете использовать библиотеку GSON (например) для преобразования строки JSON в объект Java.
Я надеюсь, что это было надеемся.
Удачи.
Как я могу получить файл в корневой папке моего кода приложения для Android через код?
У вас нет. Инструменты сборки не упаковывают случайные файлы из случайных мест в ваш APK. Файл config.json
отсутствует в вашем APK.
Используйте assets/
или res/raw/
, чтобы упаковать произвольный контент с помощью вашего приложения.
Эти файлы существуют на вашей машине разработки. Их не будет на устройстве/эмуляторе Android. –
@MikeM. Тогда как Firebase получает свою информацию из аналогичного файла? – hemant3370
http://stackoverflow.com/questions/39626455/android-how-to-get-the-root-directory-from-a-file-path –