El tema de esta entrada ha surgido a partir de la necesidad de obtener esta información de una canción, para un programa que en breve os presentaré en otra entrada del blog.
Esta parte no tiene que ver directamente con el tema de esa entrada, pero sí me ha parecido interesante y tal vez útil para otras personas, así que me he decidido a publicar estas líneas al respecto, ya que en la otra no tiene cabida.
El problema es sencillo; A partir de los datos básicos de un tema musical (título y/o artista) necesito obtener algo de información de esa canción. En mi caso me interesaba el título del álbum y una caratula (aunque se puede obtener más).
Hay varios servicios en Internet que os ofrecen la posibilidad de acceder a esta información.
En esta ocasión me he decantado por iTunes, por la facilidad de uso y porque no hace falta registrarse. Hay algunos otros cuya utilización es gratuita, pero requieren un registro y el uso de una APIKey. En este caso, por simple sencillez, me he decantado por este. Además, ya me ofrece (con creces) los datos que para este ejemplo estaba buscando.
Embarcadero MVP.
Analista y Programador de Sistemas Informáticos.
Estudios de Informática (Ingeniería Técnica Superior) en la UPC (Universidad Politécnica de Barcelona).
Llevo utilizando Delphi desde su versión 3. Especialista en diseño de componentes, Bases de Datos, Frameworks de Persistencia, Integración Continua, Desarrollo móvil,…
Una de las características más atractivas de la nueva versión de RAD Studio, y sobre la que seguro continuaremos hablando, pues están previstas ampliaciones y mejoras para las próximas versiones, es el AppThthering. Antes de continuar con el artículo, os dejo unos links por si queréis revisar documentación sobre esta característica. Si ya lo habéis revisado, pues podéis continuar con la introducción.
Lo primero a revisar es la DocWiki de Embarcadero. Con esta información ya podemos iniciar. No es que sea muy extensa, pero está la suficiente y básica del funcionamiento.
También podéis revisar la entrada anterior que publiqué en el blog, en la que os mostré algunas preguntas y respuestas que aparecieron en la presentación de embarcadero sobre características del nuevo RAD Studio. Hay un bloque dedicado a AppTethtering bastante clarificador.
Añadir un par de videos que se pueden encontrar en el canal de embarcadero:
Si a estas alturas no ha quedado claro (con todo lo anterior) qué es y para qué se usa el Tethering, sólo queda citar el siguiente párrafo (traducido):
Usando Tethering sus aplicaciones pueden fácilmente:
Descubrir otras aplicaciones que estén usando Tethering y ejecutándose en el mismo dispositivo o de otros dispositivos que estén conectados a la red (interna).
Ejecutar acciones de forma remota. Una aplicación puede “publicar” acciones, de forma que las otras aplicaciones puedan invocarlas/llamarlas de forma remota.
Compartir datos entre aplicaciones. El Tethering permite intercambiar tipos de Datos estándar y streams.
El tethering no depende de un protocolo específico de transporte de datos, de forma que se pueden implementar nuevos protocolos utilizando la API de tethering. La RTL proporciona soporte para conexiones ethernet que se ejecutan en la misma red local (LAN), incluso si se están ejecutando en el mismo dispositivo.
Hay que decir que el tethering, aunque puede ser muy útil en determinados escenarios, tiene un funcionamiento bastante básico desde el punto de vista del programador. Toda la gestión la realizamos utilizando 2 componentes (iguales para todas las aplicaciones que lo utilizan).
TTetheringManager
Este componente es el que está más enfocado a las conexiones entre dispositivos.
TTetheringAppProfile
Es el componente que está más enfocado al intercambio de Datos. Es el que se utiliza para “publicar” acciones que posteriormente se van a compartir entre aplicaciones o para enviar y recibir recursos.
Embarcadero MVP.
Analista y Programador de Sistemas Informáticos.
Estudios de Informática (Ingeniería Técnica Superior) en la UPC (Universidad Politécnica de Barcelona).
Llevo utilizando Delphi desde su versión 3. Especialista en diseño de componentes, Bases de Datos, Frameworks de Persistencia, Integración Continua, Desarrollo móvil,…
Ayer se celebró por parte de Embarcadero el seminario online de presentación de esta nueva versión de RAD Studio, con título “RAD Studio XE6 First Look Webminar”. Supongo que en breve estará disponible para descarga.
Un poco tarde para el aviso, pensarán algunos… ;-)
Cierto, aunque la idea de esta entrada no es para avisar del Webminar, sino para exponer algunas de las cosas que allí se trataron.
En breve embarcadero pondrá a disposición de los usuarios la grabación completa del Webminar (si no lo está ya), así como la transcripción de las preguntas y respuestas.
A esto último voy. A veces estamos atentos a la explicación y nos perdemos (no hay otro remedio) las preguntas y respuestas que se van desarrollando durante el transcurso de la sesión.
Personalmente me gusta guardar la transcripción para revisarla con tranquilidad al acabar, porque es una gran fuente de información y aclaran muchas cosas.
Del Webminar de ayer he seleccionado algunas; Las he traducido y organizado en secciones. Espero que ayuden a entender (o a aclarar) el funcionamiento de algunas de las novedades que presenta XE6.
Tened en cuenta que la traducción ha sido rápida así que tan vez haya frases que son «mejorables» sintácticamente. También es posible que algunas preguntas/respuestas sean repetitivas, pero las he querido copiar y traducir tal cual sin eliminar ninguna parte ni de la pregunta ni de la respuesta.
Embarcadero MVP.
Analista y Programador de Sistemas Informáticos.
Estudios de Informática (Ingeniería Técnica Superior) en la UPC (Universidad Politécnica de Barcelona).
Llevo utilizando Delphi desde su versión 3. Especialista en diseño de componentes, Bases de Datos, Frameworks de Persistencia, Integración Continua, Desarrollo móvil,…
Está claro que a estas alturas si alguien no se ha enterado de que el nuevo RAD Studio XE6 ha visto la luz, es que no tiene conexión a Internet y está viviendo en una isla desierta…
A algunos nos ha pillado un poco de sorpresa, ya que todavía estamos asimilando la salida al mercado de la penúltima apuesta de embarcadero en el mundo del desarrollo; Appmethod.
Al fin y al cabo están estrechamente relacionados, y la nueva imagen en Appmethod nos daba pistas en su lanzamiento de lo que íbamos a ver en breve. Igualmente las novedades que disfrutaremos en XE6 (excluyendo las de la VCL) pronto se verán plasmadas en AppMethod.
Ambos productos evolucionan a la par, puesto que uno no es más que un subconjunto del otro.
Embarcadero MVP.
Analista y Programador de Sistemas Informáticos.
Estudios de Informática (Ingeniería Técnica Superior) en la UPC (Universidad Politécnica de Barcelona).
Llevo utilizando Delphi desde su versión 3. Especialista en diseño de componentes, Bases de Datos, Frameworks de Persistencia, Integración Continua, Desarrollo móvil,…
Aquí comenzamos la que será la última entrada de esta serie, completando el "ciclo de vida" de este desarrollo, con la publicación de la aplicación en la “tienda” de Google (Google Play). Tal vez para el ejemplo que estamos tratando no sea el “final lógico”, pues recordemos que trabajamos sobre el supuesto de que la aplicación es para una empresa. En ese caso la distribución podría ser de forma “interna” y no tendría sentido publicarla para todos los usuarios de Google Play. Pero me váis a permitir que en este caso me tome esta “licencia” y aprovecharé así esta aplicación para documentar este último paso.
Recordemos lo que hemos visto hasta ahora, y aprovecho para actualizar los links en el resto de las entradas.
Hay una serie de pasos que necesitaremos completar, antes de poder publicar nuestra aplicación. En las pruebas normales del día a día tal vez no sean todos necesarios, pero una vez que vamos a publicar la aplicación deberíamos completarlos.
Embarcadero MVP.
Analista y Programador de Sistemas Informáticos.
Estudios de Informática (Ingeniería Técnica Superior) en la UPC (Universidad Politécnica de Barcelona).
Llevo utilizando Delphi desde su versión 3. Especialista en diseño de componentes, Bases de Datos, Frameworks de Persistencia, Integración Continua, Desarrollo móvil,…
Continuando con la «hoja de ruta» y después de que en la última entrada de esta serie creáramos un cliente de «escritorio» para acceder a la Base de Datos a través de un webservice; En esta entrada vamos a generar una aplicación móvil para acceder a los datos, tal y como estaba definido en las premisas iniciales.
Para ello voy a utilizar Delphi XE5. Basándonos en uno de los ejemplos anteriores, ya casi tenemos todo el trabajo hecho, ya que la base del código y los componentes utilizados van a ser los mismos. Por lo tanto, lo único que voy a tener que definir es la nueva interficie para la plataforma móvil.
Iniciaremos el proyecto utilizando la opción desde el IDE para un nuevo proyecto móvil.
Embarcadero MVP.
Analista y Programador de Sistemas Informáticos.
Estudios de Informática (Ingeniería Técnica Superior) en la UPC (Universidad Politécnica de Barcelona).
Llevo utilizando Delphi desde su versión 3. Especialista en diseño de componentes, Bases de Datos, Frameworks de Persistencia, Integración Continua, Desarrollo móvil,…
Siguiendo con nuestra “hoja de ruta”, vamos a desarrollar varios clientes de escritorio en Windows, utilizando diferentes alternativas y posibilidades de las que disponemos.
Embarcadero MVP.
Analista y Programador de Sistemas Informáticos.
Estudios de Informática (Ingeniería Técnica Superior) en la UPC (Universidad Politécnica de Barcelona).
Llevo utilizando Delphi desde su versión 3. Especialista en diseño de componentes, Bases de Datos, Frameworks de Persistencia, Integración Continua, Desarrollo móvil,…
Antes de comenzar a generar código, necesitamos generar la Base de Datos, de esta forma podremos ir realizando pruebas sobre ella.
Para la creación de la tabla de «usuario» podéis utilizar la siguiente sentencia:
Embarcadero MVP.
Analista y Programador de Sistemas Informáticos.
Estudios de Informática (Ingeniería Técnica Superior) en la UPC (Universidad Politécnica de Barcelona).
Llevo utilizando Delphi desde su versión 3. Especialista en diseño de componentes, Bases de Datos, Frameworks de Persistencia, Integración Continua, Desarrollo móvil,…
Esta entrada y las siguientes, como otras del blog, viene «provocada» por una inquietud o un problema con el que me he encontrado. A raíz de eso y de la necesidad de solventarlo ha surgido esta solución; Seguramente no es la única, y me gustaría que me propusierais otras diferentes (sobre el mismo escenario) si las tenéis. Espero esta que os propongo sea útil a otros programadores en situaciones similares.
Mi intención es dividir todo el proceso (por lo extenso) en varias entradas sucesivas. Os adjunto el «Roadmap» (que suena como muy serio ;-D ) del proceso completo y a medida que vaya completando los pasos, iré actualizando los links en todas ellas.
Embarcadero MVP.
Analista y Programador de Sistemas Informáticos.
Estudios de Informática (Ingeniería Técnica Superior) en la UPC (Universidad Politécnica de Barcelona).
Llevo utilizando Delphi desde su versión 3. Especialista en diseño de componentes, Bases de Datos, Frameworks de Persistencia, Integración Continua, Desarrollo móvil,…
Ya he hablado anteriormente de varios sistemas y paquetes de componentes para internacionalizar aplicaciones en el blog. Por ejemplo, aquí y aquí. A raiz de un comentario de otro usuario, esta vez, por necesidad en este proyecto (IBCC) he decidido probar los componentes DKLang.
A primera vista me han sorprendido, pues cuenta con versión para XE5 incluyendo aplicaciones móviles (Android/iPhone) así como para VCL y FMX. Más adelante hablaré de la versión para XE5 (versión 5), aunque en esta entrada y para este proyecto he usado la versión 3, que es la que soporta Delphi 6.
Para la compilación del componente, al menos en esta versión (Delphi 6), hacen falta los componentes TNT para unicode. Gratuítos y con código fuente que podéis bajar desde esta misma web o desde internet sin problemas.
La compilación e instalación de los packages se hace sin problemas. Basta con añadir un par de directorios al path para que encuentre los ficheros necesarios. Una vez instalado el package de diseño, ya me aparece el componente DKLanguageController en la pestaña de System.
He echado en falta algún manual sencillo para poder seguir a la hora de empezar con un proyecto nuevo. En la web y en la ayuda no hay nada que de una guía rápida de funcionamiento. Aun así, no lleva más de 10 minutos ver cómo se maneja el componente.
Todos los ejemplos que se incluyen están realizados utilizando los componentes TNT, aunque es fácil sustituirlos en el DFM por componentes estándar y el funcionamiento es correcto.
Embarcadero MVP.
Analista y Programador de Sistemas Informáticos.
Estudios de Informática (Ingeniería Técnica Superior) en la UPC (Universidad Politécnica de Barcelona).
Llevo utilizando Delphi desde su versión 3. Especialista en diseño de componentes, Bases de Datos, Frameworks de Persistencia, Integración Continua, Desarrollo móvil,…