Web- und Software Development

BASTA! on Tour – Architecture & Best Practices + Gewinnspiel

Written By: Mario Priebe - Apr• 20•11

Vom 19. bis 20. Mai 2011 veranstaltet die Entwickler Akademie in Kooperation mit dem dot.net Magazin die nächste BASTA! on Tour – Architecture & Best Practices – diesmal in Düsseldorf. Das Tochterevent der BASTA! – der größten unabhängigen .NET-Konferenz bietet zwei Tage lang tiefgehendes Know-how zum Thema Architektur und Best Practices in der .NET-Welt.

Insgesamt vier ganztägige Workshops, acht Sessions und ein Speaker Panel mit den bekannten .NET-Experten Dr. Holger Schwichtenberg, Jörg Neumann, Manfred Steyer und Christian Wenz stehen zur Auswahl.

Das Trainingsevent vermittelt am ersten Tag die Grundlagen von WPF, WCF, Entity Framework und jQuery. Der zweite Tag baut auf den Inhalten der Workshops auf und steht ganz im Zeichen von Architekturfragen, Patterns, Tipps, Tricks und Best Practices.

Alle Infos auf www.basta-on-tour.de

Gewinnspiel

Warst Du schon einmal auf der Basta, Basta Spring oder Basta on Tour? Wenn ja, wie sind Deine Erfahrungen, würdest du wieder hingehen, oder jemand anderes empfehlen?

Unter den Kommentaren, verlose ich zusammen mit der Entwickler Akademie ein Abonnement für 1 Jahr für das dotnet Magazin.

Der Gewinner wird über random.org ermittelt. Das Gewinnspiel endet zum 30.April 2011 20Uhr.

Tweets von Usern durchsuchen

Written By: Mario Priebe - Apr• 02•11

Eine Zeit lang habe ich jeden Samstag hier auf meinem Blog, automatisch meine Twitter-Empfehlungen gepostet. Dies hatte den Grund, das ich interessante Dinge, welche ich bei Twitter schrieb, hier mit der Blogsuche wiederfinde.

Nun habe ich einen Webdienst mit dem Namen Snap Bird gefunden, der es einem ermöglicht Tweets von einem Benutzer zu durchsuchen.

Ich find’s ganz cool und sicher auch für den einen oder anderen zu gebrauchen.
Also, happy searching : )

Wie ermittle ich eine Telefonnummer aus dem Telefonbuch? – WP7 Quicky

Written By: Mario Priebe - Mrz• 31•11

Um eine Telefonnummer aus dem Telefonbuch des Benutzers vom Windows Phone 7 zu ermitteln, kann man mit seiner Applikation den Benutzer dazu aufordern, die entsprechende Nummer zu selektieren. Dazu verwendet man die Klasse PhoneNumberChooserTask aus dem Namespace Microsoft.Phone.Tasks.

1
2
3
PhoneNumberChooserTask pck = new PhoneNumberChooserTask();
pck.Completed += new EventHandler<PhoneNumberResult>(pck_Completed);
pck.Show();

In der CompletedMethode steht dann zur Weiterverarbeitung die selektierte Telefonnummer zur Verfügung.

1
2
3
4
void pck_Completed(object sender, PhoneNumberResult e)
{
    MessageBox.Show(e.PhoneNumber);
}

Lesen, schreiben und löschen im IsolatedStorage

Written By: Mario Priebe - Mrz• 27•11

Folgende Codebeispiele zeigen, wie man ein Dateien und Verzeichnisse im IsolatedStorage erstellen, lesen und löschen kann.

Überprüfung ob ein File im IsolatedStorage existiert:

1
2
3
4
5
6
7
private bool FileExist(string fileName)
{
    using (var file = IsolatedStorageFile.GetUserStoreForApplication())
    {
        return file.FileExists(fileName);               
    }
}

File erstellen:

1
2
3
4
5
6
var myFile = "MyFile.txt";
using (IsolatedStorageFile file = IsolatedStorageFile.GetUserStoreForApplication())
{
    if (!file.FileExists(myFile))
        file.CreateFile(myFile).Close();
}

Der Aufruf der Close() Methode bewirkt, das der Prozess der das File verwendete, selbiges wieder freigibt.

File lesen:

1
2
3
4
5
6
7
8
using (IsolatedStorageFile file = IsolatedStorageFile.GetUserStoreForApplication())
{
    //weiterverarbeitung, bsp deserialize
    using (var reader = new JsonTextReader(new StreamReader(fileStream)))
    {
        var td = serializer.Deserialize<List<TrainingDay>>(reader);
    }
}

File löschen:

1
2
3
4
5
6
var myFile = "MyFile.txt";
using (IsolatedStorageFile file = IsolatedStorageFile.GetUserStoreForApplication())
{
    if (file.FileExists(myFile))
        file.DeleteFile(myFile );
}

Existierende Files auslesen

1
2
3
4
using (IsolatedStorageFile file = IsolatedStorageFile.GetUserStoreForApplication())
{
    string[] files = file.GetFileNames();
}

Erstellen eines Ordners im IsolatedStorage

1
2
3
4
using (IsolatedStorageFile file = IsolatedStorageFile.GetUserStoreForApplication())
{    
    file.CreateDirectory("MyDir");
}

Erstellen eines Unterordners im IsolatedStorage

1
2
3
4
using (IsolatedStorageFile file = IsolatedStorageFile.GetUserStoreForApplication())
{    
    file.CreateDirectory("MyDir/MySubDir");
}

Wichtig ist hier die Verwendung eines Slashes anstatt eines Backslashes, da sonst versucht wird, das Verzeichnis absolut im Root anzulegen, was nicht erlaubt ist.

Ordner auslesen:

1
2
3
4
using (IsolatedStorageFile file = IsolatedStorageFile.GetUserStoreForApplication())
{   
    string[] folders = file.GetDirectoryNames();
}

Löschen eines Ordners

1
2
3
4
5
using (IsolatedStorageFile file = IsolatedStorageFile.GetUserStoreForApplication())
{    
     if(file.DirectoryExists(MyDir"))
         file.DeleteDirectory("MyDir");
}

Und zum Schluss, wie man den Isolated leeren kann:

1
IsolatedStorageFile.GetUserStoreForApplication().Remove();

Da der IsolatedStorage nicht nur geleert, sondern komplett gelöscht wurde, muss man bei einer erneuten Verwendung des Speichers auf IsolatedStorageFile.GetUserStoreForApplication() erneut referenzieren, wodurch dieser neu angelegt wird. Wer jedoch wie hier beschrieben using verwendet und das Anlegen in einem anderen Kontext durchführt, der sollte keine Problem haben.

Viel Spaß beim entwickeln : )