[Tool] VisiualStudio2010에서 Windows Phone 개발환경 설정하기.

1) VS를 종료한 상태에서 자신의 PC가 32비트용인지 64비트용인지 구분하여서 아래의 경로로 들어갑니다.
  [x86(32비트) 사용자]
  C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\ProjectTemplates\CSharp\Silverlight for Windows Phone
  와
  C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplates\CSharp\Silverlight for Windows Phone
  [x64(64비트) 사용자]
  C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ProjectTemplates\CSharp\Silverlight for Windows Phone
  와
  C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplates\CSharp\Silverlight for Windows Phone
2) 두 폴더 모두 1033이라는 폴더가 있을것입니다. 이 1033이라는 폴더를 1042로 이름을 변경합니다.

3) 그리고 Visual Studio 2010의 명령 프롬프트를 실행시킵니다.
  시작 > 모든 프로그램 > Microsoft Visual Studio 2010 > Visual Studio Tools > Visual Studio 명령 프롬프트
 
4) 명령프롬프트에서 아래의 두 명령어 수행합니다.
  devenv /installvstempleates
  devnev /setup
5) VS를 구동시키고 프로젝트가 확인된것을 확인합니다.
  새 프로젝트 창 좌측에서 다음 선택 –> Visual C# > Silverlight for Windows Phone
  중앙 프로젝트 탬플릿 창에서 Windows Phone Application 확인

[WM7] Tutorial

2010. 11. 22.
– Download the free tools 링크
– MS-MSDN .NET Framework 링크

Window Mobile에는 따로 콘솔창이 존재하지 않아 디버깅 문자열을 출력할 수 없다.
그래서 따로 Window->Output창을 열어 확인해야 하며 아래와 같은 코드를 사용할 수 있다.
using System.Diagnostics;
Debug.WriteLine("hello");

1. SMS 보내기
– Class : SMScomposeTask
– 주의 사항 : 국내 SMS 서비스에서 90바이트 이상 사용시 서버에서 짤릴 수 있음.
사용법
SMScomposeTask smst = new SMScomposeTask();
smst.to = <email address>;
body.to = <message>;
Show();

2. Email 주소록 가져오기 및 주소록 저장하기. + 보내기.
– Class : EmailAddressChooserTask
사용법
EmailAddressChooserTask eact = new EmailAddressChooserTask();
eact.Completed += new EventHandler<EmailResult>(eact_completed);
eact.Show();
void eact_completed(object sender, EmailResult e) {
e.Email;
}

– Class : SaveEmailAddressTask
SaveEmailAddressTask seat = new SaveEmailAddressTask();
seat.Email="";
seat.Show();

- Class : EmailComposeTask
String to = getKeyValue(keyValueArray, 1);
String body = getKeyValue(keyValueArray, 2);
EmailComposeTask ect = new EmailComposeTask();
ect.To = to;
ect.Body = body;
ect.Show();
3. 전화걸기 및 연락처 가져오기
– Class : PhoneNumberChooserTask
사용법
PhoneNumberChooserTask pnct = new PhoneNumberChooserTask();
pnct.Completed += new EventHandler<PhoneNumberResult>(pnct_completed);
pnct.Show();

- Class : PhoneCallTask
PhoneCallTask pct = new PhoneCallTask();
pct.PhoneNumber = tbDisplay.Text;
pct.Show();

4. 카메라 촬영 및 앨범에서 가져오기
- Class : CameraCaptureTask

-
System.Windows.Media.Imaging
BitmapImage a = new BitmapImage();
a.SetSource(e.ChosenPhoto);
image.Source = a;

5. 리스소 불러오기 & 이미지 넣기
Class : BitmapImage
image.Source = new BitmapImage(new Uri("/images/test.png",UriKind.Relative);

6. 앱과 웹 소통하기
관련 메서드
// 웹에서 앱 호출하기
[Java Script Code]
// 아래처럼 콜하게 되면 윈도우 모바일 7 코드 1-1이 호출된다.
window.external.Notify(REQUEST_ADDRESS_EMAIL);

[.Net Code] (1-1)
private void wb_ScriptNotify(object sender, NotifyEventArgs e)

// 앱에서 웹 호출하기
[.Net Code]
// 첫번째 메서드 이름, 두번째 인자 파라미터가 된다.
wb.InvokeScript("response", e.Email);