¡Hola, Khabrovites!
Cuando desarrolla aplicaciones de red para la plataforma Android, comprende que una y otra aplicación son similares entre sí. Con este pensamiento, la mayoría de los desarrolladores inicializan otra idea: "¿Por qué no uso ninguna solución preparada, porque obviamente mi tarea no es nueva?". A partir de este momento, comienza la búsqueda de bibliotecas adecuadas para resolver el problema actual. Después de un tiempo, ganancias. Todo parecía estar bien, porque se encontró la biblioteca y solo quedó para escribir una implementación de la solución al problema actual. Y aquí comienzan los problemas. Están asociados con el control de flujo, y de hecho Java nunca ha sido famoso por su tamaño compacto, toda la "magia" debe ser implementada directamente por el desarrollador. A veces encuentro solo aspectos positivos en esto, porque la lógica de cada proyecto difiere radicalmente entre sí. Constantemente tiene que cambiar de una transmisión a otra, lo que no es muy conveniente y, como se describió anteriormente, es engorroso. La solución a este problema se implementó antes, pero no tan compacta como nos gustaría. Una biblioteca para trabajar con HTTP viene al rescate:
GridmiAPI . Esta es la solución más compacta, que a su vez le permite operar con datos en tiempo real.
Proceso de trabajo
Todo el trabajo de la biblioteca comienza con su inicialización. La inicialización se requiere una vez. La inicialización se refiere a la siguiente construcción:
GridmiAPI.init("https://habr.com/API/", 8000, JSONObject.class);
- Dirección de punto final de procesamiento de solicitudes
- Tiempo de espera de respuesta del servidor
- La clase a la que se debe enviar la respuesta del servidor
Eso es todo! La biblioteca está lista para su uso completo.
Primera solicitud del servidor
Para completar la primera solicitud al servidor, debe escribir solo unas pocas líneas de código y los datos que necesitamos de nosotros. No lo creo? Ver:
GridmiAPI.onRequest(this, new GridmiAPI.Request("profile/get"), new GridmiAPI.Handler.OUT() { @Override protected void onSuccess(GridmiAPI.Response response) { Log.d("TagGridmiAPI", "result = " + ((JSONObject) response.getData()).toString()); } @Override protected void onFailed(Exception exception) { Log.d("TagGridmiAPI", "exception = " + exception.getMessage()); } }).start();
Felicidades Este es tu "¡Hola mundo!" usando esta biblioteca Veamos dos métodos reescritos de la clase GridmiAPI.Handler.OUT. Para empezar, debe escribirse que estos dos métodos se invocan en el hilo principal, por lo que al completar la solicitud, no tiene sentido acceder a la actividad para iniciar el hilo principal. Simplemente tome JSON por ejemplo y cambie el texto de TextView. Todo es simple
Enviar archivo al servidor
Muy a menudo tienes que enviar archivos al servidor. Dolor de cabeza de nuevo? De ninguna manera La biblioteca GridmiAPI hace que enviar un archivo sea muy fácil sin dolor de cabeza. Un poco más de líneas que en el ejemplo anterior, pero aún compacto. Aquí se explica cómo enviar un archivo:
@Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); if (data == null || data.getData() == null) return; try {
Conclusión
Examinamos las tareas más populares, con más detalle puede familiarizarse en la página de esta biblioteca en GitHub -
GridmiAPI . Es cómodo trabajar con esta biblioteca. Estimate a ti mismo. ¡Gracias por tu interés en este artículo!
Referencias
Biblioteca GridmiAPIDocumentación / ReadMe.md