Сучасна диджитал-освіта для дітей — безоплатне заняття в GoITeens ×
Mazda CX 30
×

AngularJS + jQuery + mobile angular ui + phonegap = fail

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

Хочу сделать своё первое мобильное приложение для Андроид. Что я использую: AngularJS, Mobile Angular UI, jQuery и PhoneGap.

Мой код:

<!doctype html>
<html>
<head>
    <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js"></script>
    <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular-route.min.js"></script>
    <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular-touch.min.js"></script>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    <link rel="stylesheet" href="/mobile-angular-ui/dist/css/mobile-angular-ui-base.min.css" />
    <link rel="stylesheet" href="/mobile-angular-ui/dist/css/mobile-angular-ui-desktop.min.css" />
    <link rel="stylesheet" href="/css/demo.css" />
    <script src="/mobile-angular-ui/dist/js/mobile-angular-ui.min.js"></script>
</head>
<body ng-app="MyApp" ng-controller="MainController">

   HERE HTML CODE

<script>

   HERE ALL LOGIC

</script>
</body>
</html>

Во всех браузерах приложение работает отлично и без каких-либо проблем, НО, когда я качаю APK файл и запускаю его на своём Nexus 4, то вижу белый экран :*(

Знающие люди, подскажите пожалуйста, как обнаружить проблему и исправить её?

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Попробуй скачать библиотеки. Как тут:
github.com/...ster/index.html

когда я качаю APK файл
Как вы собираете билд? Ручками или через адобовский сервис?

можете спробувати зловити помилку силами самого js
developer.mozilla.org/...andlers.onerror
також порекомендую для відладки phonegap(mobile web pages) програм використовувати
winre
people.apache.org/...atest/Home.html

Посмотри в LOGCAT — возможно там увидишm сообщение об ошибке. Проверь прописаны ли в манифесте пермишены на интернет. Проверь правильно ли инициализирована WebView (включен ли JavaScript etc..)

Попробуй подходить последовательно — сначала сбилди в приложение простую страницу html+css, потом подключи jquery, потом уже angular. Теструй в бравзере, потом $phonegap build android

Ты не показал свой код, поэтому осмелюсь предположить, что ты делаешь старт своего приложении в не очень подходящий момент. Если я прав, то тебе нужно почитать пол г ивенты. Как минимум про deviceready: cordova.apache.org/...tml#deviceready

Во всех браузерах приложение работает отлично и без каких-либо проблем, НО, когда я качаю APK файл и запускаю его на своём Nexus 4, то вижу белый экран :*(
Для начала, посмотрите во что превращается конструкция:
//ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js
моя версия в
file://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js
Еще можете подключится отладчиком, если андроид 4.4+ или люой иОС.
.
Второй момент, не вижу подключения самой кордовы. Или она подключается где-то в библиотеках. Кордова нужна для события deviceready, если старт вашего приложения (который в «HERE ALL LOGIC») не завернут в него, то могут быть похожие траблы.

Откладчик работает и с 2.3.6 версии, возможно прийдеться устновить драйвер для девайса. Он покажет в консоле IDE если есть ошибки.
Так же можно подключить скрипт debug.phonegap.com , чтоб видеть логи.

ага, проверяйте, в моей приктике были случаи, когда на китайфонах типа Fly были чудесные глюки со стораджем, и конструкции типа file:// ничего не грузили, хотя файлы существовали и на других девайсах все работало.

научись пользоватся нейтивным апи и забуть фонегап как страшный сон.

Реплика однозначно не в тему... Я хочу использовать именно эти технологии.

реплика однозначно в тему. Для каждой технологии есть область применимости, выбор технологии должен быть обоснован чем-то . Нельзя надеятся, что веб технологии будут точно также ефективны для мобильного девелопмента. А «хочу использовать именно эти ...» тут эквивалентно фразе «не хочу учить что-то еще»
и как моб. девеловер, скажу тебе одно — проще сделать 2 приложения под андроида и ябко, чем одно кросплатформеноое (если не расматривать случай примитивных приложений)

реплика однозначно в тему. Для каждой технологии есть область применимости, выбор технологии должен быть обоснован чем-то .
Реплика однозначно не в тему, ибо человек не спрашивал «что ему выбрать». Человек спросил совет по конкретной технической проблеме.

Коментар порушує правила спільноти і видалений модераторами.

Коментар порушує правила спільноти і видалений модераторами.

Коментар порушує правила спільноти і видалений модераторами.

а «Попробуй лучше Ionic» тоже не по теме?

Підписатись на коментарі