Asset, WebView и редактирование файлов

142
20 марта 2019, 12:10

Есть WebView. В него загружается index.html web.loadUrl("file:///android_asset/index.html");

А внутри этого *html, лежит скрипт *js, который во время работы приложения, должен редактироваться.

Редактировать файлы в Asset нельзя.

Перенести в другое место - не будет отображаться в WebView.

Плюс ко всему, никак не могу понять, как создать какой-нибудь файл, сохранить его на устройстве и обращаться к нему.

Подскажите, как реализовать такую задачу: редактируемый файл, который можно подключать к WebView

Answer 1

спустя несколько дней мучений нашел таки ответы.

1) копируем файлы из Asset на внутреннюю память телефона, чтобы в дальнейшем редактировать.

inz("leaflet.js");
inz("index.html");
..............
public void inz(String name) throws IOException {
    InputStream is = null;
    OutputStream os = null;
    try {
        is = getAssets().open("wms/"+name);
        os = openFileOutput(name, MODE_PRIVATE);
        byte[] buffer = new byte[1024];
        int length;
        while ((length = is.read(buffer)) > 0) {
            os.write(buffer, 0, length);
        }
    } finally {
        is.close();
        os.close();
    }
}

2) читаем, редактируем и перезаписываем наши файлы через обычные

 FileOutputStream fos = openFileOutput("index.html", MODE_PRIVATE);
    BufferedReader bf = new BufferedReader(new InputStreamReader(openFileInput("index.html")));

3) чтобы загрузить наш файл с внутренней памяти в WebView используем

web.loadUrl("file://" + getApplicationContext().getFilesDir().getAbsolutePath() + "/index.html");
READ ALSO
Использование, связка бинов в Java

Использование, связка бинов в Java

У меня есть examplexhtml, я не знаю как правильно его заполнить, так как NetBeans предлагает один вариант, а видео, где все работает, заполняют по-другому

153
JS. Внутренняя память

JS. Внутренняя память

Сколько байтов в куче занимает объявление функции в JS?

148
Перебрать массив объектов

Перебрать массив объектов

Есть массив объектовНужно получить на выходе сколько у каждого юзера completed

152
Как изменить значение строки MySQL из HTML документа?

Как изменить значение строки MySQL из HTML документа?

Всем привет! Возник вопрос как изменить значение поля Activity с нуля на единицу: https://ibbco/hhjU0q

169