.Net Compact Framework 2.0 – Mobil Cihazlarda XML Serialization - Yazgelistir.com
Bu makalemizde .Net Compact Framework 2.0 üzerinde Mobil Cihazlarda XML Serialization kavramına basitçe değineceğiz.
Serialization kavramı bilindiği üzere nesnenin herhangi bir t zamanında belirtilen “formatter” kullanılarak bellek üzerinde depolanması ve yine herhangi bir t zamanında bellek üzerinde depolandığı yerden “serialize” edildiği zaman sürecindeki değerleriyle tekrardan oluşturulma işlemidir.
Olaya bu açıdan bakıldığında serialization işleminin .Net Framework üzerinde yüzlerce parametresi bulunmaktadır. XML, SOAP ve Binary Serialization olarak 3 farklı format üzerinde incelenebilecek olan bu kavram her birinde farklı avantajlar & dezavantajlar getirmektedir.
Konun daha rahat anlaşılabilmesi açısından bu noktada örnek üzerinden gitmek daha faydalı olacaktır.
Standart bir C# Mobile 5.0 Smart Device Application projesi açarak işe başlıyoruz.
Amacımız XmlSerialization kullanarak datalarını mobil cihaz belleği üzerinde depolayan bir telefon defteri geliştirmek olacaktır.
Şekildeki formu tasarlayarak uygulamamıza devam ediyoruz :
Senaryoya göre kullanıcı uygulamayı çalıştırdığında Yükle button’ una basacak ; “eğer var ise” XML Dökümanı üzerinden ArrayList Deserialize edilecek ve içerisindeki tüm TelefonBilgisi objeleri ListView kontrolü içerisine eklenecektir.
İlk olarak kod tarafında şekildeki sınıfı oluşturuyoruz.
Şekilde görülebileceği üzere Form’ umuz yüklendiği noktada global’ de tanımlanan xSER isimli XmlSerializer referansını yeni bir instance’ a eşitliyoruz.
Bu noktada dikkat edilmesi gereken nokta XmlSerializer nesnesinin constructer’ ında nesnenin serialize edebileceği tipleri belirlememiz gerekmektedir. Dikkat edilecek olursa ilk parametrede ArrayList tipi gonderilir iken ikinci parametrede TelefonBilgi isimli tip gönderilmiştir. Tipler doğru gönderilmediği taktirde nesnemiz ne serialize ne de deserialize işlemi gerçekleştirebilecektir.
Uygulama ana ekran’ ı üzerinde ilk olarak Yükle button’ una basarak ArrayList’ in oluşmasını sağlıyoruz. İlk noktada TelefonData.xml dökümanı olmadığı için herhangi bir telefon datası gelmemektedir.
Bir sonraki adımda birkaç telefon datası ekliyoruz :