Conectar aplicación Xamarin.Android a BD MySQL Online 5i376u
Gracias al plugin Xamarin.MySQL.Data podemos realizar una conexión a una base de datos MySQL desde nuestra aplicación Xamarin.Android. 1n1w2p
Importante: Antes de empezar, recordemos que como toda aplicación puede ser decompilada y los hackers puede obtener los datos de tu conexión, toma tus precauciones o utilízala bajo tu propio riesgo.
Este tutorial es una actualización de mi video de YouTube el cual esta algo atrasado, ahora lo haré desde Visual Studio 2019 y en lo único que cambia es en la forma de instalar el plugin, ahora comencemos.
1. Descarga e instala el plugin Xamarin.MySQL.Data 3s444v
Para esto nos dirigimos al de paquetes NuGet, que esta en Herramientas -> de paquetes NuGet y istrar paquetes NuGet para la solución…
En la ventana que se abre, cambiamos a Examinar, ahi buscaremos como tal ‘Xamarin.MySQL.Data’ y lo instalamos en nuestro proyecto (Aceptamos la licencia).
Ahora si verificamos en las dependencias de nuestro proyecto, veremos que ya esta la .dll
2. Realizar la conexión a la base de datos MySQL 6y4o3g
Para este ejemplo voy a crear un método llamado TryConnection que recibe el y la contraseña del de la base de datos que me permita establecer conexión con mi base de datos.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
using System;
using Android.Content;
using Android.Widget;
using MySql.Data.MySqlClient;
namespace MySQL_Xamarin
{
public class Conexion
{
/// <summary>
/// Prueba la conexión a la base de datos utilizando las credenciales correspondientes
/// </summary>
/// <param name="context"></param>
/// <param name=""></param>
/// <param name="Contrasenia"></param>
/// <returns></returns>
public bool TryConnection(Context context, string ,string Contrasenia)
{
MySqlConnectionStringBuilder Builder = new MySqlConnectionStringBuilder();
Builder.Port = 3306;
//Al ser una BD Online debes usar la ip de tu servidor y no localhost
Builder.Server = "tu.servidor.mysql";
Builder.Database = "tu_base_de_datos";
Builder.ID = ; //Es el de la base de datos
Builder. = Contrasenia; //La contraseña del
try
{
MySqlConnection ms = new MySqlConnection(Builder.ToString());
ms.Open(); //Debes agregar la referencia System.Data
return true;
}
catch (Exception ex)
{
Toast.MakeText(context,ex.ToString(), ToastLength.Long).Show(); //Muestra un Toast con el error (Puede ser muy largo)
return false;
}
}
}
}
|
Recordemos que no podemos utilizar ‘localhost’ como servidor a menos que configures tu PC para ser un servidor MySQL, en mi caso utilizare el servidor de scrapywar.serieya.com.
3. Comprobar la conexión ala base de datos 1i183i
Para eso tengo este layout que ite un y una contraseña que son las credenciales para realizar la conexión a la base de datos.
En el MainActivity vamos a asignar los elementos del Layout a objetos del mismo tipo y vamos a darle una acción al botón, el resultado es el siguiente.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
//Declaración de los componentes.
Button access;
EditText , ;
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
Xamarin.Essentials.Platform.Init(this, savedInstanceState);
// Set our view from the "main" layout resource
SetContentView(Resource.Layout.activity_main);
//Se asignan los controles del Layout a una varaible del mismo tipo
access = FindViewById<Button>(Resource.Id.btn_entrar);
= FindViewById<EditText>(Resource.Id.et_);
= FindViewById<EditText>(Resource.Id.et_);
//La accion de presionar el boton
access.Click += delegate {
//Se crea una instancia de la clase Conexion
Conexion con = new Conexion();
//Se prueba la conexion pasando los datos de los EditText que son y contraseña
if (con.TryConnection(this,.Text,.Text)){
Toast.MakeText(this, "Conexion Exitosa!", ToastLength.Long).Show();
}
else{
Toast.MakeText(this, "Error!", ToastLength.Long).Show();
}
};
}
|
4. Implementar en un simulador o dispositivo g2y1x
Si tienen el emulador oficial de Android o algún otro pueden implementar directamente la aplicación, si deseas generar una APK visita mi post: ‘Como generar una apk en Xamarin.Android’
Yo lo implemente en mi dispositivo y como podemos observar al introducir el y la contraseña correctos me aparece un mensaje de ‘conexión exitosa’ de lo contrario dará error.


Descargas 592d4k
Descarga el código del proyecto 1a2f4a
Descargar código fuente
¿tienes problemas? deja tu comentario, tratare de darte una solución a tu problema.
Te recomiendo leer: Respaldar y restaurar bases de datos MySQL en C#
Sígueme en mis redes sociales y activa las notificaciones de esta pagina pronto subiré más cosas de este tipo.