2016-09-27 5 views
0

내부 저장소에있는 파일을 로컬로 호스트하고 싶습니다. google의 webview local server을 거쳤으나 자산 폴더에있는 파일 만 호스팅 할 수 있습니다. 자산 폴더에서 수행 할 수없는 파일을 수정할 수 있으므로 내부 저장소에서 파일을 호스팅하고 싶습니다.내부 저장 장치의 안드로이드 호스트 파일 (로컬)

누구나 가능하다면 그 논리를 말해 줄 수 있습니까? 다른 제안은 인정 될 것입니다.

+0

글쎄 파일을 호스팅하여 무슨 뜻인지 모르겠지만 자산에서 다음 파일을 사용하려면 코드를 변경하는 것이 너무해서는 안된다 할 수 있다면. 정확히 어떤 문제가 있습니까? – greenapps

+0

나머지 부분에서는 NanoHttpD를 사용하는 것이 일부 로컬 파일을 제공하기 위해 구현하는 것이 훨씬 쉽다고 생각합니다. – greenapps

+0

내부 저장소 파일을 사용하여 로컬 서버를 만드는 것처럼 호스팅합니다. Google 웹보기 로컬 서버에 지정된 파일 경로가 없습니다. 대상 (자산 폴더)은 기본적으로 정의됩니다. – Nikethan

답변

0

당신은 WebViewloadUrl(String url) 방법을 사용할 수 있습니다 안드로이드 응용 프로그램에서

String filePath = context.getFilesDir() + File.separator + "page.html"; 
webView.loadUrl("file://" + filePath); 
0

을, 파일은 APK 내부의 자산 폴더가 아닌 다른 2 곳에서 읽을 수 있습니다. 이들은 일반적인 HTML, CSS 및 JS 파일이므로 로컬 서버를 통해 특별히 호스트 할 필요가 없으며 대신 WebView 내부에 정상적으로 표시 할 수 있습니다.

  1. 내부 저장 : URL은 file:///folder/file.html
  2. 외부 저장 장치의 형태를 취한다 :는 Environment.getExternalStorageDirectory() 방법을 사용합니다. String url = "file:///" + Environment.getExternalStorageDirectory().toString() + File.separator + "folder/file.html"

아니면 당신은 here을 같이 응용 프로그램의 웹 기반 구성 요소를 업데이트 이온를 사용하고 이온 배포를 서비스를 이용할 수있다. 이것은 네이티브로 행해질 수도 있습니다 만, 어플리케이션 내의 서비스를 작성해, 배치 서버로 최신의 코드베이스를 체크 한 후, 기존의 파일을 새로운 코드베이스로 옮겨 놓아야합니다.