Sebelumnya, udah dijelasin apa itu Universal Windows Apps dan cara creating-nya di Visual Studio (Intro - Universal Windows Apps) dan sekarang mari kita buat UWA dengan web service yang ada di artikel Membuat Web Service Sederhana, dan jangan lupa juga baca MVVM Pattern.
Step 2
Untuk isi dari folder Commons silahkan download di http://1drv.ms/1LQJbhz
Step 3
Download Newtonsoft Json disini http://1drv.ms/1HWYkQ4
dan tambahkan reference ke Project Pelindung-Satwa.Windows & Pelindung-Satwa.WindowsPhone
Step 4
Buat class baru di folder Helpers dan beri nama URL.cs
Step 5
Buat class baru di folder Models dan beri nama MAnimals.cs
Supaya tidak bingung nama variabel samakan saja dengan yang ada di Web Service
Step 6
Buat class baru di folder ViewModels dan beri nama VMAnimals.cs
jgn lupa di folder htdocs buat folder Assets dan simpan gambar ini
http://1drv.ms/1Qj3tRE
Step 7
Di Project Pelindung-Satwa.WindowsPhone dan Pelindung-Satwa.Windows buka MainPage.xaml
dan pada MainPage.cs di masing2 project di dalam constructor (Public MainPage())
dan Jreng2 hasilnya akan seperti ini
Mari buka Visual Studionya, let's coding!
Step 1
Buat struktur folder seperti berikut, di Shared Projects
Step 2
Untuk isi dari folder Commons silahkan download di http://1drv.ms/1LQJbhz
Step 3
Download Newtonsoft Json disini http://1drv.ms/1HWYkQ4
dan tambahkan reference ke Project Pelindung-Satwa.Windows & Pelindung-Satwa.WindowsPhone
Step 4
Buat class baru di folder Helpers dan beri nama URL.cs
//URL Web Service yang sebelumnya sudah kita buat public const String BASE = "http://localhost/pelindung_satwa/";
Step 5
Buat class baru di folder Models dan beri nama MAnimals.cs
Supaya tidak bingung nama variabel samakan saja dengan yang ada di Web Service
public String animal_id { get; set; } public String animal_name { get; set; } public String animal_latin { get; set; } public String animal_icon { get; set; } public String animal_desc { get; set; }
Step 6
Buat class baru di folder ViewModels dan beri nama VMAnimals.cs
private ObservableCollection<manimal> collectionAnimal = new ObservableCollection<manimal>(); public ObservableCollection<manimal> CollectionAnimal { get { return collectionAnimal; } set { if (this.collectionAnimal != value) { collectionAnimal = value; RaisePropertyChanged(""); } } } public VMAnimal() { this.LoadUrl(); } private async void LoadUrl() { HttpClient clientlistanimal = new HttpClient(); try { String ResponceResult = await clientlistanimal.GetStringAsync(new Uri(URL.BASE) + "getanimal.php"); DownloadListAnimal(ResponceResult); clientlistanimal.Dispose(); } catch (Exception e) { e.Message.ToString(); } } private void DownloadListAnimal(String Result) { try { JObject jresult = JObject.Parse(Result); JArray jdata = JArray.Parse(jresult.SelectToken("item").ToString()); foreach (JObject item in jdata) { MAnimal manimal = new MAnimal(); manimal.animal_id = item.SelectToken("animal_id").ToString(); manimal.animal_name = item.SelectToken("animal_name").ToString(); manimal.animal_latin = item.SelectToken("animal_latin").ToString(); manimal.animal_icon = URL.BASE + "Assets/" + item.SelectToken("animal_icon").ToString(); manimal.animal_desc = item.SelectToken("animal_desc").ToString(); collectionAnimal.Add(manimal); } } catch (Exception) { throw; } }
jgn lupa di folder htdocs buat folder Assets dan simpan gambar ini
http://1drv.ms/1Qj3tRE
Step 7
Di Project Pelindung-Satwa.WindowsPhone dan Pelindung-Satwa.Windows buka MainPage.xaml
<ListView x:Name="lvAnimal" Margin="28,25,0,-1" ItemsSource="{Binding CollectionAnimal}"> <ListView.ItemTemplate> <DataTemplate> <Grid Height="93" Width="400"> <Grid.ColumnDefinitions> <ColumnDefinition Width="25"/> <ColumnDefinition Width="80"/> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <Ellipse Width="70" Height="70" HorizontalAlignment="Left" Margin="0,10" Grid.Column="1"> <Ellipse.Fill> <ImageBrush Stretch="UniformToFill" ImageSource="{Binding animal_icon}"/> </Ellipse.Fill> </Ellipse> <StackPanel Grid.Column="2" Margin="0,10,15,0" VerticalAlignment="Top"> <TextBlock TextWrapping="Wrap" TextTrimming="CharacterEllipsis" MaxLines="1" Text="{Binding animal_name}" FontWeight="Bold" FontSize="25" Foreground="#fff"/> <TextBlock TextWrapping="Wrap" TextTrimming="CharacterEllipsis" MaxLines="1" Text="{Binding animal_latin}" Opacity="0.6" Foreground="#fff"/> </StackPanel> </Grid> </DataTemplate> </ListView.ItemTemplate> </ListView>
dan pada MainPage.cs di masing2 project di dalam constructor (Public MainPage())
this.DataContext = new VMAnimal();
dan Jreng2 hasilnya akan seperti ini
0 komentar:
Posting Komentar