Conectar aplicación Xamarin.Android a BD MySQL Online 1a5h59
Gracias al plugin Xamarin.MySQL.Data podemos realizar una conexión a una base de datos MySQL desde nuestra aplicación Xamarin.Android. 43z6h
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 2j3o5p
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 2v1816
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.futbolgratis.org.
3. Comprobar la conexión ala base de datos 63591p
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 101h6f
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 677224
Descarga el código del proyecto 5aw1t
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.