서버와 통신하면서 html 내용을 다운받는 프로그램을 만들려고 합니다.
browser = (WebView) findViewById(R.id.newsbody);
browser.loadData(newsBody, "text/html", "UTF-8");
newsBody가 서버에서 받은 내용인데 서버에서는 항상 데이터가 내려오는 것을 로그로 확인했습니다. 하지만 디스플레이가 정상적으로 될때가 있고 안 될때가 있습니다.
첨부한 화면은 될때와 안될때인데 Web page not available 이 왜 뜨는건지 알수가 없어서 이렇게 질문을 올립니다.
확실히 하기위해 서버에서 받은 데이터를 txt 파일로 저장을 했습니다.
정상적으로 디스플레이 되는 경우랑 안 되는 경우를 비교해 보니까 디스플레이 되는 문자열 중간에 % 가 있냐 없냐라는 차이점이 있었습니다.
browser = (WebView) findViewById(R.id.newsbody);
browser.loadData("<html><body>Hello, world! 안녕하세요! %test</body></html>", "text/html", "UTF-8");
이렇게 박아서 테스트해보니까 Web page not available 뜨는 현상이 발생했습니다.
제가 html을 많이 아는 것은 아니지만 <, >, " 이런것은 html 태그중에 사용하기때문에 따로 표현하는 방식이 있지만 % 는 그런것도 아니거 같은데요. 왜 % 가 들어가면 정상적으로 디스플레이 되지 않는지 궁금합니다.
질문하신지 꽤 되신거 같은데~
혹시 지금 몰라서 찾고 계시는 분이 계신다면 알아두시라고 이렇게 올립니다^^
웹페이지를 찾아오지 못하는 이유는 바로 인터넷 퍼미션을 주지 않아서인데요!
manifast파일에 인터넷퍼미션을 추가해 주시면 됩니다.
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
이렇게~ㅋㅋ 이 퍼미션은 applcation 요소 밖에 선언해 주셔야 해요!!
이걸로 문제로 고생하고 계신다면 도움이 되었으면 좋겠습니당~
좋은 하루 되세요^^