Demostración Xamarin de principio a fin

improve this page | report issue

Información general

El propósito de esta demostración es presentar un flujo de principio a fin:

  1. Se registra con MobileFirst Operations Console una aplicación de ejemplo que se empaqueta con el SDK de cliente Xamarin de MobileFirst.
  2. Se desplegará un adaptador nuevo o uno que se proporcione en MobileFirst Operations Console.
  3. Se cambiará la lógica de la aplicación para realizar una solicitud de recurso.

Resultado final:

  • Ping satisfactorio a MobileFirst Server.

Requisitos previos:

  • Xamarin Studio
  • Opcional. MobileFirst Server autónomo (descargar)

1. Cómo iniciar MobileFirst Server

Asegúrese de haber creado una instancia de Mobile Foundation, o bien
Si está utilizando MobileFirst Developer Kit, vaya hasta la carpeta del servidor y ejecute el mandato ./run.sh en Mac y Linux o run.cmd en Windows.

2. Creación de una aplicación

En una ventana de navegador, abra MobileFirst Operations Console cargando el URL: http://su-host-servidor:su-puerto-servidor/mfpconsole. Si lo está ejecutando de forma local, utilice http://localhost:9080/mfpconsole. El nombre de usuario y la contraseña son admin/admin.

  1. Pulse el botón Nuevo junto a Aplicaciones
    • Seleccione la plataforma Android
    • Especifique com.ibm.mfpstarterxamarin como el identificador de aplicación (dependiendo del armazón de la aplicación lo descargará en el siguiente paso)
    • Especifique 1.0 como valore de versión
    • Pulse Registrar aplicación

    Registrar una aplicación

3. Edición de la lógica de la aplicación

  • Cree un proyecto Xamarin.
  • Añada el SDK de Xamarin tal como se menciona en la guía de aprendizaje Adición del SDK.
  • Añada una propiedad del tipo IWorklightClient en cualquier archivo de clase tal como se indica a continuación.

     /// <summary>
     /// Gets or sets the worklight sample client.
     /// </summary>
     /// <value>The worklight client.</value>
     public static IWorklightClient WorklightClient {get; set;}
    
  • Si está desarrollando para iOS, pegue el siguiente código dentro del método FinishedLaunching del archivo AppDelegate.cs:

     <ClassName>.WorklightClient = WorklightClient.CreateInstance();
    

    Sustituya <ClassName> por el nombre de su clase.

  • Si está desarrollando para Android, incluya la siguiente línea de código dentro del método OnCreate del archivo MainActivity.cs:

     <ClassName>.WorklightClient = WorklightClient.CreateInstance(this);
    

    Sustituya <ClassName> por el nombre de su clase.

  • Defina un método para obtener la señal de acceso y realizar una solicitud de recurso al servidor MFP tal como se indica a continuación.

      public async void ObtainToken()
             {
              try
                     {
    
                         IWorklightClient _newClient = App.WorklightClient;
                         WorklightAccessToken accessToken = await _newClient.AuthorizationManager.ObtainAccessToken("");
    
                         if (accessToken.Value != null && accessToken.Value != "")
                         {
                             System.Diagnostics.Debug.WriteLine("Received the following access token value: " + accessToken.Value);
                             StringBuilder uriBuilder = new StringBuilder().Append("/adapters/javaAdapter/resource/greet");
    
                             WorklightResourceRequest request = _newClient.ResourceRequest(new Uri(uriBuilder.ToString(), UriKind.Relative), "GET");
                             request.SetQueryParameter("name", "world");
                             WorklightResponse response = await request.Send();
    
                             System.Diagnostics.Debug.WriteLine("Success: " + response.ResponseText);
                         }
                     }
                     catch (Exception e)
                     {
                         System.Diagnostics.Debug.WriteLine("An error occurred: '{0}'", e);
                     }
                 }
             }
      }
    
  • Invocar al método ObtainToken con un constructor de clase o al pulsar un botón.

4. Despliegue un adaptador

Descargue this prepared .adapter artifact y despliéguelo desde MobileFirst Operations Console con la acción Acciones → Desplegar adaptador.

Como alternativa, pulse el botón Nuevo junto a Adaptadores.

  1. Seleccione la opción Acciones → Descargar ejemplo. Descargue el ejemplo de adaptador Java de ejemplo “Hello World”.

    Si Maven y MobileFirst CLI no están instalados, siga las instrucciones de Definir su entorno de desarrollo en la pantalla.

  2. Desde una ventana de línea de mandatos, vaya a la carpeta raíz del proyecto Maven del adaptador y ejecute el mandato:

    mfpdev adapter build
    
  3. Cuando finalice la construcción, despliéguelo desde MobileFirst Operations Console con la acción Acciones → Desplegar adaptador. El adaptador se puede encontrar en la carpeta [adapter]/target.

    Desplegar un adaptador

5. Prueba de la aplicación

  1. En Xamarin Studio, seleccione el archivo mfpclient.properties y edite las propiedades protocol, host y port con los valores correctos para su instancia de MobileFirst Server.
    • Si está utilizando una instancia de MobileFirst Server local, los valores habitualmente son http, localhost y 9080.
    • Si está utilizando una instancia remota de MobileFirst Server (en IBM Cloud), los valores habitualmente son https, dirección-su-servidor y 443.
    • Si está utilizando un clúster Kubernetes en IBM Cloud Private y si el despliegue es de tipo NodePort, el valor del puerto será en general NodePort expuesto por el servicio en el clúster Kubernetes.
  2. Pulse el botón Reproducir.


Resultados

  • Pulse el botón Hacer ping a MobileFirst Server para visualizar Conectado a MobileFirst Server.
  • Si la aplicación se pudo conectar a MobileFirst Server, tendrá lugar una llamada de solicitud de recurso con el adaptador Java desplegado.

La respuesta del adaptador se imprime entonces en la consola de Xamarin Studio.

Imagen de una aplicación que ha llamado de forma satisfactoria a un recurso desde MobileFirst Server

Siguientes pasos

Aprenda más sobre cómo utilizar adaptadores en aplicaciones, y cómo integrar servicios adicionales como, por ejemplo, notificaciones push, utilizando la infraestructura de seguridad de MobileFirst entre otras cosas:

Inclusive terminology note: The Mobile First Platform team is making changes to support the IBM® initiative to replace racially biased and other discriminatory language in our code and content with more inclusive language. While IBM values the use of inclusive language, terms that are outside of IBM's direct influence are sometimes required for the sake of maintaining user understanding. As other industry leaders join IBM in embracing the use of inclusive language, IBM will continue to update the documentation to reflect those changes.
Last modified on July 11, 2019