Browsed by
Month: November 2013

Hướng dẫn đăng ký tài khoản Dreamspark bằng email sinh viên

Hướng dẫn đăng ký tài khoản Dreamspark bằng email sinh viên

C̶h̶à̶o̶ ̶c̶á̶c̶ ̶b̶ạ̶n̶,̶ ̶h̶ệ̶ ̶đ̶i̶ề̶u̶ ̶h̶à̶n̶h̶ ̶W̶i̶n̶d̶o̶w̶s̶ ̶P̶h̶o̶n̶e̶ ̶c̶à̶n̶g̶ ̶n̶g̶à̶y̶ ̶c̶à̶n̶g̶ ̶c̶h̶i̶ế̶m̶ ̶m̶ộ̶t̶ ̶t̶ỉ̶ ̶t̶r̶ọ̶n̶g̶ ̶k̶h̶ô̶n̶g̶ ̶n̶h̶ỏ̶ ̶t̶r̶o̶n̶g̶ ̶t̶h̶ị̶ ̶t̶r̶ư̶ờ̶n̶g̶ ̶c̶á̶c̶ ̶n̶ề̶n̶ ̶t̶ả̶n̶g̶ ̶d̶i̶ ̶đ̶ộ̶n̶g̶.̶ ̶Đ̶i̶ ̶k̶è̶m̶ ̶v̶ớ̶i̶ ̶n̶ó̶ ̶l̶à̶ ̶m̶ộ̶t̶ ̶c̶h̶ế̶ ̶đ̶ộ̶ ̶ư̶u̶ ̶đ̶ã̶i̶ ̶r̶ấ̶t̶ ̶t̶ố̶t̶ ̶d̶à̶n̶h̶ ̶c̶h̶o̶ ̶c̶á̶c̶ ̶l̶ậ̶p̶ ̶t̶r̶ì̶n̶h̶ ̶v̶i̶ê̶n̶ ̶đ̶ế̶n̶ ̶t̶ừ̶ ̶m̶ẹ̶ ̶đ̶ẻ̶ ̶M̶i̶c̶r̶o̶s̶o̶f̶t̶.̶ ̶Đ̶ứ̶n̶g̶ ̶ở̶ ̶v̶a̶i̶ ̶t̶r̶ò̶ ̶l̶à̶ ̶m̶ộ̶t̶ ̶s̶i̶n̶h̶ ̶v̶i̶ê̶n̶,̶ ̶b̶ạ̶n̶ ̶l̶ạ̶i̶ ̶c̶à̶n̶g̶ ̶n̶h̶ậ̶n̶ ̶đ̶ư̶ợ̶c̶ ̶n̶h̶i̶ề̶u̶.̶.̶.̶

Mình sẽ hướng dẫn các bạn cách đăng ký tài khoản DreamSpark và dùng nó để lấy code đăng ký miễn phí tài khoản Windows Phone Dev. Hướng dẫn chia làm 2 phần:

  • Phần A: đăng ký và xác nhận tài khoản DreamSpark
  • Phần B: lấy code đăng ký tài khoản Windows Phone Dev

A. Đăng ký và xác nhận tài khoản DreamSpark

Bước 1: Các bạn có thể truy cập vào trang chủ của DreamSpark, chọn tab students, chọn sign in rồi sau đó chọn Create an Account để được dẫn đến trang đăng ký hoặc có thể vào trực tiếp bằng liên kết sau https://www.dreamspark.com/Account/CreateAccount.aspx.

Bước 2: Các bạn điền thông tin theo mẫu, mục Region nhớ chọn Vietnam là được, email thì xài email sinh viên của các bạn.

Bước 3: Bước này là bước quan trọng nhất, dùng để xác nhận tài khoản của bạn, chọn tick vào tùy chọn Get verified through my School, chọn Country là Vietnam. Ở dưới thì các bạn điền tên trường của các bạn vào. Riêng đối với các bạn Đại học Khoa học Tự nhiên TP.HCM thì các bạn tìm mục Khoa Cntt – Dhkhtn Tp. Hcm nhé, không đúng cái này là không xác nhận được đâu :v Sau đới bạn nhấn Continue.

Bước 4: Điền email sinh viên của các bạn theo yêu cầu rồi nhấn Verify.

Bước 5: Sau khi nhận được thông báo như hình dưới, các vào inbox của mail sinh viên mà kích hoạt nhé. Và đối với các bạn sinh viên trường Tự nhiên thì hòm thư đã chuyển về địa chỉ http://mail.office365.com rồi. Xong bước kích hoạt là bạn đã hoàn thành xong phần A.

B. Lấy code đăng ký tài khoản Windows Phone Dev

Bước 1: Các bạn quay về trang chủ của DreamSpark, chọn app development rồi chọn Windows Phone 8 Learn More.

Bước 2: Trang này thì nhiều thông tin dài dòng chả cần thiết, bạn chỉ cần kéo xuống cuối trang, nhấp vào liên kết GET YOUR REGISTRATION CODE.

Bước 3: Các bạn nhấp vào liên kết Get code Now. và rồi thì cái code nó sẽ hiện ra cho các bạn :v Code này các bạn sẽ dùng để đăng ký một tài khoản free bên Windows Phone Dev.

 

Thế là xong phần này :v chúc các bạn thành công

Dô lô \m/

Cài đặt MessageBox xác nhận trước khi thoát

Cài đặt MessageBox xác nhận trước khi thoát

Khi lập trình nói chung và Windows Phone nói riêng, thì việc hỏi để người dùng xác nhận một cái gì đấy là điều cần thiết. Ví dụ như khi bạn làm một cái form để người dùng nhập status rồi post lên Facebook, sẽ rất khó chịu nếu người dùng lỡ tay chạm phải nút Back (mà thực tế là mình cứ bị hoài) và lại phải gõ lại status từ đầu :v

Việc này rất đơn giản, khi người dùng nhấn Back, sẽ xuất hiện 1 hộp thoại hỏi người dùng có muốn thoát không, nếu người dùng nhấp Ok thì thoát, nếu ngược lại thì không.

Bởi vì {php}MessageBox{/php} bình thường chỉ hỗ trợ một button, nhưng chúng ta lại cần đến tận 2 button, nên {php}CustomMessageBox{/php} trong bộ Windows Phone Toolkit sẽ là một lựa chọn hợp lý.

Chúng ta sẽ làm như sau:

//Override event OnBackKeyPress
protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
{
    //Không back như thông lệ
    e.Cancel = true;
    //Tạo một CustomMessageBox với các thông tin tương ứng
    CustomMessageBox myCustomMessageBox = new CustomMessageBox()
    {
        Title = "ê này",
        Content = "không muốn post gì nữa thật à?",
        LeftButtonContent = "ừ không",
        RightButtonContent = "post tiếp"
    };
    //Ra lệnh cho nó phải làm gì sau khi người dùng quyết định xong
    myCustomMessageBox.Dismissed += (sender, args) =>
    {
        switch (args.Result)
        {
            //Nếu người dùng chọn "ừ không" thì quay lại trang trước
            case CustomMessageBoxResult.LeftButton:
                NavigationService.GoBack();
                break;
        }
    };
    //Cài đặt hết rồi thì show nó ra
    myCustomMessageBox.Show();
}

Tuy nhiên, mọi chuyện hoàn toàn không hề đơn giản như vậy, rắc rối ở đây là nếu nhét nó vào sự kiện {php}OnBackKeyPress{/php}, ngay khi người dùng nhấn Back, {php}CustomMessageBox{/php} sẽ hiện ra, nhưng ngay sau đó lại biến mất luôn, hoàn toàn không để lại dấu vết gì hay có bất cứ cơ hội nào cho người dùng có thể đưa ra lựa chọn của mình.

Giải pháp ở đây khá đơn giản, đó là chỉ việc nhét hết đống code liên quan đến cái {php}CustomMessageBox{/php} đấy vào một cái {php}Dispatcher{/php} là xong :v

//Override event OnBackKeyPress
protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
{
    //Không back như thông lệ
    e.Cancel = true;
    Deployment.Current.Dispatcher.BeginInvoke(() =>
    {
        //Tạo một CustomMessageBox với các thông tin tương ứng
        CustomMessageBox myCustomMessageBox = new CustomMessageBox()
        {
            Title = "ê này",
            Content = "không muốn post gì nữa thật à?",
            LeftButtonContent = "ừ không",
            RightButtonContent = "post tiếp"
        };
        //Ra lệnh cho nó phải làm gì sau khi người dùng quyết định xong
        myCustomMessageBox.Dismissed += (sender, args) =>
        {
            switch (args.Result)
            {
                    //Nếu người dùng chọn "ừ không" thì quay lại trang trước
                case CustomMessageBoxResult.LeftButton:
                    NavigationService.GoBack();
                    break;
            }
        };
        //Cài đặt hết rồi thì show nó ra
        myCustomMessageBox.Show();
    });
}

Và bây giờ thì mọi thứ sẽ hoạt động ngon lành  cho các bạn :v

Chúc các bạn thành công :3

Dzô lô \m/