Estoy desarrollando una aplicación en la que tengo la opción de búsqueda. En ese cuadro de búsqueda, si escribo 'a', quiero que todos los nombres de todos mis amigos empiecen con a, lo cual obtendré del servidor web. Pero para eso tengo que hacer una solicitud simultáneamente con escribir cada letra. Pero cuando busqué en Google, obtuve reacciones mixtas. Algunas personas dijeron que la llamada Ajax no es posible en Android. Básicamente, Android está basado en Java. Entonces, ¿por qué no es posible realizar llamadas AJAX? ¿Podría alguien guiarme a un buen enlace relacionado con la llamada AJAX en Android si es posible?¿Se puede hacer la llamada ajax en Android?
Respuesta
Sí, es posible, pero con algunas condiciones y restricciones.
Consulte estos recursos para obtener más información:
Can you use AJAX calls with Android?
Android: Implication of using AsyncTask to make repeated Ajax Calls
https://developer.android.com/guide/topics/search/search-dialog.html
http://www.grokkingandroid.com/android-tutorial-adding-search-to-your-apps/
cercano que conozco está utilizando un AutoCompleteTextView. Tendrá que hacer un adaptador personalizado para que realice llamadas al servidor web siempre que un usuario escriba algo y devuelva resultados de filtro basados en eso.
Recupere los nombres del servidor al cargar la pantalla, usando asynctask. Luego puede utilizar AutoCompleteTextView o MultiAutoCompleteTextView para lograr su necesidad.
Especifique los nombres ya recuperados en el adaptador. Ver más en AutoCompleteTextView
Usted puede utilizar droidQuery, que es El puerto Android de jQuery, e incluye la mayoría de las características y la sintaxis de jQuery , incluyendo Ajax. Por ejemplo:
$.ajax(new AjaxOptions().url("http://www.example.com").type("GET").dataType("json").success(new Function() {
@Override
public void invoke($ d, Object... args) {
JSONObject json = (JSONObject) args[0];
//TODO handle json. If expecting a JSONArray, just cast args[0] to JSONArray.
}
}).error(new Function() {
@Override
public void invoke($ d, Object... args) {
AjaxError error = (AjaxError) args[0];
Toast.makeText(MyActivity.this, "Error (" + error.status + "): " + error.reason, Toast.LENGTH_LONG).show();
}
}));
- 1. Android: interceptar llamada AJAX de WebView
- 2. No se puede hacer la búsqueda DNS inversa en Android
- 3. imagen en la que se puede hacer clic - android
- 4. Android: ¿Cómo se puede hacer PreferenceScreen personalizado?
- 5. android - Cómo hacer una llamada desde webview
- 6. ¿Cómo hacer que Behat espere una llamada AJAX?
- 7. Destello - Llamada AJAX
- 8. Detectar llamada ajax, ASP.net
- 9. Datos variables en la llamada ajax JQUERY
- 10. Reescribir la llamada jQuery Ajax en AngularJS
- 11. Ajax llamada de Bookmarklet
- 12. Ajax llamada fracasar en Django
- 13. básico "crudo" Ajax llamada
- 14. POST versus llamada Ajax
- 15. jquery validación con llamada ajax
- 16. Datatable no se actualiza después de la exitosa llamada ajax
- 17. llamada de método Ajax
- 18. Implementación de una llamada ajax en clojurescript
- 19. No se puede hacer PUT/POST/DELETE Llamada HTTP usando CORS en JQuery 1.6.4
- 20. Llamada Asynchronous Ajax en SCORM API
- 21. Llamada Jquery/Ajax con temporizador
- 22. formulario de envío no se detiene en jquery ajax llamada
- 23. Llamada global para llamadas Ajax en JQuery
- 24. JQuery Ajax - Cómo detectar un error de conexión de red al hacer una llamada Ajax
- 25. jQuery - redirigir después de la llamada ajax
- 26. mismo Ajax llamada twice..JQuery
- 27. Llamada AJAX al evento OnChange en MVC
- 28. Creación Gridview que tienen imágenes se puede hacer clic, Android
- 29. window.location change failed Llamada AJAX
- 30. ¿Puedo evitar que window.onforeforeload se llame al hacer una llamada AJAX?
Golpear el servidor con frecuencia cuando el usuario escriba una letra, no es una buena idea. Es lento. Cargando todos los datos initaily y hacer uso de él más tarde en el adaptador es bueno. –
Sí, cierto. Mi sugerencia es buena cuando no es posible cargar todos los datos a la vez, como ha sido el caso para mí. – mattboy
¿Qué pasa si tengo miles de datos, que menciono en una lista de carga? –