Demostración de principio a fin en Xamarin

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
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> con 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> con 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);
                     }
                 }
             }
      }
    
  • Invoque al método ObtainToken con un constructor de clase o en on click de 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.plist 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 Bluemix), los valores habitualmente son https, dirección-su-servidor y 443.
  2. Pulse el botón Reproducir.


Resultados

  • Al pulsar el botón Ping MobileFirst Server se visualizará Connected to 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 llamó 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:

Last modified on April 25, 2017