Hướng dẫn thực hành Lập trình trên thiết bị di động Windows Phone 8 OS

Đại Học Công Nghệ Đồng Nai  
Khoa Công Nghệ Thông Tin  
Khối: Đại Học  
Năm 2013  
Hướng dẫn:  
Bài tập thực hành được chia theo Module  
Mỗi Module được thiết kế cho thời lượng là 3  
với sự hướng dẫn của giảng viên.  
12 tiết thực hành tại lớp  
Tùy theo số tiết phân bổ, mỗi tuần học có thể thực hiện nhiều Module.  
Sinh viên phải làm tất cả các bài tập trong các Module ở tuần tương ứng.  
Những sinh viên chưa hòan tất phần bài tập tại lớp có trách nhiệm tự làm  
tiếp tục ở nhà.  
Các bài có dấu (*) là các bài tập nâng cao dành cho sinh viên khá giỏi.  
Trang 1  
Đại Học Công Nghệ Đồng Nai  
Khoa Công Nghệ Thông Tin  
Module 1:Introduction Windows Phone Os  
Nội dung kiến thức thực hành:  
- Làm quen với môi trường phát triển điện thoại di động  
- Cách cài đặt Windows Phone 8 SDK  
- Sử dụng Visual Studio Express 2012 for Windows Phone  
- Cách sử dụng Windows Phone Emulator, Hyper-V Manager  
- Cách thức đăng ký Real Phone để lập trình  
- Tìm hiểu cấu trúc và các thành phần của Windows Phone Project  
- Tìm hiểu vòng đời của ứng dụng Windows Phone  
- Tìm hiểu Windows Phone Market  
Bài tập 1:  
Mục đích:  
- Tải và cài đặt được Windows Phone 8 SDK (Software Development Kit).  
Yêu cầu:  
- Tải và cài đặt Windows Phone 8 SDK: http://developer.windowsphone.com/en-  
- Khởi động Visual Studio Express 2012 for Windows Phone để thử tạo một project mẫu.  
Hướng dẫn:  
- Để cài đặt được Windows Phone 8 SDK thì cần đảm bảo các yêu cầu sau:  
o Hệ điều hành 64 bits: Windows 8 Pro hoặc cao hơn  
o Phần cứng: Hỗ trợ Hyper V, SLAT, RAM 4GB  
- Trong gói Windows phone 8 SDK thì sau khi cài đặt ta sẽ có:  
o SDK Windows Phone 8 Assemblies  
o Windows Phone 8 Emulator  
o Visual Studio Express 2012 for Windows Phone  
o Adds project and item templates to Visual Studio 2012  
o Development Kit Tools for Windows Store Apps  
o MS C++ 2012 Compilers and Core Libraries for WP 8  
o Direct X Libraries  
o XNA Game Studio 40  
o Windows Phone 7.1 Support  
o Blend SDK for Windows Phone 8 and 7.1  
o Microsoft Advertising SDK  
Trang 3  
 
Đại Học Công Nghệ Đồng Nai  
Khoa Công Nghệ Thông Tin  
Bài tập 2:  
Mục đích:  
- Thao tác với Windows Phone 8 Emulator  
Yêu cầu:  
- Khởi động Windows Phone 8 Emulator và tiến hành thực hành các thao tác:  
o Mở một ứng dụng bất kỳ  
o Bấm nút Back  
o Bấm nút Start  
o Bấm nút Search  
o Quay & xoay màn hình Emulator  
o Gỡ bỏ một phần mềm khỏi Emulator  
o Hiệu chỉnh Sensor, Maps… ở nút Additional Tool  
o Mở trình duyệt  
o Chia sẻ hình ảnh  
o Kiểm tra máy ảnh, quay phim  
o Và các tính năng cần thiết khác  
Hướng dẫn:  
- Chạy Emulator:  
- Từ cửa sổ Visual Studio, chọn thiết bị Emulator như hình bên dưới  
Trang 4  
Đại Học Công Nghệ Đồng Nai  
Khoa Công Nghệ Thông Tin  
Hình ảnh Emulator  
Bài tập 3:  
Mục đích:  
- Thao tác với Hyper V manager  
Yêu cầu:  
- Khởi động Hyper V Manager  
- Tiến hành các thao tác: Connect, Start stop Service, Settings…  
Hướng dẫn:  
- Hình minh họa:  
Trang 5  
Đại Học Công Nghệ Đồng Nai  
Khoa Công Nghệ Thông Tin  
Bài tập 4:  
Mục đích:  
- Tìm hiểu cấu trúc và các thành phần của Windows Phone Project  
Yêu cầu:  
- Tạo một Project Windows Phone, tiến hành biên dịch, thực thi ứng dụng  
- Kiểm tra cấu trúc Project, Folder, Bin , .xap của Project  
Hướng dẫn:  
- Khởi động Visual Studio Express 2012 for Windows Phone  
- Chọn New Project  
Trang 6  
Đại Học Công Nghệ Đồng Nai  
Khoa Công Nghệ Thông Tin  
- Chọn Windows Phone App, nhập tên ứng dụng rồi nhấn nút Ok  
- Tại màn hình trên chọn Windows Phone OS 8.0 (PC phải hỗ trợ Hyper V và SLAT)  
Trang 7  
Đại Học Công Nghệ Đồng Nai  
Khoa Công Nghệ Thông Tin  
- Ta quan sát thấy màn hinh tương tác của Project, nhấn F5 để chạy Emulator  
AppManifest.xml: Visual sẽ quản lý tập tin  
này, dùng để lưu trữ danh sách tài nguyên khi  
triển khai ứng dụng  
WMAppManifest.xml: Các mô tả của ứng  
dụng, ta vào đây để cấu hình phần mềm. Bấm  
chuột phải chọn Properties để cấu hình nâng  
cao: Application UI, Capabilities,  
Requirements, Packaging  
Assets: Chứa Application Icon, Tile Image để  
hiển thị trong màn hình Start  
Resources: Cho phép cấu hình đa ngôn ngữ và  
các tài nguyên khác  
App.xaml: class tự động được tạo ra, dùng để  
khởi chạy ứng dụng, ta có thể quản lý vòng đời  
ứng trong trong này.  
LocalizedStrings: Cung cấp tài nguyên ngôn  
ngữ để ta có thể truy suất, tham chiếu  
MainPage.xaml: Trang chủ mặc định thi tạo  
Project, nó sẽ được khởi tạo khi ứng dụng chạy.  
- Ta có thể thiết kế: Tại màn hình Designer (trực tiếp trên Phone Emulator), XAML và  
Coding runtime.  
- Quan sát cấu trúc thư mục của ứng dụng, trong thư mục Bin/debug(release), ta thấy tập  
tin .xap đó chính là Đóng Gói của ứng dụng, nó như tập tin ZIP  
Trang 8  
Đại Học Công Nghệ Đồng Nai  
Khoa Công Nghệ Thông Tin  
- Mở zip lên ta thấy bên trong .xap có chứa các thành phần cần thiết có thể Triển khải được  
ứng dụng trên điện thoại, ta deploy tập tin này vào Emulator hoặc Real Phone .  
Bài tập 5:  
Mục đích:  
- Cách thức đăng ký Real Phone để lập trình  
Yêu cầu:  
- Hãy đăng ký thiết bị mobile chạy hệ điều hành Windows Phone 8 của bạn với hệ thống  
để có thể lập trình được trên thiết bị thật  
Hướng dẫn:  
- Làm theo các bước sau để có thể đăng ký thiết bị thật để lập trình:  
- Bước 1: Mở điện thoại và unlock màn hình  
- Bước 2: Kiểm tra ngày tháng trong điện thoại có giống với giờ thực tế hay chưa  
- Bước 3: Dùng USB kết nối điện thoại thật với máy tính cần lập trình  
- Bước 4: Tìm “Windows Phone Developer Registration” trong App PC của bạn, thường  
thì ta chỉ cần gõ “Developer” tự quan sát để chọn đúng ứng dụng:  
Trang 9  
Đại Học Công Nghệ Đồng Nai  
Khoa Công Nghệ Thông Tin  
- Bước 5: Màn hình đăng ký sẽ hiển thị lên, nếu như đã đăng ký rồi thì có thông báo đăng  
ký rồi, còn không qua bước 6.  
- Bước 6: Bấm Register button để đăng ký  
- Bước 7: Trong quá trình đăng ký hệ thống sẽ yêu cầu đăng nhập Windows Live ID (nên  
bạn phải có nó trước), đối với sinh viên của trường thì sử dụng tài khoản do khoa Công  
Nghệ Thông Tin cấp để đăng ký (tài khoản DreamSpark)  
- Bước 8: Kết thúc quá trình đăng ký (đăng ký thành công) bạn sẽ thấy thông báo:  
Như vậy bạn có thể bắt đầu lập trình trên thiết bị thật của bạn rồi, bạn có thể Debug trên máy  
thật, những ứng dụng thực tế bạn phải test trên điện thoại thật để đảm bảo chương trình luôn  
luôn chạy đúng.  
Bài tập 6:  
Mục đích:  
- Tìm hiểu vòng đời của ứng dụng Windows Phone 8  
Yêu cầu:  
- Viết chương trình kiểm tra vòng đời của ứng dụng Windows phone 8  
- Yêu cầu lưu trữ lại thông tin trên giao diện khi màn hình bị tre khuất  
- Yêu cầu giải thích từng sự kiện bằng tiếng việt  
- Ứng dụng gồm có 2 trang như bên:  
Trang 10  
Đại Học Công Nghệ Đồng Nai  
Khoa Công Nghệ Thông Tin  
- Bấm nút Back, Start, Search ở góc dưới cùng màn hình Phone để kiểm tra  
- Bấm Open Page 2 thì mở trang 2  
- ở trang 2 bấm close thì trở về trang chính  
Màn hình chính  
Hướng dẫn:  
- Trong App.xaml.cs, override 4 phương thức như dưới đây:  
- (using Microsoft.Phone.Shell)  
public class MyObject  
{
public DateTime LastTimeUpdate { get; set; }  
}
public MyObject myObject { get; set; }  
Trang 11  
Đại Học Công Nghệ Đồng Nai  
Khoa Công Nghệ Thông Tin  
// Code to execute when the application is launching (eg, from Start)  
// This code will not execute when the application is reactivated  
private void Application_Launching(object sender, LaunchingEventArgs e)  
{
ShellToast toast = new ShellToast();  
toast.Title = "Application_Launching";  
toast.Content = "Application_Launching is call";  
toast.Show();  
}
// Code to execute when the application is activated (brought to foreground)  
// This code will not execute when the application is first launched  
private void Application_Activated(object sender, ActivatedEventArgs e)  
{
ShellToast toast = new ShellToast();  
toast.Title = "Application_Activated";  
toast.Content = "State=" + (e.IsApplicationInstancePreserved?"Dormant":"TombStoned");  
toast.Show();  
if (!e.IsApplicationInstancePreserved)  
{
this.myObject = PhoneApplicationService.Current.State["xxx"] as MyObject;  
toast = new ShellToast();  
toast.Title = "Application_Activated";  
toast.Content = "Data from TombStoned";  
toast.Show();  
}
}
// Code to execute when the application is deactivated (sent to background)  
// This code will not execute when the application is closing  
private void Application_Deactivated(object sender, DeactivatedEventArgs e)  
{
this.myObject = new MyObject() { LastTimeUpdate=DateTime.Now};  
PhoneApplicationService.Current.State["xxx"] = this.myObject;  
ShellToast toast = new ShellToast();  
toast.Title = "Application_Deactivated";  
toast.Content = "Lastupdate=" + this.myObject.LastTimeUpdate.ToLongDateString();  
toast.Show();  
}
// Code to execute when the application is closing (eg, user hit Back)  
// This code will not execute when the application is deactivated  
private void Application_Closing(object sender, ClosingEventArgs e)  
{
ShellToast toast = new ShellToast();  
toast.Title = "Application_Closing";  
toast.Content = "Application_Closing is call";  
toast.Show();  
}
Để mở một trang mới:  
App.RootFrame.Navigate(new Uri("/Page2.xaml",UriKind.Relative));  
Để đóng trang hiện tại:  
NavigationService.GoBack();  
Trang 12  
Đại Học Công Nghệ Đồng Nai  
Khoa Công Nghệ Thông Tin  
Bài tập 7:  
Mục đích:  
- Tìm hiểu Windows Phone Market  
Yêu cầu:  
- Đưa ứng dụng lên Market  
Hướng dẫn:  
Trang 13  
Đại Học Công Nghệ Đồng Nai  
Khoa Công Nghệ Thông Tin  
Module 2:Xaml, Phone Controls And Navigation  
Nội dung kiến thức thực hành:  
- Cách thức xây dựng giao diện với XAML  
- Thao tác với Brush, Resource, Style, Templates..  
- Thao tác với các Control trong Phone 8:  
- Layout Control : Canvas, Stackpanel, Grid, Border, ScrollViews, Viewbox.  
- Button, TextBlock controls  
- Input Controls: TextBox, PasswordBox, RichTextBox, AutoCompleteBox, Slider..  
- Radio and Checkbox controls  
- List Controls: LongListSelector, ListPicker  
- Menu controls: ApplicationBar, Context Menus  
- Media Controls: Image, MultiScaleImage, MediaElement  
- Popups, MessageBox  
- Data Binding:  
- Binding Basics, code, Collections, Objects, Converters  
- MVVM  
- Navigation: Pages, external URIs…  
Bài tập 1:  
Mục đích:  
Thao tác được với XAML trong một ứng dụng Windows Phone 8  
Yêu cầu:  
Tạo một ứng dụng bất kỳ, kiểm tra cấu trúc XAML  
Giải thích ý nghĩa của PhoneApplicationPage và các element, attributes trong XAML trên  
Hướng dẫn:  
Trang 14  
 
Đại Học Công Nghệ Đồng Nai  
Khoa Công Nghệ Thông Tin  
Bài tập 2:  
Mục đích:  
Hiểu và thao tác được với XAML namespace  
Yêu cầu:  
Yêu cầu tạo 2 lớp MyButton có cùng tên (mỗi lớp Button khi khởi tạo sẽ có màu khác nhau), kế  
thừa từ Button nhưng nằm trong 2 namespace khác nhau, hãy đưa ra công thức sử dụng XAML  
namespace này:  
Hướng dẫn:  
Công thức namespace:  
namespace drthanh.com  
{
public class MyButton:Button  
{
public MyButton()  
{
Width = 300;  
Height = 100;  
SolidColorBrush brush = new SolidColorBrush(Colors.Red);  
this.Background = brush;  
}
}
}
Trang 15  
Đại Học Công Nghệ Đồng Nai  
Khoa Công Nghệ Thông Tin  
Bài tập 3:  
Mục đích:  
Hiểu và thao tác được với Syntax trong XAML:  
- Object element syntax  
- Attribute syntax  
- Property element syntax  
- Attached property syntax  
- Markup extension  
Yêu cầu:  
- Dùng gì syntax loại gì để tô màu nền Button sau:  
- Dùng syntax loại gì để tô màu nền Button sau:  
- Giải thích khi nào dùng Object Element Syntax, Attribute Syntax, Property element  
syntax vaf Attached property syntax.  
- Markup extension có đặc điểm gì?  
Hướng dẫn:  
Trang 16  
Đại Học Công Nghệ Đồng Nai  
Khoa Công Nghệ Thông Tin  
Bài tập 4:  
Mục đích:  
Hiểu và thao tác được với các loại Brush trong Windows Phone  
- SolidColorBrush  
- LinearGradientBrush  
- RadialGradientBrush - GradientOrigin  
- ImageBrush – hình ảnh tự chép vào Assets folder  
Yêu cầu:  
- Dùng XAML và Coding để vẽ màu nền cho các control như dưới đây (dùng Button,  
Rectange, Ellipse hoặc bất kỳ control nào khác):  
- Chú ý ở trên có 4 loại Brush, mỗi brush có 4 control với các phối màu khác nhau sinh  
viên phải thiết kế đáp ứng đủ yêu cầu.  
- Phải viết được bằng XAML và coding  
Hướng dẫn:  
- Tất cả phải using System.Windows.Media  
-
Ví dụ 1 trường hợp về LinearGradientBrush:  
<Button Content= "drthanh" >  
<Button.Background>  
Trong XAML:  
<LinearGradientBrush>  
<GradientStop Color="Red" Offset="0.0"/>  
<GradientStop Color="Blue" Offset="0.5"/>  
<GradientStop Color="White" Offset="1.0"/>  
</LinearGradientBrush>  
</Button.Background>  
</Button>  
Trong Coding:  
LinearGradientBrush br = new LinearGradientBrush();  
GradientStop gs1 = new GradientStop();  
gs1.Color = Colors.Red;  
gs1.Offset = 0;  
GradientStop gs2 = new GradientStop();  
gs2.Color = Colors.White;  
gs2.Offset = 1.0;  
br.GradientStops.Add(gs1);  
br.GradientStops.Add(gs2);  
button1.Background = br;  
Trang 17  
Đại Học Công Nghệ Đồng Nai  
Khoa Công Nghệ Thông Tin  
Bài tập 5:  
Mục đích:  
Hiểu và thực hành được về Resource  
- Tại sao phải sử dụng Resource  
- Cách tạo và sử dụng Resource  
- Cách sử dụng Merge Dictionary  
- Cách sử dụng StaticResource  
Yêu cầu:  
- Hãy tạo Resource để chia sẻ màu nền dưới đây trong cùng một Page:  
- Hãy tạo Resource để chia sẻ màu nền dưới đây trong toàn bộ ứng dụng (dùng Merge  
Dictionary):  
Hướng dẫn:  
- Xem hướng dẫn trong slide 2730 phần “2-XAML, Phone Controls and Navigation”  
Bài tập 6:  
Mục đích:  
Hiểu và thực hành được về Style  
- Tại sao phải sử dụng Style  
- Cách tạo và sử dụng Style  
- Thao tác được với các thuộc tính: Property, Value  
- Kế thừa Style  
Yêu cầu:  
- Hãy xây dựng Style cho Button với các thông số sau: Chiều cao 100, chiều rộng 250,  
mặc định chữ in đậm, nền màu đỏ.  
- Yêu cầu Stye này phải được chia sẻ được trong toàn bộ ứng dụng  
Hướng dẫn:  
- Xem hướng dẫn 3133 phần “2-XAML, Phone Controls and Navigation”  
Trang 18  
Đại Học Công Nghệ Đồng Nai  
Khoa Công Nghệ Thông Tin  
Bài tập 7:  
Mục đích:  
- Thực hành về ControlTemplate  
Yêu cầu:  
- Yêu cầu tạo 2 ControlTemplate như hình dưới đây:  
- Yêu cầu chia sẻ được trong toàn bộ ứng dụng  
Hướng dẫn:  
<Grid.Resources >  
<ControlTemplate x:Key="ButtonTemplate" TargetType="Button">  
<Border CornerRadius="10"  
BorderThickness="3"  
BorderBrush="White"  
Margin="5"  
Padding="5">  
<TextBlock Text="{TemplateBinding Content}" />  
</Border>  
</ControlTemplate>  
</Grid.Resources>  
<Button Template="{StaticResource ResourceKey=ButtonTemplate}" Content="DrThanh" />  
Bài tập 8:  
Mục đích:  
- Thực hành về PhoneControl:  
- Các Layout: Canvas, Stack, WrapPanel, Grid  
- Button và Textblock, Ellipse  
- DispatcherTimer  
Yêu cầu:  
- Sử dụng các Layout phù hợp để viết game đơn giản sau:  
- Mặc định khi Chương trình khởi động, nó có Nút bấm Run và một hình tròn màu vàng,  
Khi bấm nút Run thì hình màu vàng sẽ tự động di chuyển ngẫu nhiên trên màn hình. Mỗi  
lần chạm vào nút màu vàng thì nó sẽ đổi màu thành xanh (chạm tiếp lần nữa thì nó trở về  
Trang 19  
Đại Học Công Nghệ Đồng Nai  
Khoa Công Nghệ Thông Tin  
màu đỏ), đồng thời trên mỗi lần chạm vào hình màu tròn này thì nó tự động xuất hiện ra  
các hình tròn có màu ngẫu nhiên khác hình nhỏ (xem hình):  
Hướng dẫn:  
- Xem slide 39 phần “2-XAML, Phone Controls and Navigation”  
- Coding chọn màu ngẫu nhiên:  
Random rd = new Random();  
byte red =(byte) rd.Next(0, 255);  
byte green = (byte)rd.Next(0, 255);  
byte blue = (byte)rd.Next(0, 255);  
byte a = 255;  
Color c = new Color();  
c.R = red;  
c.G = green;  
c.B = blue;  
Trang 20  
Tải về để xem bản đầy đủ
pdf 90 trang baolam 24800 Free
Bạn đang xem 20 trang mẫu của tài liệu "Hướng dẫn thực hành Lập trình trên thiết bị di động Windows Phone 8 OS", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfhuong_dan_thuc_hanh_lap_trinh_tren_thiet_bi_di_dong_windows.pdf