2011-05-02 10 views
11

Estoy tratando de mostrar un archivo html en la carpeta de mis activos, pero en la vista web veo una página en blanco. Tengo un ejemplo similar de stackflow solamente.Para mostrar una página html estática en android

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    final String mimeType="text/html"; 
    final String encoding="UTF-8"; 
    String htmlString="<html><body>"; 
    Document doc; 
    WebView wv= new WebView(this); 
    Elements link = null; 


    setContentView(wv); 
    try{ 
     InputStream in=getAssets().open("myweb.html"); 
     byte[] buffer= new byte[in.available()]; 
     in.read(buffer); 
     in.close(); 
     wv.loadData(new String(buffer), mimeType, encoding); 
    } 
    catch(IOException e) 
    { 
     Log.d("MyWebView", e.toString()); 
    } 
} 
+0

Solo pude obtener la fuente html pero no la página. – PiyushMishra

+0

Intenté hacer con jsoup también pero no pude entender las cosas fácilmente. – PiyushMishra

Respuesta

22

que es posible cargar el contenido de la vista web utilizando

// add a webview with id @+id/the_webwiev to your main.xml layout file 
WebView wv = (WebView)findViewById(R.id.the_webview); 
wv.loadUrl("file:///android_asset/myweb.html"); 
+0

Necesito cargar la URL del archivo /res/raw/map.html –

+0

, entonces tendría que leer el archivo manualmente usando InputStream ins = getResources(). OpenRawResource (R.raw.my_html_file); y luego webview.loadData (htmlcontent, "text/html", null); –

6

Uhm, ¿has intentado seguir el ejemplo de WebView desde la página web oficial? Es realmente simple.

http://developer.android.com/resources/tutorials/views/hello-webview.html

he seguido y no tenía problemas para implementar una vista Web. Tu código parece demasiado complicado para algo que es bastante simple.

Si el archivo se llama pmi_help.html (y situado en el/los activos/carpeta), se carga usando:

mWebView.loadUrl("file:///android_asset/pmi_help.html"); 
+2

Muchas gracias por su apoyo, está funcionando bien ahora tengo otra tarea si me puede ayudar Quiero establecer una imagen como fondo en la vista web. – PiyushMishra

4

Deja tus página hTML en asset > www, entonces la carga:

mWebView.loadUrl("file:///android_asset/index1.html"); 
0

de todos modos, no se olvide de esto: Antes de que esto funcione, sin embargo, su aplicación debe tener acceso a Internet. Para obtener acceso a Internet, solicite el permiso de INTERNET en su archivo de manifiesto. Por ejemplo:

<manifest ... > 
    <uses-permission android:name="android.permission.INTERNET" /> 
    ... 
</manifest> 
+0

incluso si es un archivo local? – behelit

+0

Esto se publicó como una respuesta, pero no intenta responder a la pregunta. Debería ser una edición, un comentario, otra pregunta o eliminarse por completo. – GabrielOshiro

Cuestiones relacionadas