Archive

Archive for the ‘Windows Phone’ Category

Disabilitare il blocco automatico su Windows Phone

novembre 19, 2012 51 commenti

Ciao! Oggi ho fatto un’app per la quale avevo la necessità di disabilitare il lock automatico del device dato che non ci interagivo per molto… Ecco il codice per disabilitare il blocco:

PhoneApplicationService phoneAppService = PhoneApplicationService.Current;
phoneAppService.UserIdleDetectionMode = IdleDetectionMode.Disabled;

Ricordatevi di aggiungere la relativa using:

using Microsoft.Phone.Shell;

Happy coding! 🙂

Categorie:C#, Windows Phone

Lumia 800 bloccato…

ottobre 26, 2012 29 commenti

Ciao!

10 minuti fa mi è successa una cosa da brividi: stavo ascoltando The fear (canzone di Lily Allen) sul mio Lumia 800. Fin qui nulla di strano… Se non fosse che, aprendo internet, si è completamente freezato il mio Lumia. Panico. L’ho attaccato al PC ma non è successo nulla. Ho tenuto premuto il tasto di accensione ma niente. Ho risolto abbastanza velocemente perchè mi sono ricordato di una cosa: tenere premuto il tasto di accensione e il tasto della fotocamera, che permettono il riavvio del terminale anche in situazioni ‘estreme’ come quelle del blocco improvviso.

Speriamo non capiti più 😀

Categorie:Windows Phone

Salvate una lista di oggetti nell’IsolatedStorage

agosto 6, 2012 8 commenti

Ciao!

Ecco una comoda classe che ci permette di salvare una lista di oggetti in un file all’interno dell’IsolatedStorage di Windows Phone:

public class IsoStoreHelper
    {
        private static IsolatedStorageFile _isoStore;
        public static IsolatedStorageFile IsoStore
        {
            get { return _isoStore ?? (_isoStore = IsolatedStorageFile.GetUserStoreForApplication()); }
        }

        public static void SaveList<T>(string folderName, string dataName, ObservableCollection<T> dataList) where T : class
        {
            if (!IsoStore.DirectoryExists(folderName))
            {
                IsoStore.CreateDirectory(folderName);
            }

            string fileStreamName = string.Format("{0}\\{1}.dat", folderName, dataName);

            using (IsolatedStorageFileStream stream = new IsolatedStorageFileStream(fileStreamName, FileMode.Create, IsoStore))
            {
                DataContractSerializer dcs = new DataContractSerializer(typeof(ObservableCollection<T>));
                dcs.WriteObject(stream, dataList);
            }
        }

        public static ObservableCollection<T> LoadList<T>(string folderName, string dataName) where T : class
        {
            ObservableCollection<T> retval = new ObservableCollection<T>();

            string fileStreamName = string.Format("{0}\\{1}.dat", folderName, dataName);

            using (IsolatedStorageFileStream stream = new IsolatedStorageFileStream(fileStreamName, FileMode.OpenOrCreate, IsoStore))
            {
                if (stream.Length > 0)
                {
                    DataContractSerializer dcs = new DataContractSerializer(typeof(ObservableCollection<T>));
                    retval = dcs.ReadObject(stream) as ObservableCollection<T>;
                }
            }

            return retval;
        }

Bisogna ricordarsi di aggiungere una reference a System.Runtime.Serialization.

Per utilizzare questa classe, ecco un esempio:

      ObservableCollection<Prova> lista = new ObservableCollection<Prova>();
      ObservableCollection<Prova> listaTest = new ObservableCollection<Prova>();

      lista.Add(new Prova(){ nome = "Sergio" });
      lista.Add(new Prova(){ nome = "Fabio" });
      lista.Add(new Prova(){ nome = "Erika" });

      IsoStoreHelper.SaveList<Prova>("prova", "prova", lista);
      listaTest = IsoStoreHelper.LoadList<Prova>("prova", "prova");

Happy Coding!

Categorie:C#, Windows Phone