2014-09-12 232 views
1
 private async void get() 
     { 
      string URL ="http://8tracks.com/mix_sets/all.json?include=mixes?api_key=05570e44383665661d8edeeb5d4f07d415e14b4a"; 
      HttpClient c = new HttpClient(); 
      String response = await c.GetStringAsync(URL); 
      textbook.Text = response; 

hello even one ...我一直在尝试使用上面的代码从Web服务器获取数据,但我无法使其工作。我是新来的,我尝试了其他类似的模式,但它也不会工作。有人可以写一个代码来显示我是如何完成的吗?鲍勃塔博尔使用这种模式,我把上述为他在我身边的应用程序教程和它的作品Http客户端不能从Web服务器获取JSON数据

+1

您的网址是缺少右引号和分号,是一个复制粘贴错误? – Adam 2014-09-12 17:13:12

+0

你的代码适合从服务器获取数据。只是让你的代码编译。你能告诉我们你面临的错误/问题吗? – loop 2014-09-12 18:04:21

+0

感谢那...但是我在撰写这个问题时犯了一个错误。应用程序会用正确的引号和每个正确编写的代码进行编译,但它不会从Web服务器获取数据。 – 2014-09-12 18:09:45

回答

0

你以为我在跟你开玩笑:)检查下面的证据我没有Photoshoped它:) 。 enter image description here

For ThugSoldier: - 嘿,我得到了你的代码的zip文件。你知道我从你的代码中得到的是你真的不知道关于移动开发的事情。所以我的建议是 - 在你自己尝试任何事情之前,先通过这个快速浏览资源/主题,然后你会大致了解你正在阅读的内容。不要错误地使用它,我只是想通过一切手段来帮助你。正如我也面对这一切。

如果你已经把整个代码,那么你ANS前仅仅是一个注释远:)

你的代码,我从你邮寄ZIP文件。

// XAML代码

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> 
    <StackPanel RenderTransformOrigin="0.5,0.5" Margin="-191,-181,191,181"> 
     <StackPanel.RenderTransform> 
      <CompositeTransform TranslateX="300" TranslateY="200"/> 
     </StackPanel.RenderTransform> 
     <TextBlock Name="xt" FontSize="25" Text=""/> 
    </StackPanel> 
</Grid> 

// .CS的MainPage代码

public sealed partial class MainPage : Page 
{ 
    public MainPage() 
    { 
     this.InitializeComponent(); 
    } 

    private async void web() 
    { 
     String url = "http://8tracks.com/mix_sets/all.json?include=mixesapi_key=05570e44383665661d8edeeb5d4f07d415e14b4a"; 
     HttpClient client = new HttpClient(); 
     string result = await client.GetStringAsync(url); 
     xt.Text = result; 
    } 
} 

问题: -

In the above Code actually you have not called the web() Method from anywhere - means you have to invoke web() method. By using Some Button Click Event.

SOLUTION: -

我已经按钮在XAML,并添加了ClickEvent它。这在MainPage .cs后端类中可用。接下来会发生什么,只要你点击按钮你的事件将被调用,因此你的web()方法。这将得到你的数据。

全码: -

的XAML: -

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> 
    <StackPanel RenderTransformOrigin="0.5,0.5" Margin="-191,-181,191,181"> 
     <StackPanel.RenderTransform> 
      <CompositeTransform TranslateX="300" TranslateY="200"/> 
     </StackPanel.RenderTransform> 
     <TextBlock Name="xt" FontSize="25" Text=""/> 

     <Button Content="ClickMe" Click="ButtonBase_OnClick"></Button> 

    </StackPanel> 
</Grid> 

MainPage.cs代码: -

public sealed partial class MainPage : Page 
{ 
    public MainPage() 
    { 
     this.InitializeComponent(); 
    } 

    private async void web() 
    { 
     String url = "http://8tracks.com/mix_sets/all.json?include=mixesapi_key=05570e44383665661d8edeeb5d4f07d415e14b4a"; 
     HttpClient client = new HttpClient(); 
     string result = await client.GetStringAsync(url); 
     xt.Text = result; 
    } 

    private void ButtonBase_OnClick(object sender, RoutedEventArgs e) 
    { 
     web(); 
    } 
} 

现在你在做: - 运行应用程序= >点击按钮=>在您的文本框中享受结果。

建议: - 下载的Windows Phone的应用程序的一些基本样本本地运行。看代码。

只要联系我对我今后的任何帮助/指导:)干杯:d

+0

那么为什么它不适合我?感谢您确认它的工作原理......某处出错了 – 2014-09-12 19:35:38

+0

@thugsodier首先检查互联网是否在您的仿真器/设备上工作。并在try catch中放入这个getstringasync(url)调用。也把你的整个代码放在你的问题中。我会检查它。 – loop 2014-09-12 19:40:32

+0

互联网正在工作......它与应用许可有什么关系吗? – 2014-09-12 20:15:57

相关问题