Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Fabio_J_
Beginner
60 Views

App funciona no debug mas não funciona no smartphone

Olá!

Sou novato em desenvolvimento mobile.

Estou escrevendo um app que deverá consumir um webservice em PHP e a partir do Json que este webservice irá retornar, popular um listview. Coisa simples.

O webservice está funcionando e tem o seguinte retorno: [{"id_uf":"1","ds_uf":"Acre"}]

Quando faço a emulação do app pelo XDK funciona tudo direitinho e em diversos aparelhos porém quando tento testar pelo smartphone via USB ou via wifi a lista não é populada e o app mostra a mensagem de erro programada (linha 74).

No debug, o app está livre de erros.

Dei uma pesquisada e encontrei possíveis soluções como colocar ou o domínio ou um asterisco nos campos "Network Request" e no "Navigation" da seção "hybrid mobile app build settings", além de iniciar o JQuery antes de qualquer outro script porém não obtive sucesso.

Será que alguém tem uma luz? O que mais posso fazer?

Segue abaixo o código:

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <link rel="stylesheet" type="text/css" href="jqm/jquery.mobile-min.css">
        <title>Blank App Designer Packaged Web App Project Template</title>
        <meta http-equiv="Content-type" content="text/html; charset=utf-8">

        <!-- <meta name="viewport" content="width=device-width, minimum-scale=1, initial-scale=1"> -->
        <meta name="viewport" content="width=device-width, minimum-scale=1, initial-scale=1, user-scalable=no">
        <!-- <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=yes, minimum-scale=1, maximum-scale=2"> -->

        <style>
                @-ms-viewport { width: 100vw ; min-zoom: 100% ; zoom: 100% ; }          @viewport { width: 100vw ; min-zoom: 100% zoom: 100% ; }
                @-ms-viewport { user-zoom: fixed ; min-zoom: 100% ; }                   @viewport { user-zoom: fixed ; min-zoom: 100% ; }
                /*@-ms-viewport { user-zoom: zoom ; min-zoom: 100% ; max-zoom: 200% ; }   @viewport { user-zoom: zoom ; min-zoom: 100% ; max-zoom: 200% ; }*/
        </style>

        <link rel="stylesheet" href="css/app.css">
        <link rel="stylesheet" type="text/css" href="css/index_main.less.css" class="main-less">

        <!--
          * cordova.js is a phantom lib for "Cordova HTML5 web app," it does nothing in a "Standard HTML5 web app"
          * Seeing a "Failed to load resource: net::ERR_FILE_NOT_FOUND" message ca used by this "cordova.js" script?
          * The cordova.js script is required if you convert your "Standard HTML5" project into a "Cordova" project.
          * You can safely ignore the error or comment out this line if you will not be developing a Cordova app.
          <script src="cordova.js" id="xdkJScordova_"></script>
        -->

        <!-- Recommended location for your JavaScript libraries -->
        <!-- These library references (below) are just examples to give you the general idea... -->
        <!-- <script src="lib/mc/hammer.js"></script> -->
        <!-- <script src="lib/ft/fastclick.js"></script> -->
        
        <script type="application/javascript" src="lib/jquery.min.js"></script>
        <script type="application/javascript" src="jqm/jquery.mobile-min.js" data-ver="0"></script>


        <script src="js/app.js"></script>
        <!-- for your event code, see README and file comments for details -->
        <script src="js/init-app.js"></script>
        <!-- for your init code, see README and file comments for details -->
        <script src="xdk/init-dev.js"></script>
        <!-- normalizes device and document ready events, see file for details -->
        
        <!-- IMPORTANT: Do not include a weinre script tag as part of your release builds! -->
        <!-- Place your remote debugging (weinre) script URL from the Test tab here, if it does not work below -->
        <!-- <script src="http://debug-software.intel.com/target/target-script-min.js#insertabiglongfunkynumberfromthexdkstesttab"></script> -->
        <script src="http://debug-software.intel.com/target/target-script-min.js#EfRwxwimVoYW6a-RqxEMm0Ru0gjBV88ZrQGusNM-1Us"></script>
        
        <script type="application/javascript">
            $.ui.useOSThemes=false;
            $(document).on("click", "#btnuf", function(evt)
            {
                $("#listaufs").empty();
                $("#situacao").html("<center>Buscando UF´s...</center>");
                $.ajax({
                    type: "GET",
                    url: "http://meuservidor/webserviceuf.php?parametros",
                    timeout: 3000,
                    contentType: "application/json; charset=utf-8",
                    //dataType: "jsonp",
                    success: function (result, jqXHR) {
                        var ufs = JSON.parse(result);
                        $.each(ufs,function(i, uf){
                            var item = "<p><b>ID:</b> "+uf.id_uf+"</p><p><b>DS:</b> "+uf.ds_uf+"</p></li>";
                            $("#listaufs").append(item);
                        });
                        $("#situacao").html("<center>Foram encontrado "+ufs.length+" UF´s</center>");
                    },
                    error: function (jqXHR, status) {
                        // Exibir mensagem de erro, caso aconteça...
                        $("#situacao").html("<center>O servidor não conseguiu processar o pedido. Tente novamente mais tarde...</center>");
                    },
                });
            });
        </script>

    </head>

    <body>
        <!-- IMPORTANT: Do not include a weinre script tag as part of your release builds! -->
        <!-- Place your remote debugging (weinre) script URL from the Test tab here, if it does not work above -->
        <!-- <script src="http://debug-software.intel.com/target/target-script-min.js#insertabiglongfunkynumberfromthexdkstesttab"></script> -->
        <script src="http://debug-software.intel.com/target/target-script-min.js#EfRwxwimVoYW6a-RqxEMm0Ru0gjBV88ZrQGusNM-1Us"></script>

        <div class="upage" id="mainpage" data-role="page">
            <div class="upage-outer">
                <div data-role="header" class="container-group inner-element uib_w_1" data-uib="jquery_mobile/header" data-ver="0">
                    <h1>MobUF</h1>
                    <div class="widget-container wrapping-col single-centered"></div>
                    <div class="widget-container content-area horiz-area wrapping-col left"></div>
                    <div class="widget-container content-area horiz-area wrapping-col right"></div>
                </div>
                <div class="upage-content ac0 content-area vertical-col left" id="page_57_62">

                    <div class="tarea widget uib_w_6 d-margins" data-uib="media/text" data-ver="0" name="uib_w_6" id="situacao">
                        <div class="widget-container left-receptacle"></div>
                        <div class="widget-container right-receptacle"></div>
                        <div class="text-container"></div>
                    </div>
                    <div class="widget uib_w_7 ui-content no_wrap outset-margin d-margins" data-uib="jquery_mobile/listview" data-ver="0" id="listaufs">
                        <ul data-role="listview">
                            <li class="widget uib_w_8" data-uib="jquery_mobile/listitem" data-ver="0"><span></span>
                            </li>
                            <li class="widget uib_w_9" data-uib="jquery_mobile/listitem" data-ver="0"><span></span>
                            </li>
                            <li class="widget uib_w_10" data-uib="jquery_mobile/listitem" data-ver="0"><span></span>
                            </li>
                        </ul>
                    </div>
                </div>
                <div data-role="footer" data-position="fixed" class="container-group inner-element uib_w_11" data-uib="jquery_mobile/footer" data-ver="0">
                    <h1></h1>
                    <div class="widget-container wrapping-col single-centered"><a class="widget uib_w_12 d-margins" data-uib="jquery_mobile/button" data-ver="0" data-role="button" id="btnuf" data-icon="refresh" data-mini="true" data-iconpos="notext">Listar UF´s</a>
                    </div>
                    <div class="widget-container content-area horiz-area wrapping-col left"></div>
                    <div class="widget-container content-area horiz-area wrapping-col right"></div>
                </div>
            </div>
        </div>
    </body>

</html>

Agradeço pela ajuda!

Tags (2)
0 Kudos
3 Replies
PaulF_IntelCorp
Employee
60 Views

Try upgrading your jQuery to jQuery 2. See this FAQ > https://software.intel.com/en-us/xdk/faqs/app-designer#ajax-jquery-one-fail

sandoval_d_
Beginner
60 Views

Olá o meu tambem não funciona no aparelho,quanto faço os teste pelo o programa da intel funciona tudo muito bem ,quando instalo no aparelho dá erro,só dá tela branca , não carrega o meu iframe.

Alguem ja sabe como corrigir isso.

OBRIGADO

Hamilton_Tenório_da_
Valued Contributor I
60 Views

Algumas vezes o DEBUG aceita coisas que o aparelho não aceita. Tente inserir esta função no seu JS e veja se aparece alguma mensagem.

window.onerror = function (errorMsg, url, lineNumber, column, errorObj) {

    alert('Error: ' + errorMsg + ' Script: ' + url + ' Line: ' + lineNumber
    + ' Column: ' + column + ' StackTrace: ' +  errorObj);
        $('#entendendo').append('Error: ' + errorMsg + ' Script: ' + url + ' Line: ' + lineNumber + ' Column: ' + column + ' StackTrace: ' +  errorObj);
};

Eu já peguei vários problemas no ambiente do iOS que no Android aceitava normalmente. 

Reply