2014-10-16 4 views
0

Я изучаю, написав HTML-версию приложения для родного планшета (Android), которое исследовательский центр использует для проверки времени отклика пользователя. То есть: экран отображается в течение установленного времени, а затем измеряется время, которое требуется пользователю для выбора ответа.Время отклика приложений на планшете: разница в задержке между HTML и родным Android/iOS?

Что было бы полезно знать, так ли это делается через HTML, как с помощью собственного кода - мне нужно точно знать время между представлением экрана пользователю и временем, которое они касаются ответа. Поскольку HTML-рендеринг находится под управлением браузера, есть ли способ узнать - очень точно - когда экран действительно отображается пользователю, и, следовательно, когда должен запускаться таймер? Мое мышление состоит в том, что лучше всего сделать что-то вроде установки состояния div из «скрытого» в «видимое» или использовать анимационную библиотеку, такую ​​как Greensock, но я чувствую, что это может быть «каждая проблема - это гвоздь, когда все вы у меня есть молот »- то есть, это инструменты, которые я знаю, я не знаю, что я должен использовать.

Я пытаюсь понять, возможно ли это - я не разработал планшет на основе собственного кода, сделал довольно много HTML, нужно убедить их переключаться, если я собираюсь сделать работа. Спасибо за любую информацию, которую вы можете предоставить.

ответ

1

Возможно, вы можете использовать javascript & JQuery на своей странице HTML, чтобы записать точное время загрузки?

$(document).ready(function(){ //notice that $(document).ready is JQuery 
    // Your code here 
}); 

Я думаю, вы вызываете собственные методы для Android через JavaScript в вас WebView, но если вы не можете сделать это первым инъекционным свой объект, содержащий методы, которые будут вызываться при загрузке страницы:

WebView webView = (WebView) findViewById(R.id.webview); 
webView.addJavascriptInterface(new WebAppInterface(this), "Android"); 

Тогда код JQuery выше, чтобы уведомить объект Java будет:

$(document).ready(function(){ 
    Android.documentReady(); // method to call in Java Object 
}); 

Примечание: Это экспериментальная, и я не знаю, является ли это хорошая идея загрузите JQuery в свой WebApp, но поскольку JQuery используется везде это не должно быть проблемой. Во всяком случае, $ (document) .ready (function ...) вызывается, когда страница document/html полностью загружена - выполнение аналогичного «слушателя» в стандартном javascript - , а не рекомендуется, но возможно. (Подробнее, если вы хотите, чтобы пропустить JQuery; https://stackoverflow.com/a/7053197/3911640)

Более подробную информацию о позвонить родным для Android объектов с помощью JavaScript: http://developer.android.com/guide/webapps/webview.html

EDIT: Вы также можете сделать это с помощью HTML5:

<body onload="Android.documentReady()"> 

Примечание: Не моя область экспертизы и не проверена, но практически возможна. Я бы посоветовал вам исследовать, какой путь является самым надежным, но в теории оба должны быть вызваны, когда все (включая изображения и т. Д.) Загружается и представляется пользователю.

Документация W3C по функциям HTML5: http://www.w3schools.com/jsref/dom_obj_event.asp

 Смежные вопросы

  • Нет связанных вопросов^_^