Kişisel Sayfaları
İlgi Alanları
İş Tecrubesi
Eğitim Geçmişi
Dil Becerileri
Son Forum Aktiviteleri
39Windows Phone için Usergrid servisi niçin mevcut değil
Usergrid sdk indirme bölümünde .Net'e tıkladığımda çıkan sayfada dosya bulunamadı diyor. Dosyalar silindi mi yoksa Windows Phone için usergrid servisi desteklenmiyor mu?
Dispatcher.BeginInvoke metodu arayüzü update etmiyor
Diyelim ki elimde bir liste var. Her bir liste öğesi bir kişiyi temsil ediyor ve kişinin ismini ve numarasını görüntülüyor. Bunun için bir class ya da User control oluşturduğumu varsayalım. "rehber" olarak tanımladığımız dictionary olsun. Bu dictionary nin key leri kişinin ismi, value leri ise o kişinin numarasıdır. Ayrıca kişileri eklediğimiz "kisilistesi" adında bir liste grafik arayüzü olsun. Elimde grafik arayüzü dondurmaya yetecek çoğunlukta kişi olduğu zaman doğal olarak arayüzü dondurmamak ve kullanıcının canını sıkmamak için bir "lstekle" adında bir backgroundworker kullanmam çok mantıklı olacaktır. Bu backgroundworker ın DoWork eventi lstekle_DoWork olarak tanımlayıp aşağıdaki kodu oluşturduğumda kişi itemlerinin bir bir eklenmesini bekliyorum. Ancak windows phone emulatoru tüm kişileri aldıktan sonra grafik arayüze ekliyor. Eğer elimde 10000 tane kişi varsa bu durmda 10 sn boyunca listeye hiçbirşey eklenmiyor sonra aynı anda hepsi birden ekleniyor. Bu durumu nasıl çözebilirim?
private void lstekle_DoWork(object sender, DoWorkEventArgs e)
{
// Dispatcher.BeginInvoke(() => workeris());
foreach (KeyValuePair<string, string> item in rehber)
{
Dispatcher.BeginInvoke(() =>
{
Person kisi = new Person();
kisi.isim.Text = item.Key;
kisi.numara.Text = item.Value;
kisilistesi.Items.Add(kisi);
});}
}
IsolateStorege ile dosya kaydetme
Merhabalar. Yaklaşık 15 gündür sadece dosya okuyup yazmaya uğraşıyorum. Bakmadığım forum ya da api kalmadı ancak başarabilmişdeğilim. Daha önceki sorumdaki programda birkaç değişiklik yaptım.
IsolatedStorageFile user = IsolatedStorageFile.GetUserStoreForApplication();
IsolatedStorageFile group = IsolatedStorageFile.GetUserStoreForApplication();
string sFileuser = "user.txt";
string sFilegroup = "group.txt";
private void listeyaz()
{IsolatedStorageFileStream dataFileuser = user.CreateFile(sFileuser);
dataFileuser.Close();IsolatedStorageFileStream dataFilegroup = group.CreateFile(sFilegroup);
dataFilegroup.Close();StreamWriter swuser = new StreamWriter(new IsolatedStorageFileStream(sFileuser, FileMode.Open, user));
for (int i = 0; i < listeuser.Count; i++)
{
swuser.WriteLine(listeuser[i]);
}
swuser.Close();StreamWriter swgroup = new StreamWriter(new IsolatedStorageFileStream(sFilegroup, FileMode.Open, group));
for (int i = 0; i < listeuser.Count; i++)
{
swgroup.WriteLine(listegroup[i]);
}
swgroup.Close();Application.Current.Terminate();
}private void oku()
{if (File.Exists(sFileuser))
{
MessageBox.Show("sFilegroup exists");if (File.Exists(sFilegroup))
{
MessageBox.Show("sFilegroup exists");
StreamReader readeruser = new StreamReader(new IsolatedStorageFileStream(sFileuser, FileMode.Open, user));while (readeruser.Peek() > -1)
{
listeuser.Add(readeruser.ReadLine());
}
readeruser.Close();StreamReader readergroup = new StreamReader(new IsolatedStorageFileStream(sFilegroup, FileMode.Open, group));
while (readergroup.Peek() > -1)
{
listegroup.Add(readergroup.ReadLine());
}
readergroup.Close();
File.Delete(sFileuser);
File.Delete(sFilegroup);
}
else
{
MessageBox.Show("sFilegroup does not exists");
}
}
else
{
MessageBox.Show("sFileuser does not exists");
}for (int i = 0; i < listeuser.Count; i++)
{
listitem lst = new listitem();
lst.user.Text = listeuser[i];
lst.description.Text = listegroup[i];
LstSample.Items.Add(lst);
}}
Dosyalar kapanmadan önce yazılıyor ancak program tekrar açıldığında okuma fonksiyonu dosyaları görmüyor yani program kapanınca dosyalar siliniyor. O halde windows phone da "storage" diye bir kavram yok mu?
Dosya kaydetme sorunu
Merhabalar. Elimde liste kaydı ekleyen küçük bir program var. Her bir liste item i için iki değer girerek girdiyi ekliyorum ve bunları program kapanınca kaybememek için de isolated storage ile saklıyorum. Listeye ekleyip çıkarmada hiçbir sorunum yok. Sorun dosyaya yazmakta. Önce birkaç girdi ekleyip programı kapatıyorum.Açıldığında eklediklerim olması gerektiği gibi eklenmiş olarak geliyor. Bir tane item silip programı yeniden kapatıp açıyorum. Yine gayet iyi bir şekilde çalışıyor program, sildiğim öğe silinmiş olarak geliyor. Ancak ikinci defa bir girdiyi sildiğimde programı kapatıp açtığımda silmiş olduğum yeniden geliyor ve bundan sonraki silme işlemlerinde liste saçmalıyor, aynı girdiyi defalarca ekliyor. Sorun nerede çözemedim
Listbox ın içindeki custom iteme ulaşmak
Projede custom listbox a item ekliyorum. Bu eklemeyi listelerle yapıyorum. Herbir item iki tane liste elemanına denk geliyor. Ancak listbox a bu item ları ekledikten sonra çıkaramıyorum. Her Lisbox item i samplaData class ı ile tanımlı. Bir item i seçip listbox dan kaldırabiliyorum ancak bu kaldırılan itemleri listelerden de kaldırmam gerek ki bir sonraki okumada kaldırıla itemler silinmiş olarak gelsin. Listbox itemlerini class olarak tanımladığım için LstSample.Selecteditem bana object olarak dönmüyor. Peki seçilen lisbox itemlerindeki textblocklara nasıl ulaşabilirim?
WindowsPhone 'da klasör ve dosya oluşturma
Directory ve file class larını kullanabilirsin:
StorageFolder local = Windows.Storage.ApplicationData.Current.LocalFolder;
Directory.CreateDirectory(local.Path);
File.Create("video.mp4");
Dispatcher.BeginInvoke metodu arayüzü update etmiyor
Windows phone database
Eğer işini görürse isolated storage veya isolated settings kullanabilirsin
IsolateStorege ile dosya kaydetme
Sorun çözüldü. File.Exists(sFileuser) dosya varlığını kontrol edince dosyayı olsa bile görmüyor windows phone. Onun yerine user.FileExists(sFileuser) ile kontrol etmek gerekiyormuş. Ayrıca sadece bu gbilgi de sorunu çözmedi. Yine windows phone şu şekilde okuma yapınca saçmalıyor. Girilen girdileri okuyunca ya eksik alıyor ya da sırasını değiştiriyor.
while (readeruser.Peek() > -1)
{
listeuser.Add(readeruser.ReadLine());
}
Bunu çözmek için şöyle bir yol buldum:
string rawDatauser = readeruser.ReadToEnd();
readeruser.Close();
string[] sepuser = new string[] { "\r\n" };
string[] arrDatauser = rawDatauser.Split(sepuser, StringSplitOptions.RemoveEmptyEntries);
foreach (var d in arrDatauser)
{
listeuser.Add(d);
}
Okunacak metni satır satır yerine bütün olarak alıp sonradan parçalara bölüyorum. Belki bu işi uzatıyor ancak şu an için düzgün çalışan tek algoritma bu
Listbox ın içindeki custom iteme ulaşmak
Cevabınız için çok teşekkür ederim Mehmet Bey. Ancak sorun var. Birkaç tane item ekleyip programı kapatıp tekrar açtığımda eklenenler geliyor. Fakat bir ya da birkaçını sildiğimde programı tekrar kapatıp açtığımda silinenler tekrar geliyor silinmemiş gibi