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