Remainingchargepercent | Engin Polat\'ın Windows 8 , Windows Phone 8 ve C# içerikli programcılık sitesi

Arşiv

Etiketlenen yazılar remainingchargepercent

Windows Phone 8 için Pil Durumu uygulaması

19 December 2012 2 yorum

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;

Battery Level Windows Phone Application Project

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;

Windows Phone 8.0 SDK

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>

İ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

Projenin kodlarını buradan indirebilirsiniz.