Blog Stats

  • Blogs - 41
  • Posts - 4055
  • Articles - 185
  • Comments - 22520
  • Trackbacks - 934

Bloggers (posts, last update)

Powered By:
Powered by Subtext

Latest Posts

Telerik UI for Windows Universal beta

La Telerik, nota azienda produttrice di controlli utente per varie piattaforme applicative (tra i migliori in assoluto secondo me), ha rilasciato una prima beta dei suoi nuovi controlli per le Universal App. La beta è disponibile per tutti ed è richiesta la sola registrazione al sito.

Il link per il download è questo e direi che è un'ottima prova da fare

Alessandro

posted @ 04/08/2014 00:19 by Alessandro Del Sole

Visual Studio 2013 Update 3 disponibile

Continuando sulla scia e filosofia dei frequenti aggiornamenti, oggi è stato rilasciato in RTM l'Update 3 per Visual Studio 2013. Ci sono tanti interessanti miglioramenti; tra i miei preferiti, il tool di diagnostica della memoria ora disponibile anche per WPF, precedentemente disponibile solo per Windows Store app.

L'elenco completo delle novità è nel post di annuncio di Brian Harry.

Alessandro

posted @ 04/08/2014 00:15 by Alessandro Del Sole

I servizi di geolocalizzazione in Windows Phone 8.

 

Introduzione

 

La geolocalizzazione é una delle funzionalità più utilizzate in ambito mobile e non solo, con essa siamo in grado di recuperare la posizione e informazioni sul luogo in cui ci troviamo, e mediante un'applicazione adibita avere altre informazioni, come ristoranti, hotel, punti d'interesse e molti altri scenari. In Windows Phone 8 il funzionamento della geolocalizzazione si basa principalmente su tre importanti strumenti:

  • GPS
  • 3G
  • Wi-Fi

Il Gps e sicuramente lo strumento con maggiore precisione, ma con lo svantaggio di richiedere un elevato consumo di batteria, e di essere all'aperto per una maggiore precisione dei dati. La rete 3G, basata su connessione a banda larga, sfrutta la connessione UMTS, è permette la navigazione su Internet, ha sì il vantaggio di consumare meno batteria rispetto alla connessione Gps, ma al contrario e molto meno precisa. L'ultima, Wi-Fi, si basa sulla connessione router al quale il dispositivo è collegato, con un medio consumo di batteria e un buon livello di precisione.Dopo questa breve panoramica sugli strumenti su cui è basata la Geolocalizzazione, vediamo in che modo utilizzarla in un applicazione Windows Phone 8.

La classe Geolocator

 

Il Windows Runtime mette a disposizione per noi sviluppatori la classe Geolocator, che troviamo nel Namespace Windows.Devices.Geolocation. Questa classe dispone di diversi metodi, proprietà ed eventi, con la quale possiamo ottenere tutti i dati necessari sulla posizione.

Ha cinque proprietà:

  • DesiredAccuracy
  • DesiredAccuracyInMeters
  • LocationStatus
  • MovementThreshold
  • ReportInterval

Il metodo più utilizzato:

  • GetPositionAsync ()

E infine i due eventi:

  • PositionChanged
  • StatusChanged

Le proprietà.

La proprietà DesiredAccuracy, permette di impostare il livello di precisione per rilevare la posizione. Questa proprietà può assumere uno dei seguenti valori dell'enumeratore PositionAccuracy:

  • Default, la ricezione dei dati avviene in modo da garantire un normale consumo di batteria, e aggiornamento della posizione.
  • Hight, se vogliamo ricevere i dati sulla posizione in maniera più precisa, teniamo conto però, che impostando questo valore, ci sarà maggiore consumo di batteria, per cui va impostato solo se l'applicazione che vogliamo realizzare richiede una maggiore precisione dei dati.

DesiredAccuracyInMeters, ottiene o imposta la precisione desiderata in metri per i dati restituiti dal servizio di Geolocalizzazione.

LocationStatus, determina invece lo stato del segnale Gps, può assumere uno dei seguenti valori dell'enumeratore PositionStatus:

  • Disabled, servizio di geolocalizzazione disabilitato nel telefono, ricordo che i servizi di geolocalizzazione possono anche essere disabilitati dall'utente.
  • Initializing, servizio di geolocalizzazione in fase d'inizializzazione, per cui i dati di posizione non possono ancora essere disponibili.
  • NotAvailable, servizi di gelolocalizzazione non disponibili, ma poiché Windows Phone dispone sempre del servizio Gps, anche a regimi minimi, questa proprietà non potrà mai assumere tale valore.
  • NoData, i servizi di gelolocalizzazione sono attivi, ma al momento i dati non possono essere recuperati, questo stato capita per esempio quando vi è poca o nessuna connettività.
  • NotInitialized, i servizi di gelolocalizzazione sono attivi, ma al momento non vi è ancora stata nessuna richiesta sul recupero dei dati, non è ancora stato eseguito il metodo GetPositionAsync ().
  • Ready, i servizi di gelolocalizzazione sono attivi e pronti per il recupero dei dati sulla posizione.

MovementThreshold, rappresenta il valore di posizione in metri che deve essere percorsa sulla base della posizione precedente.

ReportInterval, rappresenta il tempo minimo in millisecondi, che deve trascorrere tra una lettura e l'altra della posizione.

I metodi.

Il metodo GetPositionAsync (), restituisce un oggetto di tipo Geoposition, dove troviamo tutte le informazioni sulla posizione, esempio la proprietà Coordinate, che contiene i valori di latitudine e longitudine, questi sono valori principalmente utilizzati, espone anche una proprietà CivicAddress, che a sua volta restituisce altri valori, come Città, Paese, Codice postale, Provincia.

Gli eventi.

L'evento StatusChanged, è eseguito ogni volta che lo stato del segnale Gps cambia, utile quindi per gestire il download delle informazioni sulla posizione, per avvertire l'utente in caso di scarsa o connettività assente. Questo evento restituisce le informazioni sulla connessione mediante un valore chiamato Status, di tipo Position Status, i valori restituiti sono identici a quanto descritto per la proprietà LocationStatus.

L'evento PositionChanged, è eseguito ogni volta che è rilevata una nuova posizione, il tutto avviene mediante la valorizzazione delle proprietà MovementThreshold e ReportInterval descritte prima. Le informazioni possono essere trovate dalla proprietà Coordinate di tipo Position restituito dall'evento. Abbiamo anche la proprietà CivicAddress, però non essendo implementata, i dati potrebbero non essere precisi e soprattutto non esatti.

 

Ottenere la posizione in Windows Phone 8

 

Fino ad ora è stata fatta una breve panoramica sui servizi di geolocalizzazione, per un maggiore approfondimento sull'argomento lascio il link alla documentazione ufficiale di Msdn Library.

Vediamo ora come utilizzare i servizi per recuperare i valori di latitudine è longitudine. Avviamo Visual Studio 2013 (in questo esempio è utilizzata la versione Professional), e creiamo un nuovo progetto Applicazione vuota (Silverlight per Windows Phone) come in figura e lo chiamiamo GeoPositionSample.

image

Confermiamo con pulsante ok, nella schermata successiva lasciamo selezionata un'applicazione Windows Phone 8.0.

image

Confermiamo con ok, e attendiamo il completamento della Solution. Ecco come si presenterà il progetto iniziale.

image

Abbiamo a sinistra dell'immagine, l'interfaccia grafica, dove man mano che inseriamo controlli o dalla casella degli strumenti, o da codice xaml, ci mostrerà in anteprima come sarà la nostra applicazione. Sulla destra invece il codice xaml dell'interfaccia grafica. Trattandosi di un'applicazione vuota non abbiamo alcun controllo eccetto la parte, dove sono visualizzati, "applicazione" è "nome pagina".

Per visualizzare i dati di latitudine e longitudine, inseriremo nella nostra interfaccia grafica quattro controlli TextBlock e un Button. Per prima cosa definiamo da codice xaml quattro righe e due colonne all'interno del controllo grid denominato ContentPanel, dove andremo a inserire tutto il contenuto della nostra interfaccia.

image

Noterete che è stato creato anche l'evento Tap per il controllo Button, e lì che inseriremo il codice necessario affinché la nostra applicazione possa interagire con i servizi di geolocalizzazione. Modifichiamo anche il valore della proprietà Text dei controlli TextBlock, che troviamo all'interno del controllo StackPanel denominato TitlePanel, come mostrato in figura.

image

Dopo aver scritto il codice riportato sopra, la nostra schermata assumerà quest'aspetto.

image

Creato i controlli necessari, vediamo nella parte di codice cosa serve per recuperare tali valori. Modifichiamo il file di codice, procedere con tasto F7, o in esplora soluzioni andando ad espandere il file MainPage.xaml, fino a trovare il file MainPage.xaml.cs nel nostro caso, o .xaml.vb se sviluppiamo in VbNet. Click con il mouse e saremo condotti all'interno del file di codice. In precedenza abbiamo detto che Windows Runtime ci mette a disposizione la classe Geolocator, per cui la prima cosa da fare e aggiungere nel file di codice il Namespace.

using Windows.Devices.Geolocation;

Cerchiamo l'evento Tap, e al suo interno scriviamo il codice seguente.

image

Come funziona? Dichiariamo una variabile denominata locator di tipo Geolocator, é buona norma controllare lo stato dei servizi per verificare che siano attivi, diversamente avremo un'eccezione nel momento in cui tentiamo di rilevare la posizione. Questo si esegue andando a verificare il valore della proprietà LocationStatus che non sia "Disabled".

Se i servizi sono abilitati, sarà eseguito il metodo GetPositionAsync() , che restituisce tutti i dati della posizione, da notare che questo metodo é asincrono, ciò significa che l'applicazione non resterà bloccata fino a quando non saranno scaricati i dati, ma l'utente può continuare ad interagire liberamente con i controlli dell' interfaccia, premesso che in questo articolo non si parlerà di programmazione asincrona, per una maggiore e più dettagliata informazione sul funzionamento, lascio il link della documentazione Msdn.

Al momento in cui il metodo GetPositionAsync () è eseguito, andiamo a valorizzare i controlli TextBlock tbkLatitudeValue e tbkLongitudeValue con il valore delle proprietà Latitude e Longitude di tipo GeoCoordinate, convertite poi in stringa mediante il metodo ToString (), questo perché è un valore di tipo double. Il codice che avremo all'interno dell'evento Tap del Button é così definito

image

Prima di procedere con il debug dell'applicazione, é e necessario attivare la capability ID_CAP_LOCATION, diversamente l'applicazione non funzionerà, in esplora soluzioni espandiamo la directory Properties, e click sul file WMAppManifest.xml come mostrato in figura.

image

Aperto il file andiamo alla tab Funzionalità, e selezioniamo la capability.

image

Terminata anche quest'attività, possiamo procedere con il debug dell'applicazione. Cosa importante, se usate l'emulatore, bisogna impostare la proprietà DesiredAccuracy su Hight, questo per rilevare i cambiamenti di posizione. Se tutto e a posto, la nostra schermata iniziale avrà quest'aspetto.

image

Facciamo Tap sul Button, ed ecco che abbiamo i dati di latitudine é longitudine come previsto.

image

 

Conclusione.

 

In questo primo articolo abbiamo visto come ottenere la posizione mediante latitudine e longitudine, nei prossimi articoli, vedremo come ricavare altre informazioni che la classe Geolocator espone per poi sfruttarle nelle nostre applicazioni, e come, tramite latitudine e longitudine, avere altre informazioni sul luogo con la classe ReverseGeocodeQuery, i modi di funzionare sono tanti, le esploreremo una a una.

posted @ 03/08/2014 02:10 by Carmelo La Monica

Il mio libro "Programmare con WPF 4.5": ma quando esce?

L'1 settembre Riposatevi quindi durante le ferie, in modo da essere poi pronti per la lettura!

Alessandro

posted @ 30/07/2014 14:54 by Alessandro Del Sole

Universal App anche con VB

Vi segnalo questo articolo "VB Universal Windows App" series che speiga come realizzare Universal App con il Ns VB.NET.

Vi ricordo che Universal App significa scrivere applicazioni per Windows, Windows Phone e, in futuro, XBox riutilizzando gran parte del codice scritto … non male! :)

Microsoft svela le Universal Apps: una sola app per Windows, Windows Phone e Xbox

Renato

posted @ 12/07/2014 02:20 by Renato Marzaro

Disponibile Visual Studio "14" CTP 2

E' stata appena resa disponibile per il download la CTP 2 di Visual Studio "14", l'attuale nome in codice della prossima edizione di Microsoft Visual Studio, secondo la nota formula della Community Technology Preview.

Come per la prima CTP, potete anche scaricare una virtual machine basata su Windows Azure; ad ogni modo, è bene installare quest'anteprima su un ambiente di test.

L'elenco delle nuove funzionalità è disponibile in questo post di John Montgomery, che include anche i link per il download, e nell'apposita pagina della Knowledge Base.

Alessandro

posted @ 08/07/2014 22:01 by Alessandro Del Sole

Microsoft MVP: rinnovato per un altro anno

Da qualche anno ormai, dal 2008 per la precisione, il 1° luglio è sempre una giornata particolare perché per il sottoscritto ricorre la rinomina a Microsoft MVP per Visual Basic. Sono stato confermato anche per i prossimi 12 mesi, per la 7ima volta di fila e ovviamente continua ad essere un grande onore, una grande soddisfazione e una grande emozione.

Per vari problemi personali so di aver fatto meno attività rispetto agli anni precedenti, ma conto di tornare in pista al mio solito il prima possibile.

Per quanto sia consapevole di essere ripetitivo, in questa circostanza sono uso ribadire che il benefit più grande derivato dal programma MVP è l'aver conosciuto tante persone ed aver stretto tante amicizie, indipendentemente dall'aspetto tecnico. Certo, ovviamente i benefit tecnici sono di assoluto rilievo, la possibilità di rimanere aggiornato in modo adeguato è di prima qualità e su questo non ci piove, ma sono sempre le persone che fanno il mondo.

Mi congratulo con i nuovi MVP e con i rinnovati, che conto di rivedere quanto meno al prossimo MVP Summit a Redmond e ringrazio, in ordine sparso, la divsione DPE di Microsoft Italia, Cristina Gonzalez Herrero, Marjorie di Clemente e Alessandro Teglia, nonché tutti gli appartenenti alla community Visual Basic Tips & Tricks, la cui esistenza è il fondamento, almeno per me, di questo importante award.

Alessandro

posted @ 02/07/2014 20:51 by Alessandro Del Sole

App alternative a Whatsapp, con pregi e difetti (secondo me)

Da un po' di tempo avevo in mente di scrivere un post dedicato agli utenti non tecnici di smartphone, per parlare delle varie app di messaggistica e chiamate VOIP che possono costituire valide alternative a Whatsapp. Infatti, milioni di utenti nel mondo sono andati in crisi in alcuni recenti blocchi della nota applicazione, ma ci sono delle interessanti alternative disponibili per tutte le piattaforme più diffuse quali Windows Phone, iPhone, Android.

Ovviamente non vi parlo né di Skype né di Viber né di Whatsapp (chiaramente), dal momento che già le conoscete e dal momento che hanno anche scopi e funzionalità diverse.

Non metto link per il download dal momento che ognuno di voi avrà dispositivi diversi e quindi potrete semplicemente cercarle nei vari Store.

LINE
Line è un'app molto carina secondo me. Innanzitutto non mostra se una persona è online, ma mostra a chi ci scrive se abbiamo letto un suo messaggio. Consente la condivisione di allegati e l'effettuazione di telefonate in VOIP, inoltre consente conversazioni tra più persone (non necessariamente a due quindi). Due peculiarità: una nutrita serie di sticker e ogni settimana ne vengono rilasciati di nuovi, più account ufficiali di vip (cantanti, squadre di calcio, ecc.) con cui entrare in contatto. Se avete Windows 8 o 8.1, c'è una versione dell'app anche per questo sistema, molto comodo per i tablet.

WECHAT
WeChat è un'app di messaggistica che estende il concetto di social networking, nel senso che consente numerose attività come la ricerca di persone nei dintorni, anche se non le conosciamo ma iscritte a WeChat, la condivisione di album di fotografie con gli utenti iscritti, l'invio di un "messaggio in bottiglia" che verrà raccolto da utenti in giro per il mondo. WeChat ha anche una gestione diversa della privacy, nel senso che potete decidere se qualcuno può comunicare con voi imponendo la richiesta di amicizia, che potrete approvare o rigettare. Anche qui, ci sono degli sticker carini e animati. E' un tantino più complessa delle altre, ma introduce delle buone idee.

TELEGRAM
Recentemente introdotta anche su Windows Phone, Telegram è una delle più diffuse app di messaggistica ed ha un comportamento piuttosto simile a Whatsapp; consente lo scambio di messaggi, la condivisione di allegati (su Windows Phone si possono allegare anche documenti, mi direte su iPhone e Android). E' abbastanza performante e la sua somiglianza di utilizzo con Whatsapp ne fa una delle alternative più diffuse. Esiste anche una versione desktop per Windows, anche se non ufficiale.

KIK MESSENGER
KiK si sta diffondendo molto come mezzo di contatto su social come Instagram, perché non è necessariamente associato a un numero di telefono, quindi da un lato tutela un po' di più la privacy e consente di cercare o essere cercati mediante il proprio Id. Di contro, potreste essere contattati da chicchessia in tutto il mondo. Il che potrebbe anche piacervi.

TALK.TO MESSENGER
Talk.To Messenger è ancora poco diffusa almeno in Italia, ma funziona benino. Consente le funzionalità classiche di condivisione foto e la possibilità di aggiungere gruppi di persone a una conversazione.

Queste app sono disponibili, come detto, per tutte le piattaforme più diffuse. Se ne conoscete altre, ditelo

Alessandro

posted @ 22/06/2014 22:22 by Alessandro Del Sole

Universal Apps con Visual Basic

Se avete installato l'Update 2 di Visual Studio 2013 e Windows 8.1 come sistema operativo, se avete seguito l'evolversi delle piattaforme Microsoft incluso Windows Phone 8.1, sapete che è possibile creare le cosiddette Universal Apps, ossia app che condividono consistenti parti di codice e che possono così girare sia su Windows 8.1 che Windows Phone 8.1.

Sfortunatamente (.....) i template nativi di progetto esistono solo per C#. Giocando, però, con le Portable Class Libraries, è possibile creare le Universal Apps anche con Visual Basic.

A tale riguardo, il Visual Basic Team ha iniziato una serie di post dedicati allo sviluppo proprio con Visual Basic, spiegando quali sono i passaggi da effettuare e mostrando codice.

Da non perdere.

Alessandro

posted @ 16/06/2014 21:49 by Alessandro Del Sole

Visual Studio "14" CTP

Arrivo un po' tardi a parlare della prima CTP (Community Technology Preview) di Visual Studio "14", la futura versione dell'ambiente di sviluppo Microsoft, ma meglio tardi che mai

E' stata rilasciata un po' di giorni fa, come da annuncio di Somasegar. Ci sono problemi noti nell'installazione side-by-side con Visual Studio 2013, quindi il consiglio è quello di installarla su una macchina virtuale o disco VHD. Al riguardo, è disponibile anche una macchina virtuale su Azure nella Azure VM Gallery.

Le più importanti novità (almeno per ora) riguardano lo sviluppo Web con ASP.NET, il linguaggio Visual C++, e il totale basarsi sia dell'IDE che dei linguaggi sui compilatori riscritti con il progetto Roslyn.

Potete scaricare la CTP da questo indirizzo.

Alessandro

posted @ 16/06/2014 21:45 by Alessandro Del Sole