2013-09-09 3 views
0

У меня есть приложение, которое открывает определенные веб-страницы с веб-просмотром. Если есть интернет-соединение, веб-просмотр открывает определенный URL-адрес и загружает html-файл. Если интернет-соединение отсутствует, веб-просмотр должен открыть ранее загруженный html-файл.Открыть загруженный файл html с помощью WebView

Это, как я пытаюсь сделать это:

webView.loadUrl(Environment.getExternalStorageDirectory().toString() + "/Android/data/com.whizzapps.stpsurniki/" + razred + ".html"); 

Путь 100% прав, но он по-прежнему не будет показывать его по какой-то причине. Я провел некоторое исследование, и я увидел, что люди обычно помещают загруженный html-файл в папку с ресурсами, но я загружаю html-файл внутри приложения, поэтому у меня нет доступа к папке с ресурсами. Что мне делать?

+0

Если открыть браузер на устройстве, и введите URL-адрес, который передается функции loadURL. Что происходит? – CurlyPaul

ответ

0

вы можете использовать LoadData вместо этого, но вы должны сначала прочитать файл:

data = readFile(Environment.getExternalStorageDirectory().toString() + "/Android/data/com.whizzapps.stpsurniki/" + razred + ".html"); 
webView.loadData(data, "text/html; charset=UTF-8", null); 
//or 
//webView.loadDataWithBaseURL(null, result, "text/html; charset=UTF-8", null, null); 

здесь есть функция для чтения файла

private String readFile(String path) throws IOException 
{ 
    StringBuilder sb = new StringBuilder(); 
    BufferedReader br = new BufferedReader(new FileReader(path)); 
    try 
    { 
     String line = null; 
     while ((line = br.readLine())!=null) 
     { 
      sb.append(line); 
     } 
    } 
    finally 
    { 
     br.close(); 
    } 
    return sb.toString(); 
}