Windows Phone 8 için güncel pil durumunu görebileceğimiz bir uygulama geliştireceğiz.
Bu uygulamanın geliştirilmesi sırasında Battery, PhoneApplicationPage, ApplicationBar, TimeSpan gibi yapıları kullandığımız kodlar yazacağız.
Öncelikle BatteryLevel isimli yeni bir Windows Phone App projesi oluşturalım;
Proje oluşturduktan sonra gelen Windows Phone Platform versiyon seçim penceresinde Windows Phone OS 8.0 seçeneğinin seçili olduğundan emin olmalıyız;
MainPage.xaml dosyasını aşağıdaki gibi güncelleyelim;
<Grid x:Name=”LayoutRoot” Background=”Transparent”> <Grid.RowDefinitions> <RowDefinition Height=”Auto”/> </Grid.RowDefinitions>
<StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
<TextBlock Text="PİL SEVİYESİ" Style="{StaticResource PhoneTextNormalStyle}" Margin="12,0"/>
</StackPanel>
<TextBlock HorizontalAlignment="Stretch" Margin="0,0,70,-125" TextWrapping="Wrap" Text="- / 100" Name="lblRemainingChargePercent" VerticalAlignment="Bottom" Width="340"/>
<TextBlock HorizontalAlignment="Stretch" Margin="35,0,105,-180" TextWrapping="Wrap" Text="- / 100" Name="lblRemainingDischargeTime" VerticalAlignment="Bottom" Width="340"/> </Grid>
<phone:PhoneApplicationPage.ApplicationBar> <shell:ApplicationBar IsVisible=”True”> <shell:ApplicationBarIconButton IconUri=”/Assets/appbar.refresh.png” Text=”Güncelle” Click=”RefreshBatteryLabel” /> </shell:ApplicationBar> </phone:PhoneApplicationPage.ApplicationBar></pre>
İki TextBlock nesnesinde güncel pil durumunu göstereceğiz. Ayrıca eklediğimiz ApplicationBar sayesinde telefonun altında bir güncelleme butonu konumlandırmış olacağız.
ApplicationBar‘a eklediğimiz ApplicationBarIconButton nesnesine basıldığında RefreshBatteryLabel() method’unun tetiklenmesini sağlıyoruz.
MainPage.xaml.cs dosyasına RefreshBatteryLevel() method’unu ekleyelim;
private void RefreshBatteryLabel(object sender, EventArgs e) { Battery Pil = Battery.GetDefault(); int Yuzde = Pil.RemainingChargePercent; int Gun = Pil.RemainingDischargeTime.Days; int Saat = Pil.RemainingDischargeTime.Hours; int Dakika = Pil.RemainingDischargeTime.Minutes; string SarjYuzdesi = string.Format("Kalan pil : {0} / 100", Yuzde); string SarjSuresi = "Kalan şarj süresi : "; if (Gun > 0) { SarjSuresi += string.Format("{0} gün ", Gun); } if (Saat > 0) { SarjSuresi += string.Format("{0} saat ", Saat); } if (Dakika > 0) { SarjSuresi += string.Format("{0} dakika ", Dakika); } lblRemainingChargePercent.Text = SarjYuzdesi; lblRemainingDischargeTime.Text = SarjSuresi; }
Son olarak, MainPage sınıfının constructor‘ında RefreshBatteryLevel() method’unu çağırırsak, uygulama ilk açıldığında pil seviyesi güncellenmiş olur;
RefreshBatteryLabel(null, null); Uygulamayı çalıştırdığımızda aşağıdaki ekran görüntüsünü görüyor olmamız lazım; ![Battery Level Windows Phone 8 Application](/assets/uploads/2012/12/BatteryLevel3.png) Projenin kodlarını buradan indirebilirsiniz.
Senior Software Engineer, @Microsoft
Ada ve Ege'nin babası ;)
Makale Adedi: 484