307 messaggi dal 13 luglio 2005
Salve a tutti,
come primo tentativo di sviluppare un'app con Xamarin Forms, ho provato la strada piu' semplice di prendere alcune pagine (sviluppate in asp.net C# con delle web form) e aprirle dal cellulare con app che si limita ad aprire un webbrowser con un url predefinito.

Il risultato e' abbastanza soddisfacente, ma, l'appetito vien mangiando, e' sorta l'esigenza di sfruttare le funzionalita' degli smartphone, tipo: fotocamera, localizzatore GPS, ecc... Quindi come fare a chiamare, da un bottone di una pagina web in asp.net, la fotocamera e scannerizzare un codice a barre da inserire in una textbox nel form? Oppure, ancora da un bottone di una pagina in asp.net, chiedere al GPS la nostra posizione e scrivere le coordinate in una textbox di un form?

In poche parole occorrerebbe passare i dati dalle pagine in asp.net all'app Xamarin e viceversa.

Mi sorge il dubbio se, a questo punto, sia piu' semplice continuare ad usare la web app o sviluppare un'app da capo, totalmente in Xamarin...

Ogni consiglio e' ben accetto.

Grazie a tutti.

Umb
181 messaggi dal 10 agosto 2019
non prenderlo per oro colato ma io rifarei tutto in xamarin,ciao
307 messaggi dal 13 luglio 2005
Ciao surfernet123,
ti ringrazio per la risposta. Il problema di rifare tutto in Xamarin, oltre la mia poca esperienza in merito, e' quello di dover ricostruire punto per punto una pagina web abbastanza complessa, fatta di: menu laterale, form di ricerca, gridview, css, ecc ...

comunque, piano piano cercherò di farlo ...

Ciao

Umb
427 messaggi dal 13 novembre 2009
Ciao
Mi domanderei innanzitutto cosa vorresti fare tu esattamente. Una app mobile o una web app?
Sfruttando html5 è possibile utilizzare navigator per la camera e quindi il barcode è il gps.
Ma se la tua intenzione è quella di sfruttare hardware del dispositivo 100% allora xamarin o cordova o linguaggio nativo per Android o iOS.
Tieni presente che html5 non è 100% mobile hardware
11.886 messaggi dal 09 febbraio 2002
Contributi

non prenderlo per oro colato ma io rifarei tutto in xamarin,ciao

Occhio perché se dai questo consiglio alla leggera potresti mettere Superpippo su una strada che costerà alla sua azienda sangue e sudore. Stanziare tempo e budget per rifare da capo un'intera applicazione - non sappiamo quanto complessa - è roba che può tranquillamente far fallire un'impresa, soprattutto se i suoi impiegati non hanno competenze idonee al raggiungimento dell'obiettivo.

Prima che Superpippo chiarisca queste cose, un consiglio più cauto, secondo me, consiste nell'aggiungere semplicemente queste funzionalità sfruttando le API di HTML5, come diceva anche flaviovb.


sfruttare le funzionalita' degli smartphone, tipo: fotocamera

Ecco come farlo con navigator.geolocation.getCurrentPosition().
https://developer.mozilla.org/en-US/docs/Web/API/Geolocation/getCurrentPosition


scannerizzare un codice a barre

Ecco una libreria javascript
https://serratus.github.io/quaggaJS/

ciao,
Moreno

Enjoy learning and just keep making
307 messaggi dal 13 luglio 2005
Ciao flaviovb e Moreno,
io per il momento, come dicevo all'inizio, preferirei realizzare una web app (in realta' e' gia' fatta...). L'idea di sfruttare l'HTML5 per aggiungere quelle piccole utility ad un sito gia' funzionante e' un'ottima idea e vi ringrazio per le dritte che mi avete dato.
Sicuramente, per me, e' una strada piu' praticabile.

Se dovessi avere qualche difficolta' ... sarete i primi a saperlo ... ;-)

Umb
307 messaggi dal 13 luglio 2005
Ciao Moreno,
rieccomi (com'era prevedibile ...).

Ho provato ad usare la libreria javascript "quagga" e, con qualche difficolta', sembra funzionare! La pagina web (visitandola col PC o con il browser nativo dello smartphone) mi chiede se acconsento all'uso della videocamera, individua il codice a barre e riporta il codice numerico in una textbox ...: eccezionale!!

Il problema, pero', ora e' che nella mia app io uso una WebView che apre un link a quella pagina e, non so perche', non mi chiede piu' il consenso all'uso della videocamera e quindi si verifica un errore: "NotAllowedError: Permission denied".

Ho inserito nel file AssemblyInfo.cs:

[assembly: UsesFeature("android.hardware.camera", Required = false)]
[assembly: UsesFeature("android.hardware.camera.autofocus", Required = false)]


e nel file AndroidManifest.xml:

  <uses-permission android:name="android.permission.CAMERA" android:required="false" />
  <uses-feature android:name="android.hardware.camera" android:required="false" />
  <uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />


in fase di installazione dell'app mi viene chiesto se acconsento che l'app usi la fotocamera, ma questo assenso non viene "trasmesso" alla WebView.

Hai qualche dritta?

Ti ringrazio.

Umb
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao Umb,


questo assenso non viene "trasmesso" alla WebView.
Hai qualche dritta?


Prova a leggere questo, qualcuno ci è riuscito.
https://stackoverflow.com/questions/40659198/how-to-access-the-camera-from-within-a-webview

Comunque, secondo me, usare una WebView non è la strada più appropriata in questo caso.
Google di recente ha consentito di pubblicare webapp nello store grazie alle Trusted Web Activities. In pratica, anziché inglobare il tuo sito in una WebView, l'app nativa Android delega a Chrome la visualizzazione dell'app che sembra in tutto e per tutto un'app nativa (es. niente barra degli indirizzi). A quel punto sei in un browser vero e proprio e i privilegi verranno richiesti all'utente senza problemi.

Quindi, il mio consiglio è quello di usare le Trusted Web Activities.
Se segui questa procedura te la cavi in un paio d'ore. Io l'ho fatto l'altro ieri e non ho avuto particolari problemi pur essendo un principiante nello sviluppo di app android.
https://developers.google.com/web/updates/2019/02/using-twa

ciao,
Moreno
Modificato da BrightSoul il 21 settembre 2019 13:57 -

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.