Memperoleh Status Device dari Windows Phone

Lama tidak berjumpa dengan blog ini. Saya berencana untuk menulis beberapa hal implementasi yang saya sendiri sering lupa sehingga tulisan ini semoga dapat menjadi pengingat jika kemudian hari saya membutuhkan snippet tentang Windows Phone

buku

Saya rasa, saya sudah cukup mengcover sebagian besar hal tentang Windows Phone SDK 7.0 di buku saya yang pertama. Namun kita ketahui SDK 7.1 hadir sejak Oktober tahun lalu dan membawa banyak hal yang tidak dimungkinkan di SDK 7.0. Salah satunya adalah untuk memperoleh informasi mengenai device yang digunakan oleh pengguna.

Sementara kita tidak akan pernah bisa memperoleh nomor telpon,alamat email dan identitas pengguna kecuali user menyediakan nya untu kita, kita masih dapat memperoleh beberapa informasi yang berguna untuk kita misalnya manufaktur yang digunakan, nama device, versi firmware,hardware, total memory yangtersedia, penggunaan memori saat ini, apakah tersedia keyboard fisik dan sumber tenaga yang sedang digunakan oleh device saat ini.Saya melihat informasi tersebut dapat digunakan untuk bagian kode yang ingin dioptimasi hanya pada beberapa jenis device tertentu.

Berbagai informasi tersebut dapat diakses menggunakan :

Saya menggunakan template project DataBound dan menaruh informasi tersebut di method LoadData() di file MainViewModel.cs . Untuk memperoleh DeviceName cukup akses DeviceStatus.DeviceName , untuk DeviceManufacture cukup akses DeviceStatus.DeviceManufacture dan seterusnya. Sangat intuitif

public void LoadData()
        {
            // Sample data; replace with real data
            this.Items.Add(new ItemViewModel() { LineOne = "Device Manufacturer", LineTwo = Microsoft.Phone.Info.DeviceStatus.DeviceManufacturer});
            this.Items.Add(new ItemViewModel() { LineOne = "Device Name", LineTwo = Microsoft.Phone.Info.DeviceStatus.DeviceName});
            this.Items.Add(new ItemViewModel() { LineOne = "Firmware Version", LineTwo = Microsoft.Phone.Info.DeviceStatus.DeviceFirmwareVersion});
            this.Items.Add(new ItemViewModel() { LineOne = "Hardware Version", LineTwo = Microsoft.Phone.Info.DeviceStatus.DeviceHardwareVersion });
            this.Items.Add(new ItemViewModel() { LineOne = "Device Total Memory", LineTwo = Microsoft.Phone.Info.DeviceStatus.DeviceTotalMemory.ToString()});
            this.Items.Add(new ItemViewModel() { LineOne = "Current Memory Usage", LineTwo = Microsoft.Phone.Info.DeviceStatus.ApplicationCurrentMemoryUsage.ToString()});
            this.Items.Add(new ItemViewModel() { LineOne = "Memory Usage Limit", LineTwo = Microsoft.Phone.Info.DeviceStatus.ApplicationMemoryUsageLimit.ToString() });
            this.Items.Add(new ItemViewModel() { LineOne = "Peak Memory Usage", LineTwo = Microsoft.Phone.Info.DeviceStatus.ApplicationPeakMemoryUsage.ToString()});
            this.Items.Add(new ItemViewModel() { LineOne = "Is Keyboard Present", LineTwo = Microsoft.Phone.Info.DeviceStatus .IsKeyboardPresent.ToString()});
            this.Items.Add(new ItemViewModel() { LineOne = "Power Source", LineTwo = Microsoft.Phone.Info.DeviceStatus.PowerSource.ToString()});
 
            this.IsDataLoaded = true;
        }

Jika di Run ,beginilah hasilnya

devicestatus-1devicestatus-2

Berikut kode yang bisa ditilik untuk mempelajari lebih lanjut bisa diperoleh disini .

Share this post: | | | |
Published Sunday, July 22, 2012 5:03 PM by poedja_p

Comments

No Comments
Powered by Community Server (Commercial Edition), by Telligent Systems