¿Cómo implementar carga más función en android usando phonegap?
Tengo una aplicación en la que estoy mostrando elementos procedentes del servicio. Aquí tengo alrededor 200 artículos para exhibir cuál es algo qué difícil de ver.
Aquí quiero mostrar la carga más funcionalidad mostrando primero 20 y en el tecleo de la carga más que demostrará el próximo 20 y así sucesivamente. No soy capaz de encontrar una manera de cómo implementar esto si alguien tiene idea por favor me ayude.
- Selector de fecha y hora que no se muestra en la aplicación Android 4.1.2
- El tacto de la firma de la lona crea la edición en teléfono
- El enfoque no funciona en android
- ¿Necesito agregar app.initialize () en todos mis archivos html en un proyecto cordova / phonegap
- Anular "Error al cargar página" por fallo de red en el archivo js
- Desarrollo de aplicaciones para Android: java vs. jquery mobile
- Phonegap, jQueryMobile y servicio web
- Jqm botón de navegación pulsado al presionar el teclado virtual de Android Tecla 'Siguiente' si el campo de formulario está debajo de la barra de navegación
- Los iconos de jQuery Mobile son blancos en lugar de negro en Android
- Problema - blockWebkitDraw lockedfalse
- JQuery móvil + phonegap + android 4.0.4 encabezado parpadeo
- Cómo almacenar datos en la base de datos sqlite con jQuery-mobile dreamviewer cc con phonegap en android?
- jquery mobile events en android contra iphone
Cargar 200 elementos y almacenarlos no es un buen enfoque con phonegap / cordova. Estamos hablando de ya lento HTML5 + JS envoltorio, esto lo hará aún más lento.
Un mejor enfoque sería utilizar un ajax para cargar más datos, la llamada ajax se activará cuando llegue a un extremo de listview o cuando se haga clic en un botón "cargar nuevo contenido".
Aquí encontrará un enfoque con el botón "cargar contenido nuevo":
Aquí encontrarás una aproximación con el auto listview de carga cuando se alcance el fin de listview:
http://jsfiddle.net/dhavaln/nVLZA/
Este ejemplo requiere este complemento jQuery: http://imakewebthings.com/jquery-waypoints/
Y aquí está mi ejemplo con auto loading listview y $ .ajax en commbination:
http://jsfiddle.net/Gajotres/v4NxB/
Ejemplo de código, y repito esto es sólo un ejemplo ficticio (aún en funcionamiento ejemplo ficticio):
// load test data initially for (i=0; i < 10; i++) { $("#list").append($("<li><a href=\"index.html\"><h3>" + i + "</h3><p>z</p></a></li>")); } $("#list").listview('refresh'); // load new data when reached at bottom $('#footer').waypoint(function(a, b) { // Load some dynamic data with $.ajax $.ajax({url: "http://api.themoviedb.org/2.1/Movie.search/en/json/23afca60ebf72f8d88cdcae2c4f31866/The Goonies", dataType: "jsonp", jsonpCallback: 'successCallback', async: true, beforeSend: function() { $.mobile.showPageLoadingMsg(true); }, complete: function() { $.mobile.hidePageLoadingMsg(); }, success: function (result) { ajax.parseJSONP(result); }, error: function (request,error) { //alert('Network error has occurred please try again!'); } }); $('#footer').waypoint({ offset: '100%' }); }, { offset: '100%' }); var ajax = { parseJSONP:function(result){ //var jsonObj = jQuery.parseJSON(parameters); $("#list").append('<li>Movie name:<span> ' + result[0].original_name+ '</span></li>'); $("#list").append('<li>Popularity:<span> ' + result[0].popularity + '</span></li>'); $("#list").append('<li>Rating:<span> ' + result[0].rating+ '</span></li>'); $("#list").append('<li>Overview:<span> ' + result[0].overview+ '</span></li>'); $("#list").append('<li>Released:<span> ' + result[0].released+ '</span></li>'); $("#list").listview('refresh'); } }
También es necesario evitar otra llamada $ .axax antes de que se acabe la última.
Aunque no estoy muy familiarizado con Phonegap junto con las preferencias compartidas, pero un poquito de los esfuerzos de investigación me dejó saber que no hay manera directa de usar las preferencias compartidas en phonegap (en la medida de lo que podría buscar).
- Si todavía desea utilizar las preferencias Compartidas en Phonegap, debe agregar un complemento para ello.
- La otra manera que podría encontrar es utilizar el almacenamiento local usando HTML5 y JSON .
- La otra manera es implementar una base de datos utilizando Lawnchair. Usted encontrará una buena solución aquí y aquí
- Y uno de la forma más eficiente que he encontrado hasta ahora es Webkit lado del cliente Databse de almacenamiento . De alguna manera sería un buen partido para su problema.