Etiqueta: dotnet

  • gsNotasNET.Android v2.0.0.33

    Nota:
    Esta es la versión 2.0.0.33 publicada el 31 de diciembre de 2021.
    A fecha de hoy 27 de mayo de 2021 está la versión 2.1.0.4 que estará en el mismo post en el que estaba la anterior (por el tema de los enlaces) pero el contenido es diferente, ya que ahí te cuento las novedades añadidas recientemente (y será la que mantenga la última versión hasta que decida cambiar… 🙂 )

    gsNotasNET multiplataforma

    Aunque el nombre sea gsNotasNET.Android es una aplicación para dispositivos móviles (móviles y tabletas) pensada (inicialmente) para usar con Android, pero que después le he añadido proyectos para iOS (iPhone y iPad de Apple) y UWP (Universal Windows Plataform, en teoría para móviles, tabletas y Start de Windows 10). Pero que a día de hoy (31-dic-2020) no he sido capaz de hacerlos funcionar en esos dos últimos, la aplicación, que accede a una base de datos externa de SQL Server, además de una local creada con SQL Lite, por ahora solo funciona correctamente en dispositivos Android. Actualmente está publicada la versión 2.0.0.33, el paquete para Android lo puedes descargar desde esta release: gsNotasNET.Android v2.0.0.33

    En distintas entradas de este blog he ido publicando lo que cada una de las releases (versiones) hace.

    A continuación te pondré unos enlaces a esas distintas versiones para que vayas viéndolas. Empezaré por la más reciente.

    1. Quien dice 32, dice 33: gsNotasNET.Android v2.0.0.33.

    2. gsNotasNET.Android release v2.0.0.32.

    3. Ya está lista la app gsNotasNET.Android v2.0.0.*. gsNotasNET.Android v2.0.0.28.

    4. gsNotasNET para Android con Xamarin.Forms. Con comentarios y demás para la versión v1.0.0.18 (video explicativo) y v1.0.0.17 (capturas).

    5. Todas estas versiones están basadas en un intento de hacer una aplicación similar a gsNotasNETF.

    Sobre el uso de la aplicación para dispositivos móviles en iOS y UWP

    Como digo en el proyecto de gsNotasNET.Android publicado en GitHub, por ahora la aplicación que usa la base de datos de SQL Server alojada en un servidor en la nube solo funciona (y está operativa al 100%) en dispostiivos Android, los proyectos para iOS (iPhone, iPad) y para UWP (Windows 10) no funcionan, el de iOS no he sido capaz de hacerlo funcionar ni siquiera usando Visual Studio 2019 para Mac, y el de Windows 10 (UWP) no lo he podido poner en funcionamiento de forma local en Windows 10 (al intentar probarlo en los emuladores, se quedaba colgado intentando lanzar el dispositivo emulado).

    Así que, seguramente crearé un proyecto multiplataforma pero que solamente use las notas en la base local, a ver si es por el acceso a SQL Server por lo que no funciona.

    De todo esto te iré informando.

    ¡Feliz Año 2021!

    Un par de capturas de la versión v2.0.0.33

    La pantalla principal de la versión v2.0.0.33: alt text

    La pantalla Acerca de v2.0.0.33: alt text

    Nos vemos.
    Guillermo

  • Adiós Xamarin.Forms, bienvenido .NET MAUI

    Pues eso… en el anuncio de Visual Studio 2022 (disponible en versiones preview a partir de este verano) se avisa de que .NET MAUI será la forma de crear aplicaciones para móviles y Web multiplataforma.

    Si quieres puedes ver el código (e incluso instalarlo) de .NET MAUI usando el enlace que te he puesto antes, que te llevará al proyecto en GitHub.

    Por ahora no lo he probado… pero lo probaré y seguramente te comentaré cosas sobre este nuevo entorno de desarrollo (en realidad no es un entorno, pero para que nos entendamos, ya que se utiliza desde Visual Studio).

    Nos vemos.
    Guillermo

  • Detectar por código C# o Visual Basic si una página ASP.NET se muestra en un móvil

    Pues eso… aunque he leído por ahí que no es conveniente detectar si se está navegando en un dispositivo móvil… eso era porque lo hacía con código duro (hard-code) es decir, detectar según el valor devuelto por userAgent de window.navigator, que sí, que puede producir resultados no deseados… pero… si usas Request.Browser.IsMobileDevice la cosa cambia.

    Y hacer esa comprobación es bien simple.
    ¿Dónde hacerla?
    En cualquier parte del código «script» de tu página ASP.NET (de .NET Framework), ya sea que estés usando Visual Basic o C# (o incluso otros lenguajes que soporten las páginas web asp.net de .net framework).

    Un par de ejemplos, por favor

    Esta es una página .aspx con código para C#:

    <%@ Page Language="C#" AutoEventWireup="true" %>
    
    <script runat="server">
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Request.Browser.IsMobileDevice)
            {
                LabelDesktop.Visible = false;
                LabelMobile.Visible = true;
            }
            else
            {
                LabelDesktop.Visible = true;
                LabelMobile.Visible = false;
            }
        }
    </script>
    
    <!DOCTYPE html>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
    </head>
    <body style="font-family:Consolas">
        <form id="form1" runat="server">
            <div>
                <asp:Label runat="server" ID="LabelMobile"  Visible="false"
                    Font-Size="xx-Large" Font-Bold="true"
                    Text="Estas viendo esto en el navegador de un dispositivo móvil." />
                <asp:Label runat="server" ID="LabelDesktop"  Visible="false"
                    Font-Size="xx-Large" Font-Bold="true"
                    Text="Estas viendo esto en el navegador de escritorio." />
            </div>
        </form>
    </body>
    </html>
    

    Esta es una página .aspx con código para Visual Basic:

    <%@ Page Language="VB" AutoEventWireup="true"  %>
    
    <script runat="server">
        Protected Sub Page_Load(sender As Object, e As EventArgs)
            If Request.Browser.IsMobileDevice Then
                LabelDesktop.Visible = False
                LabelMobile.Visible = True
            Else
                LabelDesktop.Visible = True
                LabelMobile.Visible = False
            End If
        End Sub
    </script>
    
    <!DOCTYPE html>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
    </head>
    <body style="font-family:Consolas">
        <form id="form1" runat="server">
            <div>
                <asp:Label runat="server" ID="LabelMobile"  Visible="false"
                    Font-Size="xx-Large" Font-Bold="true"
                    Text="Estas viendo esto en el navegador de un dispositivo móvil." />
                <asp:Label runat="server" ID="LabelDesktop"  Visible="false"
                    Font-Size="xx-Large" Font-Bold="true"
                    Text="Estas viendo esto en el navegador de escritorio." />
            </div>
        </form>
    </body>
    </html>
    

    Nota:
    Puedes tener las dos páginas en una misma aplicación o proyecto WEB de Visual Studio sin necesidad de hacer nada especial, solo tener las páginas en un sitio que acepte .NET Framework.

    A tener en cuenta

    Si muestras la páginas en un dispositivo móvil, es posible que el navegador te permita ver la página como «escritorio», en ese caso, el valor que devuelve es escritorio, no que es móvil.
    En las siguientes capturas tienes la demostración.
    En esas capturas estoy usando el Edge para Android en un Google Pixel 4a.

    En la figura 1 estoy mostrando la página versión de Visual Basic en el móvil, que si quieres la puedes probar usando el enlace mostrado (está alojada en mi sitio: elguille.info/WebFormVB.aspx).

    Figura 1.

     

    En la figura 2 te muestro la versión para C# antes de cambiarla a modo escritorio.
    También puedes probarla usando este enlace en mi sitio: elguille.info/WebFormCS.aspx.

    Figura 2. Mostrando la página como móvil y queriendo cambiar a versión para ordenador

     

    Figura 3. Mostrando la página como si estuviese en escritorio y queriendo cambiar a versión apra sitio móvil.

     

    Nota:
    También puedes probarlo en el navegador de escritorio usando las herramientas de desarrollador, que en Edge y Chrome se pueden acceder usando Ctrl+Shift+I.
    Y desde esas herramientas puedes indicar que se muestre como si fuese en un móvil (ver la figura 4).

    Figura 4. Usando las herramientas de desarrollador puedes ver en el escritorio cómo sería usarlo en un móvil… o casi.

    Espero que te sea de utilidad 😉

    Nos vemos.
    Guillermo