|
Hanya bagi ~ bagi
-
Sebagai dukungan dari Microsoft Indonesia kepada Mahasiswa, Microsoft memberikan submission secara GRATIS ke marketplace Windows Phone. Beberapa Mahasiswa Student Partner Indonesia dipilih untuk membantu semua mahasiswa Indonesia memperoleh submission apps gratis ini. Saat aplikasi kalian ingin disubmit ke marketplace, ada hal-hal yang perlu diperhatikan: 1. Deskripsi aplikasi harus menggunakan bahasa english, meskipun aplikasi kamu menggunakan bahasa indonesia. 2. Image yang dibutuhkan harus berformat .png, dan harus sesuai dengan ukuran image yang akan diupload. ( Large mobile app tile - File type: PNG 173 x 173px, Small mobile app tile - File type: PNG 99 x 99px, Large PC app tile - File type: PNG 200 x 200px, Background art - File type: PNG 1000 x 800px, Screenshots - File type: PNG 480 x 800px), pengambilan screenshoot harus menggunakan emulator WP7 dengan zoom 100%. Contoh: http://msdn.microsoft.com/en-us/library/gg442300(v=vs.92).aspx 3. Aplikasi bisa beradaptasi dengan 2 thema (dark dan light), point ini harus dilakukan tahap pengetesan dahulu. 4. Jika Aplikasi menggunakan resource yang berhubungan dengan privacy pengguna (misalnya lokasi, gps), anda harus membuat policy atau pemberitahuan terlebih dahulu. 5. Form point-point diatas bisa juga kamu dapatkan pada file https://skydrive.live.com/redir.aspx?cid=3543a916eed05fb8&resid=3543A916EED05FB8!936&parid=undefined 6. Pada aplikasi kalian, harus di set terlebih dahulu neutral language, contoh: http://blogs.msdn.com/b/madenwal/archive/2011/07/19/windows-phone-app-submission-error-the-neutralresourcelanguage-attribute-is-missing-on-the-entry-assembly-2003.aspx 7. Setelah point-point diatas sudah dipenuhi, kamu bisa submit aplikasi secara gratis kirim ke email alysangadji[at]hotmail.com, subject: Submission WP 7 – [nama app]. Contoh aplikasi dan beberapa yang harus dipersiapkan, bisa didownload disini.
|
-
Kita semua tau, khususnya mahasiswa tentang situs http://yeahmahasiswa.com dimana situs tersebut menampilkan judul, gambar-gambar yang unik dan lucu-lucu. Kebanyakan ceritanya diangkat dari kisah mahasiswa. Hingga sekarang situs tersebut tiap harinya memiliki pengunjung sekitar 80 orang.  Pada kesempatan Nokia Lumia Challenge, saya berkesempatan membuat apps yang berjudul yeahMahasiswa dengan mengambil content dari situs tersebut. Pengguna Windows Phone dapat menikmati content YeahMahasiwa pada app ini dan berbagi bersama teman melewati social networking (facebook). dibawah ini merupakan screen shootnya:   Aplikasi ini sudah bisa dinikmati pada Windows Phone 7 kamu..

|
-
Dear All, Tahap 1 dan 2 usai sudah, akhirnya MSP region Jabodetabek memiliki MSP baru. Selamat buat MSP baru, ini merupakan awal dari kesuksesan kalian. masing-masing dari MSP Indonesia memiliki tanggung jawab untuk memberikan yang terbaik bagi dirinya sendiri, orang sekitarnya, dan Negaranya khususnya dalam hal teknologi. Berikut adalah nama-nama Mahasiswa yang menyandang status sebagai Microsoft Students Partner:  CONGRATULATION…
|
-
Pengguna saat menggunakan sebuah aplikasi atau games, yang diharapkan adalah umpan balik dari aplikasi terhadap aksi yang dilakukan oleh pengguna tersebut. Misalnya pada sebuah games pengguna mendapatkan skor dari permainan yang dia lakukan, keluarnya suara dari device saat memperbesar atau memperkecil volume handphone, dan lain-lain. Pada semua device wajib memiliki fitur-fitur tersebut dan sebagai pengembang aplikasi kita dapat memanfaatkan banyak fitur yang terdapat pada device. Pada post ini, saya akan memberikan contoh bagaimana kita dapat menimbulkan short vibration (getaran pendek) pada sebuah device Windows Phone 7 saat kita melakukan sebuah aksi (menekan sebuah button). Kita dapat menggunakan class VibrateController yang terletak pada namespace Microsoft.Devices. Pada kelas tersebut terdapat dua method yaitu Start dan Stop, dan kita dapat mengambil waktu getaran (Time Span) yang dapat memberitahukan berapa lama device untuk bergetar.  Code C# : //untuk durasi selama 2 detik
//tentukan dulu panjang waktu yang ingin digunakan
var durattion = new TimeSpan(0, 0, 2);
//Start Vibration
VibrateController.Default.Start(durattion);
//fungsi stop vibration
VibrateController.Default.Stop();
//untuk durasi selama 5 detik
//tentukan dulu panjang waktu yang ingin digunakan
var durattion = new TimeSpan(0, 0, 5);
VibrateController.Default.Start(durattion);
Semoga bermanfaat… 
|
-
 Selama ini kita mengetahui bahwa pada Windows Phone 7 kita dapat mengganti backgroud pada theme WP7 yaitu dark atau light. Jika kita ingin mengembangkan aplikasi pada OS mobile tersebut, hal tersebut harus sangat diperhatikan, karena pengguna setiap saat dapat mengganti background tersebut sesukanya. Sehingga developer wajib membuat aplikasi yang dapat mengatasi pergantian background tersebut.  Pada contoh berikutnya, saya akan membuat apps sederhana yang menampilkan 2 buah textblock dan 2 buah textbox dengan beralaskan grid menggunakan backgroud hitam (black). Pada theme dark, aplikasi dapat terlihat seperti biasa-biasa saja, textblock dan textbox pun dapat terlihat semestinya. Tetapi jika theme diganti menggunakan background Light, dapat terlihat pada gambar dibawah:  textblock dan textbox yang saya gunakan tidak terlihat pada apps tersebut. Ini dikarenakan secara default setiap control yang kita gunakan menyesuaikan dengan thema yang digunakan, jika background pada grid tersebut saya gunakan transparant, kedua control tersebut pasti terlihat karena control tersebut berubah warna hitam sehingga akan terlihat pada theme light, tetapi karena background yang saya gunakan hitam, jadi kedua control tersebut tidak terlihat. Cara mengatasi agar kedua control tersebut dapat terlihat pada grid yang kita tetapkan dengan warna hitam, kita dapat menambahkan sebuah style pada control tersebut atau sebuah nilai warna yang tetap. Pada control textblock, kita dapat menetapkan warna foregroundnya secara tetap dengan warna putih (white): <StackPanel Orientation="Vertical">
<TextBlock Foreground="White" Height="100" Style="{StaticResource PhoneTextTitle2Style}" Text="Input One : "></TextBlock>
<TextBlock Foreground="White" Style="{StaticResource PhoneTextTitle2Style}" Text="Input Two : "></TextBlock>
</StackPanel>
Sedangkan untuk control textbox, anda bisa menambahkan style pada gudang resource yang kita tempatkan pada app.xaml:
<Application.Resources>
<ControlTemplate x:Key="PhoneDisabledTextBoxTemplate" TargetType="TextBox">
<ContentControl x:Name="ContentElement" BorderThickness="0" HorizontalContentAlignment="Stretch" Margin="{StaticResource PhoneTextBoxInnerMargin}" Padding="{TemplateBinding Padding}" VerticalContentAlignment="Stretch"/>
</ControlTemplate>
<Style x:Key="TextBoxStyle1" TargetType="TextBox">
<Setter Property="FontFamily" Value="{StaticResource PhoneFontFamilyNormal}"/>
<Setter Property="FontSize" Value="{StaticResource PhoneFontSizeMediumLarge}"/>
<Setter Property="Background" >
<Setter.Value>
<SolidColorBrush Color="LightGray"/>
</Setter.Value>
</Setter>
<Setter Property="Foreground" Value="{StaticResource PhoneTextBoxForegroundBrush}"/>
<Setter Property="BorderBrush" Value="{StaticResource PhoneTextBoxBrush}"/>
<Setter Property="SelectionBackground" Value="{StaticResource PhoneAccentBrush}"/>
<Setter Property="SelectionForeground" Value="{StaticResource PhoneTextBoxSelectionForegroundBrush}"/>
<Setter Property="BorderThickness" Value="{StaticResource PhoneBorderThickness}"/>
<Setter Property="Padding" Value="2"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TextBox">
<Grid Background="Transparent">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal"/>
<VisualState x:Name="MouseOver"/>
<VisualState x:Name="Disabled">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="EnabledBorder">
<DiscreteObjectKeyFrame KeyTime="0">
<DiscreteObjectKeyFrame.Value>
<Visibility>Collapsed</Visibility>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="DisabledOrReadonlyBorder">
<DiscreteObjectKeyFrame KeyTime="0">
<DiscreteObjectKeyFrame.Value>
<Visibility>Visible</Visibility>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
<VisualState x:Name="ReadOnly">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="EnabledBorder">
<DiscreteObjectKeyFrame KeyTime="0">
<DiscreteObjectKeyFrame.Value>
<Visibility>Collapsed</Visibility>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="DisabledOrReadonlyBorder">
<DiscreteObjectKeyFrame KeyTime="0">
<DiscreteObjectKeyFrame.Value>
<Visibility>Visible</Visibility>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="DisabledOrReadonlyBorder">
<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneTextBoxBrush}"/>
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="DisabledOrReadonlyBorder">
<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneTextBoxBrush}"/>
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="DisabledOrReadonlyContent">
<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneTextBoxReadOnlyBrush}"/>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
</VisualStateGroup>
<VisualStateGroup x:Name="FocusStates">
<VisualState x:Name="Focused">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="EnabledBorder">
<DiscreteObjectKeyFrame KeyTime="0">
<DiscreteObjectKeyFrame.Value>
<SolidColorBrush Color="White"/>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="EnabledBorder">
<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneTextBoxEditBorderBrush}"/>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
<VisualState x:Name="Unfocused"/>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Border x:Name="EnabledBorder" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Margin="{StaticResource PhoneTouchTargetOverhang}">
<ContentControl x:Name="ContentElement" BorderThickness="0" HorizontalContentAlignment="Stretch" Margin="{StaticResource PhoneTextBoxInnerMargin}" Padding="{TemplateBinding Padding}" VerticalContentAlignment="Stretch"/>
</Border>
<Border x:Name="DisabledOrReadonlyBorder" BorderBrush="{StaticResource PhoneDisabledBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="Transparent" Margin="{StaticResource PhoneTouchTargetOverhang}" Visibility="Collapsed">
<TextBox x:Name="DisabledOrReadonlyContent" Background="Transparent" Foreground="{StaticResource PhoneDisabledBrush}" FontWeight="{TemplateBinding FontWeight}" FontStyle="{TemplateBinding FontStyle}" FontSize="{TemplateBinding FontSize}" FontFamily="{TemplateBinding FontFamily}" IsReadOnly="True" SelectionForeground="{TemplateBinding SelectionForeground}" SelectionBackground="{TemplateBinding SelectionBackground}" TextAlignment="{TemplateBinding TextAlignment}" TextWrapping="{TemplateBinding TextWrapping}" Text="{TemplateBinding Text}" Template="{StaticResource PhoneDisabledTextBoxTemplate}"/>
</Border>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Application.Resources>
source style from : http://windowsphonegeek.com
Pada Page project :
<StackPanel Orientation="Vertical">
<StackPanel Height="100">
<TextBox Style="{StaticResource TextBoxStyle1}" Width="200" ></TextBox>
</StackPanel>
<StackPanel Height="100">
<TextBox Style="{StaticResource TextBoxStyle1}" Width="200" ></TextBox>
</StackPanel>
</StackPanel>
Hasilnya dapat dilihat pada gambar dibawah menggunakan theme light tetapi textblock dan textbox tetap terlihat dan juga pada theme dark, textbox akan menyesuaikan:

Terima kasih, semoga bermanfaat.. 
|
-
 sumber gambar berasal dari buku : PROFESSIONAL WINDOWS® PHONE 7 APPLICATION DEVELOPMENT Pada pengembangan aplikasi mobile, bisa dikatakan deteksi orientasi sangat penting. Pada post ini akan fokus membahasa sekilas tentang orientasi pada device mobile, dimana device dapat mendeteksi pergantian orientasi karena device tersebut memiliki accelerometer. Windows phone 7 dapat memperlihatkan perubahan orientasi menggunakan OrienttationChanged. Saat pengguna (menggunakan device mobile) melakukan perubahan orientasi, event OrientedChanged secara langsung dieksekusi. Pada Visual Studio 2010, kita dapat membuat event tersebut dengan cara sendiri (menggunakan event handler) atau dapat menggunakan method class dasar yaitu OnOrientationChanged. Jika anda ingin melampirkan event handler, dapat memilih PhoneApplicationPage pada page project dan pada properties, double klik pada event OrientationChanged. Hasilnya seperti : private void PhoneApplicationPage_OrientationChanged(object sender,OrientationChangedEventArgs e) { //Code implementasi } Alternatif lain adalah mengganti method dasar dan sekelas dengan OnOrientationChanged : protected override void OnOrientationChanged(OrientationChangedEventArgs e) { base.OnOrientationChanged(e); //Code implementasi } Di saat pembuatan project baru, kita dapat membuat aplikasi kita mendukung (support) orientasi landscape dan portrait dengan 2 cara, pertama dengan menggunakan code xaml : < phone:PhoneApplicationPage x:Class=”ApplicationLayouts.MainPage” ... SupportedOrientations=”Portrait” > atau pada code C# : *pada post ini penulis mencontohkan menggunakan C#. SupportedOrientations = SupportedPageOrientation.Portrait | SupportedPageOrientation.Landscape; Pada contoh dibawah ini, memberikan 5 buttun dengan posisi yang berbeda. Pada saat diubah dari protrait ke landscape, posisi button tersebut semakin mendekat antar button tersebut, sehingga diperlukan ScroolViewer agar posisi tidak berubah: *tanpa socrollViewer  *menggunakan scroolViewer (posisi 5 button tersebut dipertahankan tetapi dibutuhkan scrool kebawah untuk melihat button lainnya.  code xaml : 1: <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
2: <ScrollViewer HorizontalAlignment="Stretch" VerticalAlignment="Stretch" VerticalScrollBarVisibility="Auto">
3: <Grid Height="800">
4: <Button Content="TopLeft" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="20,190,0,0" Width="200" />
5: <Button Content="TopRight" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0,190,20,0" Width="200" />
6: <Button Content="BottomLeft" HorizontalAlignment="Left" VerticalAlignment="Bottom" Margin="20,0,0,20" Width="200" />
7: <Button Content="BottomRight" HorizontalAlignment="Right" VerticalAlignment="Bottom" Margin="0,0,20,20" Width="200" />
8: <Button Content="Center" Margin="0" Height="200" Width="200" />
9: </Grid>
10: </ScrollViewer>
Diatas merupakan sedikit tehnik dalam menangani perubahan orientasi pada aplikasi yang ingin kita kembangkan pada windows phone 7, terima kasih.
|
-
Pada windows phone, dasarnya adalah Silverlight, sehingga satu cara untuk memainkan audio dan video menggunakan element Media Element. namun menggunakan element tersebut untuk mengakses suara masih terlalu berat. Ketika kita bermain dan berhenti suara pendek, kita bisa memanfaatkan dukungan xna untuk bermain efek suara. Class pada xna disebut SoundEffect yang terdapat pada Microsoft.Xna.Framework. untuk menggunakan library ini dengan cara menambahkan referensi Microsoft.Xna.Framework pada project. Code dibawah dalam penggunaan fitur ini : (pada project sample pada post ini, menggunakan resource sound amb.wav). public MainPage()
{
InitializeComponent();
//mendefinisikan resource yang kita gunakan
StreamResourceInfo info = Application.GetResourceStream(
new Uri("source/amb.wav", UriKind.Relative));
amb = SoundEffect.FromStream(info.Stream);
CompositionTarget.Rendering += new EventHandler(CompositionTarget_Rendering);
}
protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
PhoneApplicationService.Current.UserIdleDetectionMode =
IdleDetectionMode.Disabled;
}
protected override void OnNavigatedFrom(NavigationEventArgs e)
{
base.OnNavigatedFrom(e);
PhoneApplicationService.Current.UserIdleDetectionMode =
IdleDetectionMode.Enabled;
}
void CompositionTarget_Rendering(object sender, EventArgs e)
{
Microsoft.Xna.Framework.FrameworkDispatcher.Update();
}
private void Grid_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
amb.Play();
}
Saat pengguna ingin memaikan sound effect ambulance (amb.wav), bisa langsung kaya melakukan “tap” pada layar device tersebut. Sehingga code sample pada desainnya (xaml) :
<!--ContentPanel - place additional content here-->
<Grid x:Name="ContentPanel" Margin="12,17,12,49" Grid.RowSpan="2"
MouseLeftButtonDown="Grid_MouseLeftButtonDown">
<Image Source="source/384.png" Stretch="None" Margin="0,-117,0,0" />
</Grid>
Hasilnya : Source code dapat didownload disini.

|
-
Windows phone application karena dasarnya adalah Silverlight, kita dapat menggunakan page navigation untuk berpindah ke halaman yang berbeda. Banyak hal yang dapat digunakan dengan navigation page ini, selain berpindah halaman kita juga dapat mempengaruhi halaman berikutnya dari code yang teradapat pada halaman pertama. pada post ini saya akan memberikan contoh berpindah halaman dengan memperngaruhi halaman tersebut dengan warna dan perpindahan data memanfaatkan query pada navigation. berpindah halaman dapat digunakan code : //pada page pertama
this.NavigationService.Navigate(new Uri("/PageTwo.xaml", UriKind.Relative));
e.Complete();
e.Handled = true;
//pada page kedua
this.NavigationService.GoBack();
e.Complete();
e.Handled = true;
dasar dari code diatas adalah berpindah halaman dari page pertama ke page kedua :

pada halaman pertama, textblock “go page 2” ditanamkan method yang isinya perintah untuk melakukan navigation service ke url page 2, dan pada “go to page one” dihalaman 2 ditamkan method navgation service tetapi pada halaman ini menggunakan GoBack, akan kembali pada halaman sebelumnya.
pada contoh ini, terdapat juga method :
protected override void OnManipulationStarted(ManipulationStartedEventArgs args)
{
ContentPanel.Background = new SolidColorBrush(
Color.FromArgb(255, (byte)rand.Next(255),
(byte)rand.Next(255),
(byte)rand.Next(255)));
base.OnManipulationStarted(args);
}
method tersebut akan melakukan perubahan warna secara random pada content panel jika kita melakukan “tap” pada layar windows phone. Sekarang bagaimana memberikan sebuah nilai pada halaman kedua dari halaman pertama? misalnya, kita mengisi nama dan usia pada halaman pertama, dan hasilnya akan ditampilkan pada halaman kedua. dasar dari code untuk perpindahan data :
//pada page pertama
this.NavigationService.Navigate(new Uri("/PageTwo.xaml?parameter1=value¶meter2=value", UriKind.Relative));
//pada page kedua, membuat method onNavigatedTo untuk menerima parameter tersebut, misalnya :
protected override void OnNavigatedTo(NavigationEventArgs e)
{
string Parameter1 = NavigationContext.QueryString["parameter1"];
string Parameter2 = NavigationContext.QueryString["parameter2"];
}
Dari dasar code diatas, sudah dapat membuat perpindahan nilai variabel dari halaman pertama ke halaman berikutnya, nah…sekarang pada project ini akan diperlihatkan caranya :
//code pada halaman pertama
private void button1_Click(object sender, RoutedEventArgs e)
{
if (txtNama.Text != "" && txtUsia.Text != "")
{
string Nama = txtNama.Text;
string usia = txtUsia.Text;
this.NavigationService.Navigate(new Uri("/PageTwo.xaml?nama="+Nama+"&usia="+usia, UriKind.Relative));
}
else
{
MessageBox.Show("Isi nama dan usia");
}
}
//code pada halaman kedua
protected override void OnNavigatedTo(NavigationEventArgs e)
{
string Nama = NavigationContext.QueryString["nama"];
string usia = NavigationContext.QueryString["usia"];
nama.Text = Nama;
Usia.Text = usia;
base.OnNavigatedTo(e);
}
Source code bisa didowload disini, Semoga bermanfaat.. 
|
-
Mungkin banyak yang berpikir membuat apps pada mobile device tidak mudah, atau harus belajar lama untuk memahaminya. Menurut saya, membuat apps pada windows phone sangatlah mudah, karena dengan tools yang sangat mendukung dan resource pembelajaran yang sangat mudah didapatkan. Informasi seputar Windows phone bisa dilihat pada situs http://create.msdn.com, dan tools yang dapat anda gunakan untuk membuat apps pada Windows Phone [WP] dapat didownload secara garis disini dan versi offline. Pada tools tersebut sudah tersedia: Microsoft Visual Studio 2010 Express for Windows Phone Windows Phone Emulator Windows Phone SDK 7.1 Assemblies Silverlight 4 SDK and DRT Windows Phone SDK 7.1 Extensions for XNA Game Studio 4.0 Microsoft Expression Blend SDK for Windows Phone 7 (Tools Design) Microsoft Expression Blend SDK for Windows Phone OS 7.1 (Tools Design) WCF Data Services Client for Window Phone Microsoft Advertising SDK for Windows Phone Sedangkan Resource tentang Windows Phone bisa anda dapatkan disini: http://msdn.microsoft.com/en-us/library/ff431744(v=vs.92).aspx , pada situs tersebut sangat banyak contoh dengan berbagai masalah dan pemanfaatan teknologi pada windows phone yang dapat kita kembangkan. Ada beberapa filosofi pada design Windows phone yang menurut saya penting bagi pengembang aplikasi pada OS tersebut: Kenapa tampilan windows phone kelihatan datar banget? it's an artistic choice, memang sengaja. Windows phone didesain utk menyampaikan informasi yg dimaksud dengan cepat & jelas, seperti papan-papan petunjuk di airtport, stasiun atau rambu lalu lintas. Oleh Microsoft desain gaya ini disebut Metro design. Biasanya apps di WP menitikberatkan aspek "wow" nya pada animasi, bukan tampilan visual statik. Misalnya animasi transisi antar halaman, kemunculan menu, dan sejenisnya, sehingga memancing user utk mengeksplorasi apps anda lebih dalam. kenapa tema defaultnya hitam? it's also an artistic choice. Ditambah lagi alasan konsumsi daya. Theme warna hitam sangat-sangat hemat daya. Umumnya WP menggunakan teknologi layar OLED. OLED tidak menggunakan backlight seperti LCD. Sehingga jumlah daya yg dikonsumsi OLED tergantung warna dan tingkat kecerahan/brightness yg mau ditampilkan. Untuk tema hitam dg tulisan putih, energi yg dibutuhkan hanya utk menampilkan tulisan saja, bisa dibilang nyaris tdk mengkonsumsi daya. Sebaliknya, kalau tema putih dg tulisan hitam teknologi OLED justru dpt mengkonsumsi daya lebih byk daripada LCD biasa. filosofi design WindowsPhone: dari buku "101 Windows Phone 7 Application" Pada saat saya menulis post ini, Windows phone pada versi 7.5 atau disebut “mango”. Oke, sekarang bisa dimulai dengan membuka Visual Studio 2010 dan New Project, pilih Silverlight for Windows phone dan akan terlihat beberapa template yang sudah tersedia:  Program pertama kita akan membuat apps memanfaatkan Event handler dari sebuah control button pada windows Phone, saat sebuah Event Click terjadi akan memanggil sebuah fungsi didalamnya, misalnya Page name kita rubah menjadi Hai, Guest. hampir setiap control memiliki banyak event, sebuah fungsi yang berbeda-beda tergantung kejadian apa yang kita inginkan pada control tersebut. 
Code C#: private void
btnPush_Click(object sender, RoutedEventArgs e)
{ PageTitle.Text = "Hai,
Guest";}
Code Xaml :
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<Button Content="Push Button" x:Name="btnPush" Click="btnPush_Click"
Margin="64,104,62,406"></Button> </Grid>
Program kedua kita akan membuat feed sederhana, dimana program ini membaca xml dari sebuah rss feed pada situs kompas.com, data xml yang saya ambil yaitu Liga Indonesia dengan link: http://www.kompas.com/getrss/bolaindonesia. Pada contoh ini saya memanfaatkan webclient sebagai class untuk mengambil data tersebut.

private void LoadData()
{
WebClient webClient = new WebClient();
webClient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(webClient_DownloadStringCompleted);
webClient.DownloadStringAsync(new System.Uri("http://www.kompas.com/getrss/bolaindonesia"));
}
void webClient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
try
{
XElement xmlTwits = XElement.Parse(e.Result);
listSimple.ItemsSource = from p in xmlTwits.Descendants("item")
select new RSSItem
{
Title = p.Element("title").Value,
Link = p.Element("link").Value,
Description = p.Element("description").Value
};
}
catch { }
}
Beberapa Control page yang tersedia pada Windows Phone
Pivot Control, yaitu sebuah antarmuka pengguna tab dimana untuk berpindah ke tab berikutnya hanya memilih salah satu header. gaya antar muka ini biasanya menonjol pada Mail built-in, Calender dan beberapa pengaturan aplikasi.

Panorama Control, Control ini terdapat pada namespace Microsoft.Phone.Controls, panorama nampak sedikit mirip dengan pivot, tetapi Panorama memiliki title pada template tersebut, judul/header setiap content. Untuk Panorama Horizontal memiliki lebar maksimum 2 layar (960 pixel) dan tata letak setiap item bisa kita tentukan sendiri.

Contoh Panorama:

Semoga bermanfaat dan terus berkarya…

bergabung di groups facebook student WP7
|
-
Saat kita membuat beberapa page pada Apps Windows phone, terjadi beberapa tahap dalam perpindahan antar page tersebut. Salah satunya adalah sebuah kejadian transisi perpindahan dari page pertama ke page kedua, sebaliknya ataupun ke page lainnnya. Code dibawah ini merupakan perpindahan dari page 1 ke page 2 dengan code C#: private void Button_Click(object sender, RoutedEventArgs e)
{
NavigationService.Navigate(new Uri("/Page2.xaml", UriKind.Relative));
}
Code diatas hanya mengarahkan kita pada page2, tetapi tidak terjadi sebuah transisi yang cukup untuk memberitahukan kepada pengguna bahwa aplikasi tersebut terjadi aksi dan berpindah halaman. Pada Windows Phone, kita dapat membuat transisi tersebut dengan mudah. Anda membutuhkan sebuah toolkit yang bisa anda download di http://silverlight.codeplex.com/ (disarankan anda mendownload toolkit tersebut pada versi yang paling baru, november 2011).
Sumber gambar: http://www.windowsphonegeek.com (Gambar sebuah transisi perpindahan dari MainPage ke page1 atau Page2).
Setelah anda mendownload dan menginstall toolkit tersebut, tambahkan reference pada project anda: Microsoft.Phone.Controls.Toolkit. Setiap halaman yang anda inginkan untuk melakukan transisi tambahkan namespace pada code xaml: xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit", dan code dibawah ini:
<toolkit:TransitionService.NavigationInTransition>
<toolkit:NavigationInTransition>
<toolkit:NavigationInTransition.Backward>
<toolkit:TurnstileTransition Mode="BackwardIn"/>
</toolkit:NavigationInTransition.Backward>
<toolkit:NavigationInTransition.Forward>
<toolkit:TurnstileTransition Mode="ForwardIn"/>
</toolkit:NavigationInTransition.Forward>
</toolkit:NavigationInTransition>
</toolkit:TransitionService.NavigationInTransition>
<toolkit:TransitionService.NavigationOutTransition>
<toolkit:NavigationOutTransition>
<toolkit:NavigationOutTransition.Backward>
<toolkit:TurnstileTransition Mode="BackwardOut"/>
</toolkit:NavigationOutTransition.Backward>
<toolkit:NavigationOutTransition.Forward>
<toolkit:TurnstileTransition Mode="ForwardOut"/>
</toolkit:NavigationOutTransition.Forward>
</toolkit:NavigationOutTransition>
</toolkit:TransitionService.NavigationOutTransition>
Jika code diatas sudah terdapat pada setiap halaman, rubah sebuah baris code C# pada App.xaml.cs:
awal : RootFrame = new PhoneApplicationFrame(); –--> RootFrame = new TransitionFrame();
Run Aplikasi anda dan perhatikan perpindahannya..Semoga bermanfaat 
|
-
Jika kalian ingin membuat aplikasi pada Windows Phone yang membutuhkan sebuah penyimpanan, Isolated Storage merupakan class setting yang digunakan untuk tujuan tersebut. Isolated Storage terdapat pada namespace System.IO.IsolatedStorage, keseluruhan file penyimpanan yang kalian buat dapat ditulis dan dibaca pada sebuah penyimpanan yang terisolasi. Hal ini bukan hanya terbatas pada halaman tertentu pada aplikasi kalian, tetapi semua halaman (page) dapat melakukan penyimpanan file. Pada bahasa pemrograman C#, anda bisa melihat contoh dibawah ini, dimana kita dapat menyimpan sebuah file dan menyambilnya lagi (Penyimpanan ini bersifat sementara | temporary): public void StoreXml(string FileXml, string NamaFile)
{
// membuat sebuah penyimpanan
var storage = IsolatedStorageFile.GetUserStoreForApplication();
if (storage.DirectoryExists("isolatedStorageExample") == false)
{
// jika terdapat directory yang serupa, maka akan dihapus
storage.CreateDirectory("isolatedStorageExample");
}
if (storage.FileExists(NamaFile))
{
// if file already exists, delete it to reset
storage.DeleteFile(NamaFile);
}
//pada contoh ini saya menyimpan file string dalam format xml
using (var storageFile = storage.CreateFile("isolatedStorageExample\\" + NamaFile))
{
// create the file and serialize the value
// untk XmlSerializer dapat menggunakan namespace System.Xml.Serialization;
var xmlSerializer = new XmlSerializer(typeof(string));
xmlSerializer.Serialize(storageFile, FileXml);
}
}
Code diatas merupakan sample cara penyimpanan file aplikasi yang kita buat pada window phone, file tersebut akan tersimpan sementara pada penyimpana yang terisolasi pada windows phone.
public string RetriveXml(string namaFile)
{
var storage = IsolatedStorageFile.GetUserStoreForApplication();
if (storage.DirectoryExists("isolatedStorageExample")
&& storage.FileExists("isolatedStorageExample\\" + namaFile))
{
// if file exists in directory, open the file to read
using (var storageFile =
storage.OpenFile("isolatedStorageExample\\" + namaFile, FileMode.Open))
{
var xmlSerializer = new XmlSerializer(typeof(string));
// deserialize and return the value
return xmlSerializer.Deserialize(storageFile).ToString();
}
}
return "Guest";
Code diatas merupakan cara agar kita mengambil lagi file yang telah tersimpan sebelumnya. Setelah kedua fungsi tersebut jadi, maka anda bisa memanggil fungsi tersebut sesuai kebutuhan, contoh:
mengambil kembali file yang telah tersimpan
//RetriveXml("[nama file");
RetriveXml("FileIsolatedStorageExample.xml");
menyimpan file
//StoreXml([nama string], "[nama file]");
StoreXml(FileXml, "FileIsolatedStorageExample.xml");
Terima kasih, semoga bermanfaat 
AlySangadji | alysangadji.kaminewbie.net
|
-
Workshop sebelumnya "Training Asp.net + Microsoft Virtual Academy” pada tanggal 10 september 2011 yang berjalan sukses, dilanjutkan pada tanggal 24 September 2011 dengan Workshop HTML5 + Windows 8 versi Preview Developer dimana peserta berasal dari mahasiswa Institut Pertanian Bogor dan Universitas pakuan dengan jumlah peserta 65 orang. Pada workshop ini membahas tentang perkembangan HTML 5 dan membuat beberapa animasi menggunakan HTML 5, CSS, dan JavaScript. Peserta langsung mempraktekkan pada laptop masing-masing setiap tahapan dan langsung dapat melihat secara langsung hasilnya pada browser yang tersedia pada laptop mereka. Tidak lupa pada workshop ini disampaikan perkenalan tentang Sistem Operasi versi “beta” dari microsoft yang akan direncanakan rilis pada tahun 2012 yaitu Windows 8, peserta dikenalkan bagaimana mengoperasikan Windows 8 dan beberapa teknologi yang digunakan dalam membangun Sistem Operasi ini, seperti dalam User Interfacenya menggunakan HTML 5 dan javascript. Sebagai pemanis dalam workshop ini, ada beberapa pertanyaan yang ditujukan ke perserta, yang berhasil menjawab mendapatkan beberapa hadiah termasuk kaos Imagine Cup yang diberikan dari Microsoft Indonesia. Dibawah ini merupakan beberapa dokumentasi acara tersebut : *Para peserta Workshop   *Pemberian Hadiah kepada peserta yang berhasil menjawab pertanyaan  *Para pembicara HTML 5 dan Windows 8 Preview Developer  Kegiatan ini akan terus berlanjut untuk meningkatkan pemahaman bagi mahasiswa tentang teknologi yang selalu berkembang, sehingga kemampuan setiap mahasiswa bertambah dan siap untuk menghadapi dunia kerja, terima kasih 
|
-
Berbagi sangatlah penting dalam dunia teknologi, dengan tujuan ingin berbagi itulah hingga sekarang Himpunan Mahasiswa Ilmu Komputer IPB dan Microsoft Student partner IPB hampir setiap minggunya mengadakan Workshop bagi mahasiswa IT dan Non IT yang ingin lebih mengenal teknologi. Sebelumnya pada Workshop 2.0 | Windows Presentation Foundation (WPF) berjalan sangat sukses, dan pada tanggal 10 september 2011 kemarin kami telah selesai mengadakan workshop .Net 3.0 yang menghadirkan peserta dari Ilmu komputer dan juga non IT lainnya. Workshop tersebut berlangsung selama 5 jam, dari pukul 8 pagi sampai dengan pukul 1 siang. Materi pada Workshop .Net 3.0 melingkupi pengenalan resource pembelajaran local ex : Blog http://students.netindonesia.net/blogs , http://mugi.or.id, http://wss-id.org/, http://geeks.netindonesia.net/, dan beberpa situs lainnya. Pengenalan Microsoft Virtual Academy juga dilakukan pada workshop ini, sehingga mahasiswa dapat belajar mandiri dengan resource yang disediakan oleh microsoft secara gratis. Materi terakhir yaitu training membuat website sederhana dengan memanfaatkan fitur-fitur asp.net yang sudah didukung oleh Visual Studio 2010, ex : Executing Project ASP.NET, Using Control asp.net, Preparing the Sitemap, Using Themes, Skins, and Styles in asp.net, Building the Master Page, Using the Master Page, and etc. Setelah training tersebut selesai, diharapkan peserta dapat memahami konsep pembuatan website dan menggunakan fitur-fitur asp.net. Penjelasan tentang resource local dan Microsoft Virtual Academy (Aly Sangadji)  Training ASP.NET (Hanif Amal Robbani)   Kegiatan tersebut mendapat dukungan dari para peserta sehingga workshop ini semoga akan terus berjalan, terima kasih kepada pengurus Himalkom yang mempersiapkan segala sesuatunya (Oki Maulana dan Tedy) yang menunjang segala fasilitasnya. Workshop selanjutnya akan diadakan hari sabtu tanggal 24 september 2011 dengan tema The next Generation Web with HTML 5 + Windows 8 Preview Developer, bagaimana kelanjutan workshop ini akan segera dipost setelah acara selesai, terima kasih..  Klik untuk memperbesar gambar 
|
-
Selain Teknologi yang banyak ditawarkan oleh perusahaan raksasa ini, Microsoft juga memberikan pelatihan secara gratis untuk kita yang ingin menambah pengetahuan Teknologi dan tentunya pengakuan yang berkompeten. Microsoft Virtual Academy tempat dimana kamu bisa mendapatkan hal – hal tersebut secara gratis. Microsoft Virtual Academy ( MVA ) adalah tempat dan pengalaman belajar yang sepenuhnya berbasis teknologi cloud Microsoft. Anda dapat mengakses berbagai pelatihan online dan menjadi salah satu ahli terkenal dalam komunitas IT Profesional di seluruh dunia. Anda dapat memilih track anda sendiri, mempelajari materinya dan kemudian melakukan pengujian diri. Tentu saja anda mendapatkan point dari setiap pengujian tersebut dalam tingkat Bronze, Silver, Gold atau Platinum. Selain itu, anda juga akan selalu mendapatkan informasi seputar teknologi microsoft. Siapapun dapat mengikuti Microsoft Virtual Academy, anda hanya membutuhkan sebuah account Windows Live ID untuk mendaftar dan menikmati semua sumber pelatihan yang disediakan oleh MVA. Dengan pengetahuan anda tentang teknologi baru Cloud Computing khususnya teknlogi Microsoft, anda secara tidak langsung akan memiliki ketrampilan dalam teknologi ini dan mempunyai bekal untuk menghadapi dunia kerja yang mengarah ke Cloud Computing. Banyak Course yang ditwarkan di MVA berkaitan dengan Teknologi Cloud Microsoft, Segera daftarkan diri anda : *klik gambar dibawah untuk mendaftar di Microsoft Virtual Academy  Pada MVA, terdapat Course Office 365 yang merupakan produk kolaborasi dan perkakas produktivitas Microsoft Office yang sudah anda kenal lama, tapi kali ini tersedia di Cloud. Semua orang dapat bekerja sama dengan mudah melalui akses tanpa batas lokasi untuk menggunakan email, konferensi web, dokumen dan kalender. Di dalamnya tersedia keamanan tingkat bisnis dan didukung oleh Microsoft. Bisnis kecil sampai dengan perusahaan multinasional akan dapat memanfaatkan Office 365 sesuai kebutuhan masing-masing. Course ini terdiri dari tiga pelatihan yaitu : Office 365 for the IT Pro – Platform (Bachelor), Office 365 for the IT Pro – Exchange Online(Master), dan Office 365 for the IT Pro – Lync Online, SharePoint Online & Deployment (Doctor). Anda ditantang mengikuti Kompetisi Office 365 Heroes Competition untuk menyelesaikan tiga pelatihan tersebut untuk mendapatkan hadiah total jutaan rupiah dengan cara menyelesaikan dan mempelajari pelatihan tentang Office 365, sehingga anda mendapatkan manfaat pengetahuan dan juga hadinya, ayo buktikan kamu bisa : *klik gambar dibawah untuk mengetahui informasi lebih lanjut dan mengikuti kompetisi tersebut  Ikuti pelatihannya, dan dapatkan pengetahun yang luar biasa tentang Cloud bersama teknologi Microsoft serta rebut Hadiahnya!! Semoga bermanfaat 
|
-
Pada saat anda membaca judul post ini, pasti sudah sangat mengenal dengan md5 ? yupz, md5 merupakan fungsi hash satu arah yang dibuat oleh Ron Rivest pada tahun 1991, dimana md5 merupakan perbaikan dari md4 setelah md4 berhasil diserang oleh kriptanalis. Agoritma md5 menerima masukan berupa pesan dengan ukuran sembarang dan menghasilkan message digest yang mempunyai panjang 128 bit. Gambaran umum (*gambar ini saya dapatkan dari materi kuliah) : *klik gambar untuk melihat lebih jelas  Langkah – langkah pembuatan message digest secara garis besar : 1. Penambahan bit – bit pengganjal (padding bits) : Pesan ditambahkan sejumlah bit pengganjal sedemikian sehingga panjang pesan (dalam satuan bit) kongruen dengan 448 modulo 512. Jika panjang pesan jumlahnya 448 bit, makan pesan tersebut ditambah dengan 512 bit menjadi 960 bit, jadi panjang bit – bit pengganjal adalah antara 1 sampai 512. Bit – bit pengganjal terdiri dari sebuah bit 1 dan diikuti dengan bit 0 yang menjadi sisanya. 2. Penambahan nilai panjang pesan semula : Pesan yang telah diberi bit – bit pengganjal selanjutnya ditambah lagi dengan 64 bit yang menyatakan panjang pesan semula. Jika panjang pesan >264 maka diambil adalah panjangnya dalam modulo 264. 3. Inisialisasi penyangga (buffer ) MD : MD5 membutuhkan 4 buah penyangga / buffer yang masing – masing panjangnya 4 x 32 = 128 bit. 4 buffer tersebut menampung hasil antara dan hasil akhir. Setiap penyangga diinisialisasi dengan nilai Hexadesimal, ex : 89ABCDEF. 4. Pengolahan pesan dalam block berukuran 512 bit : Pesan dibagi menjadi L buah block yang masing – masing memiliki panjang 512 bit (Y0 s.d YL-1). Setiap block diproses dengan penyangga MD menjadi keluaran 128 bit dan hasil ini disebut proses HMD5. Pada bahasa pemrograman C#, anda dapat dengan mudah mengkonversi sebuah string menjadi bentuk Hash MD5 dengan menambahkan library Security yang sudah tersedia pada .net framework 4, 3.5, 3.0, 2.0, 1.1 dan 1.0. (Using System.Security.Cryptography) : using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Security.Cryptography;
namespace Md5
{
class Program
{
//fungsi mengconversi dari string ek bentuk hash md5
static string ConvertMd5(MD5 md5, string password)
{
int i;
byte[] data = md5.ComputeHash(Encoding.UTF8.GetBytes(password));
StringBuilder sBuilder = new StringBuilder();
for (i=0; i<data.Length; i++)
{
sBuilder.Append(data[i].ToString("x2"));
}
return sBuilder.ToString();
}
static void Main(string[] args)
{
String password = "IniAdalahPasswordSaya";
using (MD5 md5 = MD5.Create())
{
string hasilHash = ConvertMd5(md5, password);
Console.WriteLine("Real text :" + password + "\n\nHash MD5 :" + hasilHash);
}
}
}
}
Sangat mudah bukan ? fitur ini sangat berguna jika anda membuat website dengan asp.net atau sistem lainnya yang membutuhkan keamanan dan kerahasiaan sebuah password atau user id pada sistem anda.
Catatan : pada tahun 1996, Dobbertin melaporkan penemuan kolisi pada algoritma MD5 meskipun kecacatan ini bukan kelemahan yang fatal.
Sumber : Slide kuliah Cryptography dan http://msdn.microsoft.com
|
More Posts Next page »
|
|
|