Presentazione Barman Pro, Applicazione Per Windows Phone 7

Author: ollie10 10/20/2010 12:20 PM

La seconda applicazione che ho realizzato per Windows Phone 7 si chiama Barman & Cocktails Pro e permette  di scoprire le ricette di più di 2000 cocktails e drink mostrandoti gli ingredienti e il processo di preparazione, trasformandoci così in un barman professionista!

Il link diretto am marketplace è questo http://social.zune.net/redirect?type=phoneApp&id=913706b8-57e1-df11-a844-00237de2db9e

Vi rimando al video di presentazione:

ebsjyNwzkWQ

Tags: , , , ,
Categories:
Permalink | Comments (0)
  • condividi Presentazione Barman Pro, Applicazione Per Windows Phone 7 su facebook
  • condividi Presentazione Barman Pro, Applicazione Per Windows Phone 7 su twitter
  • condividi Presentazione Barman Pro, Applicazione Per Windows Phone 7 su stumbleupon
  • condividi Presentazione Barman Pro, Applicazione Per Windows Phone 7 su digg
  • condividi Presentazione Barman Pro, Applicazione Per Windows Phone 7 su delicious
  • condividi Presentazione Barman Pro, Applicazione Per Windows Phone 7 su reddit
  • condividi Presentazione Barman Pro, Applicazione Per Windows Phone 7 su google
  • condividi Presentazione Barman Pro, Applicazione Per Windows Phone 7 su netvibes
  • aggiungi il feed di Presentazione Barman Pro, Applicazione Per Windows Phone 7

Rilasciato l'Elenco Delle Categorie Del Windows Phone Marketplace

Author: ollie10 8/30/2010 5:20 PM

Saranno 16 le categorie e 25 le sottocategorie in cui le nostre applicazioni potranno essere suddivise per apparire nel windows phone marketplace, qui sotto l'elenco conpleto

  1. Books & Reference: eReader, Fiction, Non-fiction, Reference
  2. Business
  3. Entertainment
  4. Finance
  5. Games: Action & Adventure, Board & Classic, Card & Casino, Family, Music, Puzzle & Trivia, Shooter, Sports & Racing, Strategy, Xbox Companion
  6. Health & Fitness: Diet & Nutrition, Fitness, Health
  7. Lifestyle: Community, Food & Dining, Out & About, Shopping
  8. Music & Video
  9. Navigation
  10. News & Weather
  11. Photo
  12. Productivity
  13. Social
  14. Sports
  15. Tools
  16. Travel: City Guides, Language, Planning, Travel Tools
Tags: ,
Categories:
Permalink | Comments (0)
  • condividi Rilasciato l'Elenco Delle Categorie Del Windows Phone Marketplace su facebook
  • condividi Rilasciato l'Elenco Delle Categorie Del Windows Phone Marketplace su twitter
  • condividi Rilasciato l'Elenco Delle Categorie Del Windows Phone Marketplace su stumbleupon
  • condividi Rilasciato l'Elenco Delle Categorie Del Windows Phone Marketplace su digg
  • condividi Rilasciato l'Elenco Delle Categorie Del Windows Phone Marketplace su delicious
  • condividi Rilasciato l'Elenco Delle Categorie Del Windows Phone Marketplace su reddit
  • condividi Rilasciato l'Elenco Delle Categorie Del Windows Phone Marketplace su google
  • condividi Rilasciato l'Elenco Delle Categorie Del Windows Phone Marketplace su netvibes
  • aggiungi il feed di Rilasciato l'Elenco Delle Categorie Del Windows Phone Marketplace

Il Modello Capabilities Su Windows Phone

Author: ollie10 8/24/2010 12:35 PM

Nello sviluppo di un'applicazione un passo fondamentale è quello di scegliere quale "risorse" la nostra applicazione andrà ad utilizzare. Su windows phone questo è obbligatorio e si esegue impostando le capabilities.
Dalla versione di aprile in poi vengono impostate in automatico tutte le risorse, noi dovremo andare a togliere quelle di cui non abbiamo necessità, dovremo aprire il file WMAppManifest.xml e troveremo un elenco di tutte le risorse, possiamo eliminare quelle che non ci servono secondo i criteri di quelle realmente usate nella nostra applicazione.

Queste sono quelle disponibili attualmente:

<Capabilities> 
	<Capability Name="ID_CAP_NETWORKING" />
	<Capability Name="ID_CAP_LOCATION" />
	<Capability Name="ID_CAP_SENSORS" />
	<Capability Name="ID_CAP_MICROPHONE" />
	<Capability Name="ID_CAP_MEDIALIB" />
	<Capability Name="ID_CAP_GAMERSERVICES" />
	<Capability Name="ID_CAP_PHONEDIALER" />
	<Capability Name="ID_CAP_PUSH_NOTIFICATION" />
	<Capability Name="ID_CAP_WEBBROWSERCOMPONENT" />
</Capabilities>
  • ID_CAP_NETWORKING Applications with access to network services. This must be disclosed because services can incur cost when a phone is roaming.
  • ID_CAP_LOCATION Applications with access to location services.
  • ID_CAP_SENSORS Applications using the Windows Phone sensors (accelerometer ecc. ecc.).
  • ID_CAP_MICROPHONE Applications that use the microphone. The application can record without visual indication that recording is taking place.
  • ID_CAP_MEDIALIB Applications that can access the media library.
  • ID_CAP_GAMERSERVICES Applications that can interact with Xbox LIVE APIs. This must be disclosed due to privacy issues since data is shared with Xbox.
  • ID_CAP_PHONEDIALER Applications that can place phone calls. This may happen without visual indication for the end user.
  • ID_CAP_PUSH_NOTIFICATION Applications that can receive push notifications from an Internet service. This must be disclosed as usage could incur roaming charges.
  • ID_CAP_WEBBROWSERCOMPONENT Applications that use the web browser component. There are security risks with scripting.
Tags: , ,
Categories:
Permalink | Comments (0)
  • condividi Il Modello Capabilities Su Windows Phone su facebook
  • condividi Il Modello Capabilities Su Windows Phone su twitter
  • condividi Il Modello Capabilities Su Windows Phone su stumbleupon
  • condividi Il Modello Capabilities Su Windows Phone su digg
  • condividi Il Modello Capabilities Su Windows Phone su delicious
  • condividi Il Modello Capabilities Su Windows Phone su reddit
  • condividi Il Modello Capabilities Su Windows Phone su google
  • condividi Il Modello Capabilities Su Windows Phone su netvibes
  • aggiungi il feed di Il Modello Capabilities Su Windows Phone

Gestione Della Cache Su Windows Phone 7

Author: ollie10 8/3/2010 5:49 PM

Se l'uso della cache nelle applicazioni web serve sopratutto a rendere più veloce la restituzione delle pagine e accedere meno al database, su un dispositivo come un cellulare, l'uso della cache si rivela fondamentale in tutte quelle applicazioni che devono leggere dati dal "cloud" e poterle avere disponibili senza scaricarle nuovamente, ottimizzando così l'applicazione e la quantità di dati trasmessa dal cellulare. Questo è utile sopratutto a quegli utenti che possono non avere un piano dati flat.
Qui di seguito vediamo un esempio di wrapper che può essere usato nelle nostre applicazioni per mettere in cache dei files di cui avremo bisogno. La classe sfrutta il pattern singleton e l'isolated storage per salvare i file nella cache. Gestisce le scadenze tramite l'utilizzo dell'orario in formato UTC nel nome del file, questo permette di verificare se l'oggetto in cache è scaduto o meno.

using System;
using System.Collections.Generic;
using System.IO;
using System.IO.IsolatedStorage;
using System.Linq;
using System.Runtime.Serialization;

namespace Ollie10.Classes
{
    public class Cache
    {
        public static readonly DateTime NoAbsoluteExpiration = DateTime.MaxValue;
        public static readonly TimeSpan NoSlidingExpiration = TimeSpan.Zero;

        readonly IsolatedStorageFile _myStore = IsolatedStorageFile.GetUserStoreForApplication();

        private object _sync = new object();


        private static Cache _current;
        /// <summary>
        /// Gets the current instance of the cache
        /// </summary>
        /// <value>The current.</value>
        public static Cache Current
        {
            get { return _current ?? (_current = new Cache()); }
        }

        /// <summary>
        /// Adds the specified key.
        /// </summary>
        /// <param name="key">The key.</param>
        /// <param name="value">The value.</param>
        /// <param name="absoluteExpiration">The absolute expiration.</param>
        /// <param name="slidingExpiration">The sliding expiration.</param>
        public void Add(string key, object value, DateTime absoluteExpiration, TimeSpan slidingExpiration)
        {
            lock (_sync)
            {
                if (Contains(key))
                    Remove(key);

                if (absoluteExpiration == NoAbsoluteExpiration)
                    Add(key, DateTime.UtcNow + slidingExpiration, value);
                if (slidingExpiration == NoSlidingExpiration)
                    Add(key, absoluteExpiration, value);
            }
        }

        /// <summary>
        /// Adds the specified key.
        /// </summary>
        /// <param name="key">The key.</param>
        /// <param name="expirationDate">The expiration date.</param>
        /// <param name="value">The value.</param>
        private void Add(string key, DateTime expirationDate, object value)
        {
            lock (_sync)
            {
                if (!_myStore.DirectoryExists(key))
                    _myStore.CreateDirectory(key);
                else
                {
                    string currentFile = GetFileNames(key).FirstOrDefault();
                    if (currentFile != null)
                        _myStore.DeleteFile(string.Format("{0}\\{1}", key, currentFile));
                    _myStore.DeleteDirectory(key);
                    _myStore.CreateDirectory(key);
                }

                string fileName = string.Format("{0}\\{1}.cache", key, expirationDate.ToFileTimeUtc());

                if (_myStore.FileExists(fileName))
                    _myStore.DeleteFile(fileName);

                NormalWrite(fileName, value);
            }
        }

        /// <summary>
        /// Determines whether the cache contains the specified key.
        /// </summary>
        /// <param name="key">The key.</param>
        /// <returns>
        /// 	<c>true</c> if [contains] [the specified key]; otherwise, <c>false</c>.
        /// </returns>
        public bool Contains(string key)
        {
            lock (_sync)
            {
                if (_myStore.DirectoryExists(key) && GetFileNames(key).Any())
                {
                    string currentFile = GetFileNames(key).FirstOrDefault();
                    if (currentFile != null)
                    {
                        var expirationDate =
                            DateTime.FromFileTimeUtc(long.Parse(Path.GetFileNameWithoutExtension(currentFile)));
                        if (expirationDate >= DateTime.UtcNow)
                            return true;
                    }
                }
                return false;
            }
        }

        /// <summary>
        /// Removes the specified key.
        /// </summary>
        /// <param name="key">The key.</param>
        public void Remove(string key)
        {
            lock (_sync)
            {
                if (!Contains(key))
                    throw new AccessViolationException("The key does not exist in the cache");
                string currentFile = GetFileNames(key).FirstOrDefault();
                if (currentFile != null)
                    _myStore.DeleteFile(string.Format("{0}\\{1}", key, currentFile));
                _myStore.DeleteDirectory(key);
            }
        }

        /// <summary>
        /// Gets the file names.
        /// </summary>
        /// <param name="key">The key.</param>
        /// <returns></returns>
        private IEnumerable<string> GetFileNames(string key)
        {
            return _myStore.GetFileNames(string.Format("{0}\\*.cache", key));
        }

        /// <summary>
        /// Gets the specified key.
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="key">The key.</param>
        /// <returns></returns>
        public T Get<T>(string key)
        {
            lock (_sync)
            {
                string currentFile = GetFileNames(key).FirstOrDefault();
                if (currentFile != null)
                {
                    var expirationDate =
                        DateTime.FromFileTimeUtc(long.Parse(Path.GetFileNameWithoutExtension(currentFile)));
                    if (expirationDate >= DateTime.UtcNow)
                    {
                        return NormalRead<T>(string.Format(@"{0}\{1}", key, currentFile));
                    }
                    Remove(key);
                }
                return default(T);
            }
        }

        #region Serialization

        private T NormalRead<T>(string fileName)
        {
            using (var isolatedStorageFileStream = new IsolatedStorageFileStream(fileName, FileMode.Open, _myStore))
            {
                DataContractSerializer s = new DataContractSerializer(typeof(T));

                var value = s.ReadObject(isolatedStorageFileStream);
                isolatedStorageFileStream.Close();
                return (T)value;
            }
        }

        private void NormalWrite(string fileName, object value)
        {
            using (var isolatedStorageFileStream = new IsolatedStorageFileStream(fileName, FileMode.OpenOrCreate, _myStore))
            {
                DataContractSerializer s = new DataContractSerializer(value.GetType());

                s.WriteObject(isolatedStorageFileStream, value);
            }
        }

        #endregion
    }
}
Tags: , ,
Categories:
Permalink | Comments (0)
  • condividi Gestione Della Cache Su Windows Phone 7 su facebook
  • condividi Gestione Della Cache Su Windows Phone 7 su twitter
  • condividi Gestione Della Cache Su Windows Phone 7 su stumbleupon
  • condividi Gestione Della Cache Su Windows Phone 7 su digg
  • condividi Gestione Della Cache Su Windows Phone 7 su delicious
  • condividi Gestione Della Cache Su Windows Phone 7 su reddit
  • condividi Gestione Della Cache Su Windows Phone 7 su google
  • condividi Gestione Della Cache Su Windows Phone 7 su netvibes
  • aggiungi il feed di Gestione Della Cache Su Windows Phone 7

Ciclo Di Vita E Tombstoning Delle Applicazioni Per Windows Phone

Author: ollie10 7/27/2010 5:55 PM

Come ormai è stato detto più volte, almeno nella prima versione di Windows Phone 7 non sarà disponibile il Multitasking, questo significa che le applicazioni di terze parti (quindi tutte quelle non di Microsoft), non potranno rimanere in esecuzione, a questo va aggiunto anche il fatto che un utente può uscire da un'applicazione in diversi modi. Ciò comporta che lo sviluppatore adotti delle politiche di salvataggio/recupero dei dati, ma come fare?

More...
Tags: , , ,
Categories:
Permalink | Comments (0)
  • condividi Ciclo Di Vita E Tombstoning Delle Applicazioni Per Windows Phone su facebook
  • condividi Ciclo Di Vita E Tombstoning Delle Applicazioni Per Windows Phone su twitter
  • condividi Ciclo Di Vita E Tombstoning Delle Applicazioni Per Windows Phone su stumbleupon
  • condividi Ciclo Di Vita E Tombstoning Delle Applicazioni Per Windows Phone su digg
  • condividi Ciclo Di Vita E Tombstoning Delle Applicazioni Per Windows Phone su delicious
  • condividi Ciclo Di Vita E Tombstoning Delle Applicazioni Per Windows Phone su reddit
  • condividi Ciclo Di Vita E Tombstoning Delle Applicazioni Per Windows Phone su google
  • condividi Ciclo Di Vita E Tombstoning Delle Applicazioni Per Windows Phone su netvibes
  • aggiungi il feed di Ciclo Di Vita E Tombstoning Delle Applicazioni Per Windows Phone

Realizzare Una Splash Screen Personalizzata Su Windows Phone 7

Author: ollie10 7/23/2010 2:15 PM

Come sappiamo nelle nostre applicazioni su Windows Phone abbiamo la possibilità di inserire un'immagine di Splash Screen che verrà mostrata al caricamento, semplicemente inserendo un file di nome SplashScreenImage.jpg nella root della nostra solution. Questo metodo però non ci da il controllo sull'applicazione e si limita a mostrare un'immagine statica e null'altro. Con pochissimo codice è possibile personalizzare la nostra splash screen inserendo una barra di caricamento che resterà attiva fin quando non avremo finito di fare le operazioni necessarie al caricamento dell'applicazione stessa.

More...

Tags: ,
Categories: Windows Phone
Permalink | Comments (0)
  • condividi Realizzare Una Splash Screen Personalizzata Su Windows Phone 7 su facebook
  • condividi Realizzare Una Splash Screen Personalizzata Su Windows Phone 7 su twitter
  • condividi Realizzare Una Splash Screen Personalizzata Su Windows Phone 7 su stumbleupon
  • condividi Realizzare Una Splash Screen Personalizzata Su Windows Phone 7 su digg
  • condividi Realizzare Una Splash Screen Personalizzata Su Windows Phone 7 su delicious
  • condividi Realizzare Una Splash Screen Personalizzata Su Windows Phone 7 su reddit
  • condividi Realizzare Una Splash Screen Personalizzata Su Windows Phone 7 su google
  • condividi Realizzare Una Splash Screen Personalizzata Su Windows Phone 7 su netvibes
  • aggiungi il feed di Realizzare Una Splash Screen Personalizzata Su Windows Phone 7

Specifiche Bluetooth Su Windows Phone 7

Author: ollie10 7/20/2010 11:43 AM

Nel web c'è un pò di confusione per quanto riguarda le specifiche che saranno supportate dal bluetooth su windows phone, elenco qui quelle che "dovrebbero" essere le definitive ed ufficiali

  • Hands-Free Profile (HFP) 1.5. This is typically used for hands-free interfaces in automobiles.
  • Headset Profile (HSP). The most common BT profile, HSP provides support for wireless headsets.
  • Advanced Audio Distribution Profile (A2DP) 1.2. This provides high quality mono and stereo audio playback over Bluetooth.
  • A/V Remote Control Profile (AVRCP) 1.0. This allows a Bluetooth device to be used as a remote control. Windows Phone supports only the most basic remote control features (play, pause, stop, and so on).
  • Phone Book Access Profile (PBAP). This allows a BT-compatible device to exchange address book (contacts) data with another BT-compatible device. It is typically used with car kits so that contact names can appear on the in-car display.
Tags: ,
Categories: Windows Phone
Permalink | Comments (0)
  • condividi Specifiche Bluetooth Su Windows Phone 7 su facebook
  • condividi Specifiche Bluetooth Su Windows Phone 7 su twitter
  • condividi Specifiche Bluetooth Su Windows Phone 7 su stumbleupon
  • condividi Specifiche Bluetooth Su Windows Phone 7 su digg
  • condividi Specifiche Bluetooth Su Windows Phone 7 su delicious
  • condividi Specifiche Bluetooth Su Windows Phone 7 su reddit
  • condividi Specifiche Bluetooth Su Windows Phone 7 su google
  • condividi Specifiche Bluetooth Su Windows Phone 7 su netvibes
  • aggiungi il feed di Specifiche Bluetooth Su Windows Phone 7

28 Design Templates Ufficiali Per Windows Phone 7

Author: ollie10 7/17/2010 11:32 AM

windows phone design templateMicrosoft ha rilasciato fra la sua documentazione un set di 28 template per Photoshop contenenti gli elementi di grafica più usati nell'interfaccia del telefono. L'intenzione è quella di realizzare un set di elementi base in modo da poter poi disegnare dei mock-up perfetti.

Il set di templates è disponibile in download da qui

Tags: , ,
Categories:
Permalink | Comments (0)
  • condividi 28 Design Templates Ufficiali Per Windows Phone 7 su facebook
  • condividi 28 Design Templates Ufficiali Per Windows Phone 7 su twitter
  • condividi 28 Design Templates Ufficiali Per Windows Phone 7 su stumbleupon
  • condividi 28 Design Templates Ufficiali Per Windows Phone 7 su digg
  • condividi 28 Design Templates Ufficiali Per Windows Phone 7 su delicious
  • condividi 28 Design Templates Ufficiali Per Windows Phone 7 su reddit
  • condividi 28 Design Templates Ufficiali Per Windows Phone 7 su google
  • condividi 28 Design Templates Ufficiali Per Windows Phone 7 su netvibes
  • aggiungi il feed di 28 Design Templates Ufficiali Per Windows Phone 7