Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
92 lines (63 sloc) 5 KB
layout title date author comments category tags
post
Windows Phone 8 için Pil Durumu uygulaması
2012-12-19 10:29
engin.polat
true
C#
application
applicationbar
applicationbariconbutton
battery
batterylifepercent
batteryliferemaining
click
constructor
iconuri
margin
phoneapplicationpage
remainingchargepercent
remainingdischargetime
stackpanel
string.format
textblock
TimeSpan
windows phone
wp8

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>

&lt;StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28"&gt;
    &lt;TextBlock Text="PİL SEVİYESİ" Style="{StaticResource PhoneTextNormalStyle}" Margin="12,0"/&gt;
&lt;/StackPanel&gt;
&lt;TextBlock HorizontalAlignment="Stretch" Margin="0,0,70,-125" TextWrapping="Wrap" Text="- / 100" Name="lblRemainingChargePercent" VerticalAlignment="Bottom" Width="340"/&gt;
&lt;TextBlock HorizontalAlignment="Stretch" Margin="35,0,105,-180" TextWrapping="Wrap" Text="- / 100" Name="lblRemainingDischargeTime" VerticalAlignment="Bottom" Width="340"/&gt;

</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](/assets/uploads/2012/12/BatteryLevel3.png)

Projenin kodlarını buradan indirebilirsiniz.