Nueva pregunta

Pregunta:

 
  0  
 
Fecha: 11-02-2018 22:53:25 (En Español)

Problema con Android Studio al cargar páginas web[Resuelta]

Hola, ¿cuantas páginas web locales (en la carpeta assets) se puede poner en Android Studio?

Lo pregunto porque tengo puestas unas cuantas, y pondré algunas más, y solo puedo leer la primera página que cargo desde la calse Fragmen, esta primera página tiene botones desde lo que se muestran el resto de páginas, pero al pulsar en un botón, me dice que no encuentra la página, bueno más bien lo que intenta abrir la página es un programa que tengo instalado en el móvil, el OfficeSuite, que muestra este mensaje de error




La página si está en la carpeta assets, y desde el navegador del PC se abren sin problemas.

Tiene que ver algo con el número de versión, tengo puesto estos:
compileSdkVersion 25
buildToolsVersion '26.0.3'
targetSdkVersion 25

Porque la página no se muestra dentro del Android Studio, no entiendo porque la página tiene que abrirla otra aplicación.


Gracias.
Etiquetas: Android - Pregunta Votos: 0 - Respuestas: 11 - Vistas: 8 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 12-02-2018 01:32:50 Algo andaras haciendo mal, no es problema de la version al menos que uses uno que sea menos que la version 4 ;v lo cual lo dudo y sobre la pregunta de cuantas paginas puedes poner en assent bueno en realidad es cuantas tu quieras pues lo que importa es el espacio memoria del telefono donde se instalo pero como siempre entre mas en la aplicación mas pesara la app en este caso insignificante pues cargas archivos html, pero recuerda cargar archivos html no es nativo de android   Votos: 1 - Link respuesta
     
  • Fecha: 12-02-2018 02:22:43 muestra el código de como tienes configurados los enlaces para poder ayudarte y de como estas cargando el fragment   Votos: 1 - Link respuesta
     
  •  
      0  
     
    Fecha: 12-02-2018 03:12:13 Hola, luego lo pongo que no estoy en casa para poner todo el codigo, pero creo puede ser por esta linea de codigo, antes la tenia puesta y se mostraban bien las paginas

    webView.setWebViewClient(new WebViewClient());


    Carlos creo se anulo por esta otra
        protected void handleTelLink(String url){
            Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
            startActivity(intent);
        }
    


    No se si te acordaras, al tener puesta la primera no se podia utilizar para poder hacer llamadas, y al anular esa linea y poner el segundo codigo, funciona al pulsar sobre los enlaces que lleva la pagina para abrir el teclado para hacer una llamada.
      Votos: 0 - Link respuesta
     
  •  
      0  
     
    Fecha: 12-02-2018 22:53:24 Este es el codigo que tenia puesto,

            webView = (WebView) view.findViewById(R.id.webview);
    
            webView.loadUrl("file:///android_asset/telefonos.html");
            WebSettings webSettings = webView.getSettings();
            webSettings.setJavaScriptEnabled(true);
            webView.setWebViewClient(new WebViewClient());
    
        protected void handleTelLink(String url){
            Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
            startActivity(intent);
        }
    
    


    Y este es el codgio con el que se ha solucionado

            webView.loadUrl("file:///android_asset/telefonos.html");
            WebSettings webSettings = webView.getSettings();  //Habilitando JavaScript
            webSettings.setJavaScriptEnabled(true);  
    
    
    
                public boolean shouldOverrideUrlLoading(WebView view, String url){
                    if(url.startsWith("http")){
                        return false;
                    }else if(url.startsWith("tel:") || url.startsWith("mailto:") || url.startsWith("sms:") || url.startsWith("smsto:") || url.startsWith("mms:") || url.startsWith("mmsto:")){
    
                        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
                        startActivity( intent );
                        return true;
                    }
    
                    return false;
                }
    
                @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
                @Override
                public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request){
                    String url = request.getUrl().toString();
                    if(url.startsWith("http")){
                        return false;
                    }else if(url.startsWith("tel:") || url.startsWith("mailto:") || url.startsWith("sms:") || url.startsWith("smsto:") || url.startsWith("mms:") || url.startsWith("mmsto:")){
                        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
                        startActivity( intent );
                        return true;
                    }
    


    un saludo.
      Votos: 0 - Link respuesta
     
  •  
      0  
     
    Fecha: 15-02-2018 22:24:09 Hola, no se si no recibis notificaciones de nuevas respuestas, lo digo porque como me pedis que ponga el codigo completo, el codigo ya esta puesto, se puede ver donde ahora donde puede estar el problema, y como se puede solucionar ?

    Un saludo.
      Votos: 0 - Link respuesta
     
  • Fecha: 16-02-2018 03:54:54 Entendemos que el código ya esta puesto, pero nosotros, o al menos yo, tomo un poco de algunos ratos libres para ayudar en algunos foros, pero el resto del tiempo estoy trabajando o con la familia, entiendo tu desesperación, has considerado no usar los webview y utilizar las herramientas de diseño de Visual Studio para tu tarea??? o por ejemplo Adobe XD??. lo pregunto porque quedaría mejor tu app si aprovechar la potencia de dichas herramientas en vez de emular a phonegap cargando de muchos html tu app. De todas formas déjame ver si cargo tu código y reviso lo que pasa, pero por encima si des habilitas algo es obvio que deja de funcionar otra cosa.

    En todo caso, si vas a trabajar con código no nativo dentro de código nativo suelen pasar estas cosas.
      Votos: 0 - Link respuesta
     
  •  
      0  
     
    Fecha: 16-02-2018 04:34:31 Gracias Carlos, pero no me entiendas mal, ni mucho menos digo que dejéis de lado lo que es más importante como la familia y el trabajo, eso a mí ni se me pasaría por la cabeza. Como bien sabes solo son ese par de cosillas las que intento solucionar para poder empezar a funcionar con la aplicación, pero cuando creo que ya está soluciona una de ellas, al probarla me di cuenta de que no era así.

    Y lo que comentas de utilizar otras aplicaciones, creo que ya tengo bastante con poder entender un poco Android Studio como para meterme a diseñar ahora en Visual Studio o Adobe, si pudiese sí que seguiría tus consejos, pero amigo mío no me voy a dedicar a programa, esta aplicación es para uso personal, si es que algún día puedo hacerle funcionar.
      Votos: 0 - Link respuesta
     
  • Fecha: 16-02-2018 07:36:38 ok dame chance de revisar el código a ver que pasa alli   Votos: 0 - Link respuesta
     
  •  
      0  
     
    Fecha: 19-02-2018 09:52:55 Carlos, no te molestes con esto ahora, parece que ya me funciona, aunque lo tengo que probar mas a fondo, solo queria avisar para que no pierdas el tiempo, voy a dar por resuelta la pregunta, si veo que tengo algun problemas que no entiendo y no puedo solucionar, creare otro post por si alguien quiere ayuadar.   Votos: 0 - Link respuesta
     
  • Fecha: 19-02-2018 11:11:50 vale perfecto, me alegra que ya funcione, de todas formas si hiciste alguna modificación o agregaste nuevo código que haya solucionado tu problema, colócalo por aquí para próximas referencias a otros con el mismo problema, ya que esta sería la finalidad del foro. Saludos   Votos: 0 - Link respuesta
     
  •  
      0  
     
    Fecha: 19-02-2018 20:49:22 Si claro era mi intención modificar el código y ponerlo, pero no estoy en casa, cuando pueda lo pongo, sólo lo comenté por lo que he dicho.

    Edite el post de arriba para colocar el codigo, pero lo pongo aqui por si hay confusion.

           webView.loadUrl("file:///android_asset/telefonos.html");
            WebSettings webSettings = webView.getSettings();  //Habilitando JavaScript
            webSettings.setJavaScriptEnabled(true);  
    
    
    
                public boolean shouldOverrideUrlLoading(WebView view, String url){
                    if(url.startsWith("http")){
                        return false;
                    }else if(url.startsWith("tel:") || url.startsWith("mailto:") || url.startsWith("sms:") || url.startsWith("smsto:") || url.startsWith("mms:") || url.startsWith("mmsto:")){
    
                        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
                        startActivity( intent );
                        return true;
                    }
    
                    return false;
                }
    
                @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
                @Override
                public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request){
                    String url = request.getUrl().toString();
                    if(url.startsWith("http")){
                        return false;
                    }else if(url.startsWith("tel:") || url.startsWith("mailto:") || url.startsWith("sms:") || url.startsWith("smsto:") || url.startsWith("mms:") || url.startsWith("mmsto:")){
                        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
                        startActivity( intent );
                        return true;
                    }
    
      Votos: 0 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com