Rabu, 20 November 2013

UTS | 15 November 2013

Jam adalah salah satu fitur penting pada setiap gadget yang berfungsi sebagai penunjuk waktu. Dan kali ini kita akan belajar bagaimana membuatnya di Platform Windows Phone 7. Sebelum kita memulainya, segera persiapkan tool-tool yang dibutuhkan. Visual Studio Express For Windows Phone beserta Windows Phone emulator mungkin sudah mencukupi. Baik, contoh tampilan aplikasi yang akan kita buat adalah sebagai berikut :
 Simple Clock Portrait
Untuk membuat jam seperti di atas, step-step yang dilakukan adalah sebagai berikut :
Buat project baru bernama Clock. 
SimpleClock Create
 Simpleclock OS Choose

Screenshot aplikasi sudah terlihat.
Simpleclock IDE awal


Perhatikan pada bagi TitlePanel. Ubah TextBlock sesuai dengan nama yang diinginkan. Misalnya sebagai berikut :
XAML header app title

Kemudian ubah bagian ContentPanel seperti berikut :
SimpleClock XAML ContentPanel

 Berikut code XAML lengkapnya :
<phone:PhoneApplicationPage
    x:Class="Clock.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
    xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="768"
    FontFamily="{StaticResource PhoneFontFamilyNormal}"
    FontSize="{StaticResource PhoneFontSizeNormal}"
    Foreground="{StaticResource PhoneForegroundBrush}"
    SupportedOrientations="PortraitOrLandscape" Orientation="Portrait"
    shell:SystemTray.IsVisible="True">

    <!--LayoutRoot is the root grid where all page content is placed-->
    <Grid x:Name="LayoutRoot" Background="Transparent">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>

        <!--TitlePanel contains the name of the application and page title-->
        <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
            <TextBlock x:Name="ApplicationTitle" Text="Testing Application" Style="{StaticResource PhoneTextNormalStyle}"/>
            <TextBlock x:Name="PageTitle" Text="simple clock" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
        </StackPanel>

        <!--ContentPanel - place additional content here-->
        <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <TextBlock Name="txtClock" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="36"/>
        </Grid>
    </Grid>

    <!--Sample code showing usage of ApplicationBar-->
    <!--<phone:PhoneApplicationPage.ApplicationBar>
        <shell:ApplicationBar IsVisible="True" IsMenuEnabled="True">
            <shell:ApplicationBarIconButton IconUri="/Images/appbar_button1.png" Text="Button 1"/>
            <shell:ApplicationBarIconButton IconUri="/Images/appbar_button2.png" Text="Button 2"/>
            <shell:ApplicationBar.MenuItems>
                <shell:ApplicationBarMenuItem Text="MenuItem 1"/>
                <shell:ApplicationBarMenuItem Text="MenuItem 2"/>
            </shell:ApplicationBar.MenuItems>
        </shell:ApplicationBar>
    </phone:PhoneApplicationPage.ApplicationBar>-->

</phone:PhoneApplicationPage>

Untuk membuat jam, dibutuhkan object timer. Pada Silverlight for Windows Phone, object timer tidak bisa diletakkan langsung pada display, tetapi harus dideklarasikan dengan menggunakan code.  Object timer yang digunakan melibatkan class DispatcherTimer. Class DispatcherTimer ada pada System.Windows.Threading. maka dari itu, jangan lupa untuk mencantumkan library pada header.
Berikut code lengkapnya :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
using System.Windows.Threading;

namespace Clock
{
    public partial class MainPage : PhoneApplicationPage
    {
        // Constructor
        public MainPage()
        {
            InitializeComponent();
            //inisialisasi timer
            DispatcherTimer timer = new DispatcherTimer();
            timer.Interval = TimeSpan.FromSeconds(1);
            timer.Tick += OnTimerTick;
            timer.Start();
        }

        void OnTimerTick(object sender, EventArgs args)
        {
            this.txtClock.Text = DateTime.Now.ToString();
        }
    }
}
 

Tidak ada komentar:

Posting Komentar

Review Smartband M5

Halaman Gadget Smart Band M5     Dalam kesempatan kali ini halaman gadget akan mereview sebuah smartband yang sangat murah yang bisa kalian ...