소년포비의 세계정복!!

소년포비의 Windows Phone 7 탐구생활 7탄!! 본문

윈도우폰 세상/Silverlight for WP7

소년포비의 Windows Phone 7 탐구생활 7탄!!

소년포비 2011. 3. 13. 23:11

 

안녕하세요 ^^

 

소년포비입니다. 요번에는 저번에 말씀 드렸드시

 

웹서비스 호출에 관하여 알아 보도록 하겠습니다.

 

 

 

 

PART 7 : WEB SERVICE CONSUMPTION

 

 

 

 

!! 여기서 잠깐 여러분 제 강좌는 이어지는 강좌이기에

 

1탄에서 만든 프로젝트를 계속 사용합니다

 

절대 지우지마세요~~

 

 

그럼 전시간에 사용했던 프로젝트는 두시고 아래 그림처럼

 

웹사이트를 하나 만들어 주세요 ^^

 

 

 

 

 

 

 

 

자 여러분 위 그럼 처럼 잘 되시나요?

 

제가 참 좋게 생각하는건 웹서비스를 만들면 저렇게

 

헬로우 월드를 볼수 있게 바로 만들어 주는 센스가

 

있어서 첨에 아주 맘에 들드라구요 ^^

 

 

자 그럼 웹사이트로 직접 되는지 확인해보세요 ^^

 

아래 그림 참고 하시면 됩니다.

 

 

 

 

 

 

자 여러분 위 그럼 처럼 잘 나오시죠?

 

 

그럼 본격적으로 폰에서 웹서비스를 활용해 보도록 하겠습니다.

 

기존에 있던 프로젝트에서 아래 그림 처럼 추가해주시면 됩니다.

 

 

 

 

 

 

 

 

 

자 여러분 위 그럼 처럼 추가가 잘 되셨나요???

 

어떠세요? 그림만 보고도 하시기가 편하시죠?

 

제가 하나하나 글로 하는것보다 그림을 보고 하시는게

 

좋을꺼라 생각되여 추가 설명은 드리지 않았습니다.

 

 

이제는 새로 페이지를 하나 만들어주세요 ^^

 

Add => New Item에서 하시는거 아시죠?

 

 

 

 

 

 

자 그림 또 여러분이 하셔야 할게 있습니다.

 

아래 그림 처럼 글자 좀 몇개 쓰기고

 

텍스트 박스랑 버튼을 추가 하시면 됩니다. ^^

 

 

 

 

 

 

 

그럼 여러분 버튼을 떠블 클릭하셔서 이벤트를 만들어주세요 ^^

 

만들으셨나요 그럼 이제 실제 웹서비스를 받는

 

코딩을 보도록 하겠습니다.

 

 

 

 

private void button1_Click(object sender, RoutedEventArgs e)
{

   // 웹서비스를 받기 위해서 선언하는 부분입니다.
   ServiceReference1.WebService1SoapClient proxy = new ServiceReference1.WebService1SoapClient();
   proxy.HelloWorldCompleted += new EventHandler<ServiceReference1.HelloWorldCompletedEventArgs>(proxy_HelloWorldCompleted);
   proxy.HelloWorldAsync();
}

 

void proxy_HelloWorldCompleted(object sender, ServiceReference1.HelloWorldCompletedEventArgs e)
{
   if (e.Error == null)
   {
     textBlock1.Text = e.Result;
   }
}

 

 

자 여러분 이렇게 추가하시면 됩니다.

 

크게 어려운건 없어보시죠?

 

자 그리고 하나더 확인 해주세요 ^^

 

아래 그림에 있는 부분을 클릭 하여

 

 

 

 

 

</Capabilities>
<Tasks> <DefaultTask Name ="_default" NavigationPage="WebService.xaml"/>
</Tasks>
<Tokens>

 

 

 

위 부분이 추가 되어 있는지 확인 해주세요 ^^

 

 

자 그럼 여러분 이제 잘 되는지 확인 하실 차례입니다

 

참 간단하죠? 그렇치만 이걸 모르는 다른분들은

 

어렵다고 생각 할 수도 있지만 여러분들은 이제

 

쉅게 웹서비스를 만드실 수 있는 능력을 가지신거죠 ^^

 

 

 

 

 

 

 

 

자 이렇게 되시죠?

 

 

와우!! 신기하죠? 저두 그러네요...하하하....그럼 이대로

 

끝내기 아쉬워서 또 응용을 해도록 하겠습니다.

 

 

아까 버튼 이벤트 부부을 다른걸로 수정하여

 

사용하는 응용입니다.

 

 

구글에서 지원하는 걸 가지고 만들어 보도록하죠.

 

 

 

 

http://www.google.com/ig/api?weather=jakarta

 

 

위 부분을 이용하는 것입니다.

 

끝에 있는 이름은 다른것도 바꿔서 하셔도 되겠죠? ^^

 

그럼 또 어떤 부분을 고치면 되는지

 

코드로 확인 해보도록 하겠습니다.

 

 

 

private void button1_Click(object sender, RoutedEventArgs e)
{
  //ServiceReference1.WebService1SoapClient proxy = new ServiceReference1.WebService1SoapClient();
  //proxy.HelloWorldCompleted += new EventHandler<ServiceReference1.HelloWorldCompletedEventArgs>(proxy_HelloWorldCompleted);
  //proxy.HelloWorldAsync();
  WebClient wc = new WebClient();
  wc.DownloadStringAsync(new Uri("
http://www.google.com/ig/api?weather=jakarta"));
  wc.DownloadStringCompleted += new DownloadStringCompletedEventHandler(wc_DownloadStringCompleted);
}
void wc_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
  if (e.Error==null)
  {
    textBlock1.Text = e.Result;
   }
}

 

 

자 이렇게 변경 되었습니다.

 

여러분 어느부분이 변경 되었는지 금방 눈에 들어오시죠?

 

않들어 오신다구요? 그럼 위에서 제대로 공부 않하신겁니다...아시죠?

 

 

그럼 이제 빌드해서 직접 확인해보시면 되겠습니다. ^^

 

 

 

 

 

 

자 그럼 위에 그럼처럼 잘 나오시죠?

 

요번시간에도 아주 많은 내용들이 농축되어있네요 ^^

 

여러분들은 이걸 다시 한번더 응용해서 해보시면 더욱 더 스킬이

 

향상 되시리라 보여 집니다. ^^

 

 

그럼 다음시간에는 좀더 멋진 것이 진행됩니다

 

바로바로 WORKING WITH DATA 이부분에 대해서

 

설명해 드리도록 하겠습니다. ^^

 

그럼 다음시간에 만나요 ~~