Hướng dẫn thực hành lập trình trên thiết bị di động (Windows Phone 8 OS)
MỤC LỤC
Module 1: Introduction Windows Phone Os . 3
Module 2: Xaml, Phone Controls And Navigation . 14
Module 3: Working With The Phone, Camera And Photos . 56
Module 4: Working With The Tiles, Notifications, Contacts And Calendar . 68
Module 5: Data Storage . 75
Module 6: Web Services And The Cloud . 87
Module 7: Sensors . 88
Module 8: Assignment . 89
adAsync();
//Read the entire file into the FileText property
using (StreamReader streamReader = new StreamReader(fileStream)){
txtContent.Text = streamReader.ReadToEnd();
}
fileStream.Close();
}
else {
MessageBox.Show("An SD card was not detected");
}
}
Bài 4:
Mục đích:
- Xử lý mã hóa tập tin
Yêu cầu:
- Viết chương trình cho phép mã hóa và giải mã nội dung như hình dưới đây:
Hướng dẫn:
- Xem slide hướng dẫn từ 10-13 phần “5 -DATA STORAGE”
- Nội dung thô được nhập vào ô đầu tiên
- Nhấn nút Mã hóa sẽ tiến hành mã hóa nội
dung thô, dữ liệu mã hóa được thể hiện ở ô
cuối cùng
- Nhấn nút Giải mã sẽ tiến hành giải mã và
hiển thị lại nội dung ở ô số 2
Đại Học Công Nghệ Đồng Nai Khoa Công Nghệ Thông Tin
Trang 79
Bài tập 5:
Mục đích:
- Thực hành về IsolatedStorage
- Cách lưu trữ thông số cấu hình phần mềm
Yêu cầu:
- Viết phần mềm cho phép đăng nhập hệ thống như màn hình dưới đây:
- Khi khởi động hệ thống sẽ hiển thị màn hình đăng nhập
- Giả lập tài khoản để đăng nhập.
- Khi nhấn nút “đăng nhập”: Phần mềm sẽ lưu lại thông tin tài khoản nếu như nút
Checkbox được checked.
- Khi đăng nhập thành công: Tiến hành đóng màn hình chính và mở màn hình thứ 2 lên,
trong màn hình thứ 2 sẽ tự động mở một tập tin mp4 (chép mp4 vào thư mục Assets)
Hướng dẫn:
- Xem hướng dẫn trong slide 14 -18 phần “5 -DATA STORAGE”
- Xem lại cách dùng control để mở mp4
Bài tập 6:
Mục đích:
- Thực hành về IsolatedStorageSettings
- Cách thức lưu / đọc thông số cấu hình với dữ liệu Primitive data
- Cách thức lưu / đọc thông số cấu hình với dữ liệu là Object Data
- Ôn tập lại các control cơ bản trong Windows Phone: DatePicker, TogleSwitch, Pivot
Yêu cầu:
- Thiết kế chương trình với giao diện Pivot để thực hiện chức năng lưu thông tin cấu hình
với 2 dạng: Primitive Data và Object Data (chú ý chỉ có một MainPage, nhưng dùng
Pivot để tách ra làm 2 giao diện)
Đại Học Công Nghệ Đồng Nai Khoa Công Nghệ Thông Tin
Trang 80
Màn hình 1:
- Nút Read: Để đọc các thông số cấu hình được lưu trữ và hiển thị lên giao diện
- Nút Write: Tiến hành lưu trữ các thông số trên giao diện
Màn hình 2:
- Nút Read: Để đọc đối tượng Person được lưu trữ.
- Nút Write: Để lưu đối tượng Person
Hướng dẫn:
- Xem hướng dẫn trong slide 14 -19 phần “5 -DATA STORAGE”
Bài tập 7:
Mục đích:
- Thực hành cách đọc dữ liệu từ file XML
- Cách dùng Binding
Đại Học Công Nghệ Đồng Nai Khoa Công Nghệ Thông Tin
Trang 81
Yêu cầu:
Viết chương trình để hiển thị dữ liệu trong file XML với cấu trúc dưới đây:
Trần Duy Thanh
Số 3 đường 6, Khu Dân Cư Gia Hòa, Ấp 5, Phong Phú, Bình Chánh,
Tp.HCM
Phạm Thị Xuân Diệu
Phú vang, Bình Đại, Bến Tre
Nguyễn Văn Hùng
Số 15 Nguyễn Văn Vĩ, Quận Tân Bình, TP.HCM
Giao diện khi khởi động Chương trình:
- Mỗi node Person sẽ được hiển thị theo từng vùng.
- Mục tên (name) có màu đỏ
- Mục địa chỉ(address) có màu trắng.
Hướng dẫn:
- Xem hướng dẫn trong slide 20 -24 phần “5 -DATA STORAGE”
Bài tập 8:
Mục đích:
- Thực hành với Serialization
- Thao tác với XMLSerializer
- Thao tác với DataContractSerializer
- Thao tác với DataContractJsonSerializer
- Ôn tập lại Pivot control
Đại Học Công Nghệ Đồng Nai Khoa Công Nghệ Thông Tin
Trang 82
Yêu cầu:
- Thiết kế phần mềm dùng Pivot control để tách Mainpage ra làm 3 giao diện như sau:
- Màn hình 1: Thao tác với XMLSerializer
- Màn hình 2: Thao tác với DataContractSerializer
- Màn hình 3: Thao tác với DataContractJsonSerializer
- Nút Save: Dùng để chuyển đổi qua từng kiểu Serializer tương ứng, dữ liệu được lấy từ ô
First name và Last name. Kết quả sẽ được hiển thị vào ô TextBox lớn dưới cùng.
- Nút Restore: Dùng để chuyển đổi ngược lại từ ô kết quả lên ô First name, Last name.
Hướng dẫn:
- Xem hướng dẫn trong slide 25 -35 phần “5 -DATA STORAGE”
- Tìm hiểu thêm internet
Bài tập 9:
Mục đích:
- Thực hành Web Resource
- Thông qua các Webclient, HttpRequest để lấy các thông tin từ internet.
- Cách tương tác với Flickr API để lấy hình ảnh, dữ liệu
- Cách lấy Flickr API key như thế nào
Yêu cầu:
- Viết phần mềm cho phép đọc các thông tin từ trang Flickr với giao diện như sau:
Đại Học Công Nghệ Đồng Nai Khoa Công Nghệ Thông Tin
Trang 83
- Mặc định khi khởi động chương trình sẽ tải thư viện hình ảnh và nội dung từ trang Flickr.
Hướng dẫn:
- Xem hướng dẫn trong slide 36 -44 phần “5 -DATA STORAGE”
- Tìm hiểu thêm internet
Bài tập 10:
Mục đích:
- Thực hành về HttpWebRequest
- Cách thức đọc dữ liệu từ trang web như thế nào
Yêu cầu:
- Viết chương trình cho phép đọc nội dung địa chỉ website như dưới đây:
Hướng dẫn:
- Xem hướng dẫn trong slide 36 -44 phần “5 -DATA STORAGE”
Đại Học Công Nghệ Đồng Nai Khoa Công Nghệ Thông Tin
Trang 84
Bài tập 11:
Mục đích:
- Sử dụng LinQ to SQL
- Cách dùng DataContext
- Hiểu được ORM trong Windows phone 8
Yêu cầu:
- Thiết kế chương trình quản lý sách như dưới dây:
- Màn hình chính sẽ hiển thị danh sách những đầu sách (tên sách và tên tác giả).
- Mỗi dòng dữ liệu có nút Delete để xóa đầu sách khỏi hệ thống.
- Chương trình hỗ trợ Application Bar menu cho phép hiển thị màn hình thêm mới một đầu
sách vào hệ thống.
- Tại màn hình thêm mới: Nhấn nút save để thêm mới, cancel để hủy, cả 2 thao tác này
đều quay trở lại màn hình chính. Cập nhập lại danh sách đầu sách ở màn hình chính khi
người sử dụng chọn nút save.
Hướng dẫn:
- Xem hướng dẫn trong slide 48 -52 phần “5 -DATA STORAGE”
Đại Học Công Nghệ Đồng Nai Khoa Công Nghệ Thông Tin
Trang 85
Bài tập 12:
Mục đích:
- Sử dụng SQLite
- Cách thức bổ sung thư viện SQLite for Windows Phone vào hệ thống
- Cách thức sử dụng project SQLiteWinRTPhone
- Cách tạo cơ sở dữ liệu bằng SQLite
- Cách tạo bảng và truy vấn thông tin.
Yêu cầu:
- Viết chương trình quản lý sách (mã sách, tên sách, số trang) với giao diện dưới đây:
- Mặc định khi khởi động chương trình sẽ hiển thị danh sách đầu sách trong cơ sở dữ liệu
SQLite lên Listbox (LonglistSelector).
- Nút Lưu sách: Cho phép đưa thông tin sách vào cơ sở dữ liệu SQLite, đồng thời cập nhật
lại giao diện.
- Nút Tiếp: Xóa thông tin trên TextBox và focus vào ô mã sách.
- Xử lý trên Listbox (LongListSelector):
o Nếu nhấn (Tap): Hiển thị lại thông tin sách của đầu sách đang chọn lên TextBox.
o Nếu nhấn lâu (Hold): Hiển thị cửa sổ hỏi chắc chắn mốn xóa hay không, nếu OK
là xóa, Cancel là không.
Hướng dẫn:
- Xem hướng dẫn trong slide 53 -59 phần “5 -DATA STORAGE”
Đại Học Công Nghệ Đồng Nai Khoa Công Nghệ Thông Tin
Trang 86
Bài tập 13:
Mục đích:
- Sử dụng SQLite
- Cách tạo bảng với nhiều tham chiếu.
Yêu cầu:
Cho cơ sở dữ liệu như hình bên dưới, viết lệnh tạo CSDL này bằng SQLite
- Tự thiết kế giao diện phù hợp để cho phép xem, thêm, sửa, xóa dữ liệu của từng bảng
Hướng dẫn:
- Dưới đây là ví dụ về cách tạo 2 bảng có mối quan hệ ràng buộc:
private async void LoadDatabase_Backup() {
db = new Database(ApplicationData.Current.LocalFolder, "sqlitedemo.db");
string sql = @"CREATE TABLE IF NOT EXISTS
Customer (Id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
Name VARCHAR( 140 ),
Contact VARCHAR( 140 )
);";
string description = "Create Customer table";
await ExecuteSQLStatement(db, sql, description);
sql = @"CREATE TABLE IF NOT EXISTS
Project (Id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
CustomerId INTEGER,
Name VARCHAR( 140 ),
Description VARCHAR( 140 ),
DueDate DATETIME,
FOREIGN KEY(CustomerId) REFERENCES Customer(Id) ON DELETE CASCADE
)";
description = "Create Project table";
await ExecuteSQLStatement(db, sql, description);
// Turn on Foreign Key constraints
sql = @"PRAGMA foreign_keys = ON";
description = "Enable foreign key constraints";
await ExecuteSQLStatement(db, sql, description);
}
Đại Học Công Nghệ Đồng Nai Khoa Công Nghệ Thông Tin
Trang 87
Module 6: Web Services And The Cloud
Nội dung kiến thức thực hành:
- Thực hành Web Service và Cloud
- Hiểu và thao tác được với SOAP, REST
- Thực hành WCF data Services: Odata client, Filtered, Query, Paging, Caching…
- Thực hành Web Service security
- Thực hành Windows Azure: Azure web services, Mobile services
Bài 1:
Mục đích:
Yêu cầu:
o
Hướng dẫn:
Bài tập 2:
Mục đích:
Yêu cầu:
Hướng dẫn:
Đại Học Công Nghệ Đồng Nai Khoa Công Nghệ Thông Tin
Trang 88
Module 7: Sensors
Nội dung kiến thức thực hành:
- Thực hành các thiết bị cảm ứng
- Thực hành Orientation
- Thực hành Maps
- Thực hành Proximity sensors: NFC, BlueTooth…
- Thực hành Speed APIs: Speech Synthesis, Speech to Text, Voice Commands.
- Thực hành Sensors: Accelerometer, Compass, Gyroscope
Bài 1:
Mục đích:
Yêu cầu:
Hướng dẫn:
-
Bài tập 2:
Mục đích:
Yêu cầu:
Hướng dẫn:
Đại Học Công Nghệ Đồng Nai Khoa Công Nghệ Thông Tin
Trang 89
Module 8: Assignment
Đề tài 1:
- Viết chương trình tra cứu từ điển Anh Việt – Việt Anh
Đề tài 2:
- Viết chương trình đăng ký học phần tín chỉ bằng SMS
Đề tài 3:
- Viết chương trình đăng ký học chứng chỉ tin học A, B bằng SMS
Đề tài 4:
- Viết game bắn bóng sử dụng Sensor
Đề tài 5:
- Viết chương trình quản lý Album ảnh
Đề tài 6:
- Viết chương trình gõ tiếng việt trong Android
Đề tài 7:
- Viết chương trình tìm đường đi
Đề tài 8:
- Viết game caro (chơi với máy)
Đề tài 9:
- Viết game xếp gạch
Đề tài 10:
Đại Học Công Nghệ Đồng Nai Khoa Công Nghệ Thông Tin
Trang 90
- Viết chương trình chỉnh sửa hình ảnh trong Windows Phone 8
Đề tài 11:
- Viết chương trình quản lý tài chính cá nhân
Đề tài 12:
- Viết game phi thuyền bằng Sensor
Đề tài 13:
- Mô phỏng trò chơi Line 98 trong Windows Phone 8
Đề tài 14:
- Viết chương trình nhận dạng khuôn mặt và dự đoán trong vòng 20 năm nữa thì khuôn
mặt đó sẽ thay đổi như thế nào
Đề tài 15:
- Viết chương trình vẽ đồ thị toán học trong Windows Phone 8
File đính kèm:
Final_WindowsPhone8_Exercise_2014.pdf

