1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ án tốt nghiệp “xây dựng ứng dụng nhật ký, đặt lịch công tác trên windows phone”

72 984 2
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Đồ án tốt nghiệp “Xây dựng ứng dụng nhật ký, đặt lịch công tác trên Windows Phone”
Người hướng dẫn PTS. Nguyễn Văn A
Trường học Đại Học Công Nghệ Thông Tin
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2014
Thành phố Hà Nội
Định dạng
Số trang 72
Dung lượng 1,85 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Những tính năng này bao gồm màn hình cảm ứng đa điểm , giao diện người dùng đẹp UI và Microsoft Windows Phone cũng được thiết kế vớigiao diện mới hiện đại có tên là Metro , Microsoft Win

Trang 1

LỜI MỞ ĐẦU

Ngày nay, cuộc sống luôn rất năng động và biến động không ngừng đòi hỏichúng ta cần phải biết tận dụng từng phút từng giây trôi qua để hoàn thành các công việc đề ra nhất là đối với những người bận rộn Nhưng đôi khi, do một lý

do nào đó hay ta có quá nhiều việc cần giải quyết làm chúng ta không thể xử lý một cách trọn vẹn, khoa học Các công việc trùng lặp làm ta cảm thấy mệt mỏi

và xử lý không hiệu quả Vì vậy, việc tổ chức thời gian, ghi lại các thông tin mộtcách khoa học là điều cực kỳ cần thiết trong cuộc sống hiện nay

Trong giai đoạn phát triển hiện nay, các điện thoại smartphone trở nên hết sức phổ biến, nền tảng Windows Phone là một trong số đó Mặc dù còn chiếm thị phần nhỏ nhưng theo các đánh giá trên thế giới thì Windows Phone là nền tảng phát triển với tốc độ nhanh nhất với thành công từ hàng loạt các dòng điện thoại Smartphone Theo đó, trong quý cuối cùng năm 2013, Windows Phone đã nắm giữ 3,6% thị phần hệ điều hành smartphone, đạt mức tăng trưởng 150% so với cùng kỳ năm 2012, đánh bại mức tăng trưởng 51,3% của hệ điều hành phổ biến nhất hiện nay là Android Và Windows Phone đã vượt qua BlackBerry để

tự tin vươn lên vị trí thứ 3 trên thị trường hệ điều hành smartphone Với tốc độ phát triển đó hứa hẹn trong tương lai Windows Phone sẽ là một nền tảng di động được rất nhiều người dùng và phổ biến trên thế giới

Xuất phát từ những điều trên em đã chọn đồ án : “Xây dựng ứng dụng nhật

ký, đặt lịch công tác trên Windows Phone” Đồ án đã xây dựng được một ứng dụng cần thiết cho người dùng

Quá trình làm đồ án em đã được thầy tận tình chỉ dạy và giúp đỡ nhiều,

song trong thời gian làm đồ án chắc chắn còn thiếu sót, rất mong thầy cùng các bạn đóng góp ý kiến để đồ án hoàn thành tốt hơn

Trang 2

LỜI MỞ ĐẦU 1

MỤC LỤC 2

Chương 1 : Cơ sở lý thuyết 3

1 Tổng quan về Windows Phone 3

2 Thông số kỹ thuật Windows Phone 4

3 Giới thiệu về Windows Phone Application Platform 8

4 Đôi nét về Web Service, WCF 15

Chương 2 : Lập trình trên Windows Phone 22

1 Các thành phần cơ bản trong WP 22

1.1 Ứng dụng đầu tiên với WP7 22

1.2 Sự điều hướng trong WP7 29

1.3 Giới thiệu về Touch Event 30

1.4 Bitmap hay Textures trên WP7 31

1.5 Đôi nét về kiến trúc ứng dụng 33

2 Sự chuyển trang (Basic Navigation) 34

3 Isolated Storage 39

4 Ngôn ngữ XAML 40

5 Kế thừa property: 42

Chương 3 : Chương trình ứng dụng 43

1 Bài toán : Xây dựng ứng dụng nhật ký,đặt lịch công tác trên Windows Phone 43

2 Yêu cầu về chức năng bài toán 44

3 Thiết kế các thành phần ứng dụng 45

4 Đặt lịch công tác 54

5 Cơ sở dữ liệu: 55

6 Phần đồng bộ cở sở liệu với Server 59

7 Thiết kế giao diện chương trình : 64

KẾT LUẬN 69

Trang 3

Chương 1

CƠ SỞ LÝ THUYẾT

1 Tổng quan về Windows Phone

Microsoft Windows Phone là một chiếc điện thoại tuyệt vời của người tiêu dùng vì nó có tất cả các tính năng mà người dung quen thuộc với điện thoại thông minh iPhone của Apple và Android như Motorola Droid và HTC

Incredible Những tính năng này bao gồm màn hình cảm ứng đa điểm , giao diện người dùng đẹp (UI) và Microsoft Windows Phone cũng được thiết kế vớigiao diện mới hiện đại có tên là Metro , Microsoft Windows Phone cũng hỗ dịch vụ mạng xã hội thong dung như Facebook , nó cũng hỗ trợ cho các tài

khoản e -mail phổ biến như Yahoo , Hotmail, Google , AOL, và , nếu bạn là mộtdoanh nghiệp thì với Microsoft Exchange một phiên bản của Microsoft Office

mà bạn có thể sử dụng đọc, chỉnh sửa , lưu, và đồng bộ các tập tin Word, bảng tính Excel, và các định dạng văn phòng khác , làm cho nó trở thành một chiếc điện thoại tuyệt vời cho những người sử dụng Office tại nhà hoặc tại văn phòng Windows Phone cũng có thể tích hợp với Xbox LIVE,giúp cho nó là một lựa chọn tuyệt vời cho các game thủ

Microsoft Windows Phone sử dụng phần mềm Zune để đồng bộ hóa các ứng dụng được cài đặt , hình ảnh , âm nhạc,và sao lưu và cập nhật hệ điều hành flash Với một nhà phát triển , bạn cũng sẽ sử dụng Zune kết hợp với Visual Studio để gỡ lỗi các ứng dụng của bạn trên một thiết bị thật

Microsoft cũng giới thiệu các khái niệm về một trung tâm với các điện thoại Windows: một trung tâm nơi người dùng có thể lưu trữ tất cả các địa chỉ liên lạc của họ và kết nối mạng xã hội ; một trung tâm âm nhạc nơi người tiêu dùng có thể nghe , tải về, và mua nhạc ; và một Trung tâm ứng dụng, còn được

Trang 4

gọi là Marketplace , đó là nơi mà bạn rất quan tâm vì bạn đưa lên các ứng dụng

mà bạn tạo ra

Một trong những điều tuyệt vời về Windows Phone là Microsoft áp đặt các chi tiết kỹ thuật phần cứng trên các nhà sản xuất điện thoại , làm cho nó dễ dàng cho bạn để phát triển một ứng dụng mà không lo lắng về cách viết mã đặc biệt cho các thiết bị cụ thể Đối với bất kỳ phiên bản tương lai của điện thoại, bạn được đảm bảo rằng các ứng dụng bạn viết hôm nay sẽ làm việc không phụ thuộc vào thương hiệu của điện thoại

Đương nhiên, ta muốn biết những gì ngôn ngữ mà bạn sẽ cần phải nắm vững cho công việc của bạn ,ta cần thành thạo các ngôn ngữ mà cần thiết cho công việc lập trình của bạn.Ngôn ngữ thong dụng là C # và Visual Basic (VB)

Đối với một phát triển ứng dụng , bạn có hai lựa chọn: Silverlight hoặc XNA, hoặc cả 2

Trước tiên, chúng ta cần xem xét kỹ hơn các tính năng phần cứng mà bạn cần biết trên một điện thoại Windows

2 Thông số kỹ thuật Windows Phone

Trước hết chúng ta cần biết có những gì trong thông số kỹ thuật phần cứng của 1 chiếc điện thoại Microsoft Windows điều này sẽ giúp chúng ta chuẩn bị cho các yêu cầu của dự án lập trình ứng dụng điện thoại Microsoft Windows Phone

Bảng ở dưới liệt kê các phần cứng tối thiểu yêu cầu bất kỳ nhà sản xuất Windows Phone phải đáp ứng và cũng bao gồm các đề xuất họ có thể tác động đến các nhà phát triển như bạn như thế nào

Trang 5

Tính năng phần cứng Mô tả chi tiết

 Must display at

WVGA (800 x 480)

WP7 được thiết kế để hiển thị tốt các hình ảnh có chất lượng cao với mật độ pixel lớn Trên WP7 chúng ta có thể thấy các dòng chữ được hiển thị với độ mịn cao Thế nhưng để hiển thị càng nhiều pixel ảnh ta sẽ phải hao tổn bộ nhớ ram cũng như hao tốn pin hơn WP7 biết sẽ làm cho màn hình hiển thị ảnh thích hợp nhất với màn hình và pin củacellphone Vì vậy bạn có thể mở những file ảnh lớn

mà không lo về chất lượng hiển thị cũng như sử ảnh hưởng tới thời lượng pin

 Four-point

multi-touch capable

Các thiết bị di động đời cũ có màn hinh cảm ứng thì thường là cảm ứng điện trở dựa vào lực tác động lên màn hình Còn các thế hệ cellphone chạy WP7 thì thường dùng màn hình cảm ứng điện dung, nó hoạt động dựa trên các electron âm trên đầu ngón tay của người sử dụng Vì vậy màn hình điện dung dễ dàng hỗ trợ đa chạm trên màn hình từ

đó đem lại cho người dùng trải nghiệm hoàn toàn mới trên thiết bị di động

Điều này có nghĩa điện thoại sẽ có một đơn vị xử

lý đồ họa (GPU), cho phép nhiệm vụ đồ họa mạnh

Trang 6

acceleration thoại Điều này sẽ giúp bạn tạo ra các ứng dụng rất

trơn tru và đáp ứng và trò chơi Điều này cũng có nghĩa là trò chơi 3D là

có thể

 GPS

Hầu hết các thiết bị chạy WP7 đều có hệ thống GPS nhằm giúp cho người dùng có thể xác định vị trí và tìm đường thông qua phần mềm hỗ trợ như GoogleMaps hoặc BingMaps Có thể nói tính năng này dường như không thể thiếu trên các thiết

bị di động thông minh hiện nay

 Accelerometer

Bộ gia tốc là một thiết bị phần cứng giúp hệ điều hành nhận biết độ rung,lắc hay hướng di chuyển của thiết bị Từ thiết bị này xuất hiện rất nhiều chức năng được yêu thích như lắc đổi bài nhạc, chơi game đua xe trên iphone

Trang 7

 Chúng ta không thể can thiệp vào camera khiđang quay nếu không được hỗ trợ từ phía phần cứng camera Tức ở đây bạn không thể chèn hình lên camera đang hoạt động được.Thứ 2: chúng ta không thể chụp một bức ảnh mà không có sự đồng ý từ phía người dùng

và truy xuất nhanh Trên WP7 thì chúng ta có ít nhất 256MB bộ nhớ RAM và ít nhất 8GB ổ dữ liệu Với bộ nhớ máy như trên nên WP7 sẽ tối ưu lại tất cả phần mềm sao cho phần mềm chạy mượt

mà nhất có thể trên phần cứng bị giới hạn như vậy

Trang 8

3 Giới thiệu về Windows Phone Application Platform

Microsoft không phát minh ra bất kỳ ngôn ngữ mới hoặc các khuôn khổ cho nền tảng ứng dụng Windows Phone Điều này có nghĩa rằng chúng ta có thể sử dụng chương trình như Visual Studio với các ngôn ngữ thông dụng (C # và VB với NET Framework ) để tạo ra các ứng dụng mong muốn

Một lớp cơ sở thư viện phổ biến mà tất cả những gì NET cung cấp là

Microsoft.NET nó bao gồm các hỗ trợ cho multithreading, XML, Linq,

collections, events, data, exceptions, IO, service model, networking, text,

location, reflection, globalization, resources, runtime, security, and diagnostics Nền tảng ứng dụng Windows Phone bao gồm hai frameworks: Silverlight và XNA Bạn có thể dung Silverlight cho các ứng dụng kinh doanh hay trò chơi đơn giản 2D

Silverlight sử dụng Extensible Application Markup Language ( XAML ) , một đánh dấu khai báo ngôn ngữ để tạo ra giao diện người dùng hấp dẫn Nhà thiết kế sẽ có sự linh hoạt rất lớn trong việc tạo ra UI cho Windows Phone ;

bằng cách sử dụng các công cụ quen thuộc như Adobe Illustrator, Photoshop ,

và Microsoft Expression Design Với các công cụ này chúng ta có thể tạo ra một giao diện người dùng có thể dễ dàng chuyển đổi thành XAML

XNA được sử dụng chủ yếu cho tạo ra các trò chơi Nó có thể cho phép

chúng ta tạo ra được các trò chơi 3D

3.1 Silverlight cho Windows Phone

Microsoft Silverlight là một nền tảng ứng dụng (application framework)

được viết và chạy các ứng dụng Internet phong phú với sự nhấn mạnh về đa phương tiện, hình động, và đồ họa, với các tính năng và mục đích tương tự như của Adobe Flash Môi trường thời gian chạy (hệ thống thực thi) cho Silverlight

Trang 9

phiên bản đầu của Silverlight tập trung vào dòng phương tiện truyền

thông (streaming media), các phiên bản hiện tại hỗ trợ đa phương tiện, đồ

họa và hoạt hình (animation), và cung cấp cho các nhà phát triển hỗ trợ

cho ngôn ngữ CLI và công cụ phát triển

Silverlight phiên bản 3 hổ trợ cho Windows Phone 7 các tính năng như :

- Networking (HttpWebRequest, WebClient)

- Windows Communication Foundation (WCF)

3.2 XNA cho Windows Phone

Giống như Silverlight, XNA không phải là một công nghệ mới XNA là 1 nền tảng phát triển được tạo bởi Microsoft, nó chứa đựng các chi tiết công nghệ

ở mức độ thấp liên quan trong việc tạo ra 1 game và cho phép bạn tập trung vào

Trang 10

trên cùng của NET Framework, tiêu chuẩn của Micorsoft phát triển nền tảng, vàbao gồm một thư viện công cụ và code cho phép các nhà phát triển tạo ra nhiều trò chơi cho Windows, Xbox 360 và Windows Phone

XNA Framework đã được phát triển trong những năm qua và hiện tại bao gồm các hỗ trợ về audio và phát lại video, Xbox Live tính năng nhiều người

chơi, Xbox 360 avatars, và nhiều hơn nữa Điều quan trọng nhất cho các mục đích của bạn, nó làm cho nó dễ dàng để vẽ trên màn hình của thiết bị mà bạn đang làm việc với nó

3.3 Công cụ phát triển

Chúng ta có thể tải về các công cụ cần thiết cho việc phát triển ứng dụng

Window Phone từ các trang tải công cụ của Microsoft.Trang Getting Started cũng có tài liệu và các hướng dẫn phong phú Chúng ta cũng cần xem xét tải về Giao diện thiết kế và tương tác , các hướng dẫn để hiểu được Metro

Trang 11

Màn hình cho công cụ lập trình Visual Stuodio 3.5 Expression Blend

Với Expression Blend chúng ta có thể phát triển các ứng dụng hấp dẫn sử dụng Silverlight cho Windows Phone Thông thường Expression Blend được sửdụng bởi các nhà thiết kế, và hầu hết các chức năng của Expression Blend cũng tương tự như trong Adobe Illustrator, Photoshop

Chúng ta cũng có thể nhập bất kỳ Illustrator và Photoshop tập tin vào

Trang 12

nhiên nó sẽ rất khó khăn khi viết mã XAML phức tạp để tạo đồ họa phức tạp hoặc những chuỗi động.

Màn hình chính công cụ Expression Blend

3.6 Windows Phone Emulator

Windows Phone emulator được tích hợp với Visual Studio và mô phỏng mộtthiết bị thực Tuy nhiên, có những điều bạn không thể làm trong các giả lập Ví

dụ, bạn không thể kiểm tra bất kỳ tính năng đòi hỏi phải có một thiết bị vật lý, chẳng hạn như gia tốc, GPS, la bàn, FM radio, tin nhắn SMS, e-mail, điện thoại gọi điện thoại, danh sách liên lạc, và máy ảnh

Tuy nhiên, một kỹ thuật được gọi là phản ứng mở rộng mà bạn có thể sử

Trang 14

kết nối trực tiếp đến cơ sở dữ liệu Trong bài, em sử dụng Web Service qua

WCF

Ngoài ra còn có dịch vụ Bing Maps mà bạn có thể sử dụng một cách tự do Bing Maps là tiện ích miễn phí trong việc phát triển một ứng dụng Windows Phone Cùng với dịch vụ Bing Maps , Microsoft cung cấp Bing Maps điều

khiển trong Silverlight mà bạn có thể sử dụng trong Windows Phone

Dịch vụ thông báo đẩy được lưu trữ trong đám mây cũng ; những cho phép bạn để đẩy thông điệp đếnđiện thoại - một cơ chế tin nhắn rất mạnh mẽ Bạn sẽ tìm hiểu thêm về điều này trong

3.8 Metro Design

Để cung cấp một giao diện người dùng hấp dẫn, Microsoft đã đưa ra thiết kếMetro Thiết kế Metro xuất phát từ ngành công nghiệp giao thông vận tải kiểu chữ và thiết kế trực quan nơi chuyên gia bận rộn liên tục quét và đi ; vì điều này,Metro thiết kế đặt nhấn mạnh vào thiết kế đơn giản và sạch sẽ

Thiết kế Metro sau năm nguyên tắc

 Nguyên tắc đầu tiên nhấn mạnh ý tưởng như sạch sẽ , ánh sáng , cởi mở,

và trật tự và có các thuộc tính như kiểu chữ đơn giản để đọc vì người tiêudùng sẽ được sử dụng điện thoại để đọc e-mail , tin nhắn SMS ,

Facebook, và Twitter trong khi di chuyển

 Nguyên tắc thứ hai của thiết kế Metro đặt tập trung vào nội dung, nơi màcác tiền đề thiết kế hướng đến trình bày nội dung

 Nguyên tắc thứ ba tập trung vào tích hợp liền mạch của phần cứng và phần mềm

 Nguyên tắc thứ tư đặt trọng tâm cử chỉ , nơi mà các thiết kế cho phép một đẳng cấp thế giới trải nghiệm người dùng cảm ứng đa điểm

Trang 15

 Cuối cùng, thiết kế Metro khái niệm tập trung vào một ứng dụng là có hồn và sống động , nơi mà thông tin quan trọng nhất với các người sử dụng được trình bày trong một cách mà có thể dễ dàng truy cập bằng mộtliên lạc

4 Đôi nét về Web Service, WCF

4.1 Windows Communication Foundation (WCF) là gì?

 WCF là công nghệ nền tảng nhằm thống nhất nhiều mô hình lập trình giao tiếp được hỗ trợ trong NET 2.0 thành một mô hình duy nhất Vàotháng 11 năm 2005, NET 2.0 được Microsoft phát hành trong đó có cung cấp các hàm API riêng biệt cho các liên lạc dựa trên SOAP để tối

đa hoá sự làm việc giữa các nền tảng sử dụng Web Services, đồng thời.NET 2.0 còn cung cấp các API để tối ưu việc liên lạc dựa trên mã nhị phân giữa các ứng dụng chạy trên hệ thống Windows gọi là NET

Remoting, các API cho các giao dịch phân tán, và API cho liên lạc dị

bộ WCF thống nhất các API này thành một mô hình duy nhất nhằm đáp ứng mô hình lập trình hướng dịch vụ

 WCF có thể sử dụng các bản tin SOAP giữa hai tiến trình, do đó làm cho các ứng dụng dựa trên WCF có thể làm việc với các tiến trình khácthông qua việc giao tiếp sử dụng bản tin SOAP Khi một tiến trình

WCF liên lạc với một tiến trình không là WCF, các bản tin SOAP

được mã hoá trên cơ sở XML, nhưng khi nó liên lạc với một tiến trình WCF khác, bản tin SOAP có thể được tối ưu hoá dựa trên mã hoá nhị phân

4.2 Tại sao sử dụng WCF?

Như phần trên đã trình bày, NET 2.0 hỗ trợ rất nhiều phương pháp liên lạc giữa các ứng dụng khác nhau nhằm vào các mục tiêu khác nhau Các phương pháp liên lạc này khá phức tạp và phải mất nhiều thời gian để làm chủ được

Trang 16

có khả năng dùng được khi làm việc với phương pháp khác

Với việc ra đời của WCF, mọi phương pháp liên lạc trước kia đều có thể thựchiện trên WCF Do vậy nhà phát triển chỉ cần làm chủ được công nghệ WCF là

có thể xây dựng các ứng dụng một cách nhanh chóng

WCF là một mô hình lập trình cho phép nhà phát triển xây dựng các giải

pháp dịch vụ đảm bảo tính ổn định, và bảo mật và thậm chí là đảm bảo giao

dịch Nó làm đơn giản hoá việc phát triển các ứng dụng nối kết và đưa ra cho nhà phát triển những giá trị mà có thể họ chưa nhận ra ngay, đó là cách tiếp cận phát triển hệ thống phân tán thống nhất, đơn giản, và quản lý được

Do WCF được xây dựng trên cơ sở của NET Framework 2.0 CLR, nó là tậpcác lớp cho phép các nhà phát triển xây dựng các ứng dụng hướng dịch vụ bằng môi trường lập trình quen thuộc của họ như VB.NET hay C#

4.3 Kiến trúc của WCF

Hình sau mô tả các lớp chủ yếu trong kiến trúc của Windows

Communication Foundation (WCF)

Trang 17

Các contracts (Các hiệp nghị)

Các contract trong WCF cũng giống như các hợp đồng/hiệp định mà bạn

ký trong đời sống thật Một hợp đồng bạn ký có thể chứa các thông tin như kiểu công việc bạn sẽ làm, và những thông tin mà bạn muốn đưa ra cho các bên khác.WCF contract cũng chứa các thông tin tương tự như vậy Contract định nghĩa các đặc tả trong hệ thống bản tin.Thông thường có các loại contract sau:

 Contract dữ liệu mô tả các tham số cho các bản tin mà một dịch vụ có thể tạo ra hay sử dụng Các tham số bản tin được định nghĩa bằng các tài liệu sử dụng ngôn ngữ đặc tả XML Schema (XSD), điều này cho

Trang 18

khi liên lạc với nhau có thể không cần đồng ý với nhau về các kiểu, nhưng cần đồng ý về contract dữ liệu, nghĩa là đồng ý về các tham số

và các kiểu trả về

 Contract bản tin định nghĩa các phần có trong bản tin sử dụng các giao thức SOAP, và nó cho phép điều khiển sâu hơn tới các phần trong bản tin khi có yêu cầu sự chính xác như vậy

 Contract dịch vụ đặc tả chi tiết các phương thức của dịch vụ, và được phân phối như là một giao diện trong các ngôn ngữ lập trình như

Visual Basic hay Visual C# Có thể hình dung về contract dịch vụ một cách gián tiếp như sau: „Đây là các kiểu dữ liệu của các bản tin của tôi, đây là nơi tôi cung cấp, và đây là các giao thức mà tôi có thể liên lạc”

 Các chính sách và các kết nối (bindings) mô tả các điều kiện cần có để giao tiếp với một dịch vụ Các chính sách sẽ bao gồm cả các yêu cầu

về bảo mật và các điều kiện khác cần phải có khi kết nối với một dịch vụ

4.4 Runtime service (Dịch vụ thực thi):

Lớp dịch vụ thực thi chứa các hành xử sẽ xảy ra trong quá trình thực hiện của dịch vụ, nghĩa là các hành xử thực thi của dịch vụ Ta sẽ thấy một số các hành

Trang 19

- Instance behavior: Hành xử thực thể quy định xem có bao nhiêu thực thể của dịch vụ đó được chạy

- Transaction behavior: Hành xử giao dịch cho phép việc rollback các giao dịch nếu xảy ra lỗi

- Message inspection: Kiểm tra bản tin đem lại cho dịch vụ khả năng kiểm tra tất cả hay một số phần của bản tin

- Dispatch behavior: Khi một bản tin được xử lý bởi nền tảng

WCF, dịch vụ Dispatch behavior xác định xem bản tin được xử lý như thế nào

- Concurrency behavior: Hành xử đồng thời xác định xem việc xử

lý thế nào với việc đa luồng của mỗi dịch vụ hay mỗi thực thể của dịch vụ Hành xử này giúp cho việc điều khiển số lượng luồng có thể truy nhập tới một thực thể của dịch vụ

- Parameter filtering: Khi một bản tin được đưa tới một dịch vụ,

sẽ xảy ra một số hành động dựa trên nội dung phần đầu đề của bản tin Phần lọc tham số sẽ thực hiện lọc các đầu đề bản tin và thực hiện các hành động đặt sẵn dựa trên việc lọc đầu đề bản tin

4.5 Message (Bản tin)

Lớp bản tin là tập hợp các kênh Mỗi kênh là một thành phần xử lý bản tin theo một cách nào đó Một tập các kênh thường được gọi là ngăn xếp kênh Các kênh làm việc trên bản tin và trên đầu đề của bản tin Lớp này khác với lớp thực thi dịch vụ chủ yếu bởi sự khác nhau trong việc xử lý nội dung bản tin

Có hai kênh khác nhau là kênh vận chuyển (transport channel) và kênh điều khiển (control channel)

- Kênh vận chuyển phụ trách việc đọc và ghi các bản tin từ mạng (network) hoặc từ một số điểm giao dịch bên ngoài)

Trang 20

- Kênh điều khiển thực hiện xử lý bản tin theo giao thức, thông thường làm việc bằng cách đọc và ghi thêm các đầu đề cho bản tin

4.6 Host and activation (Chứa và kích hoạt)

Nhìn một cách tổng thể thì một dịch vụ thực chất là một chương trình Cũng giống như các chương trình khác, một dịch vụ cần phải chạy trong một tệp thực thi Dịch vụ này thường được gọi là dịch vụ tự chứa

Các dịch vụ còn có thể được chứa, hoặc chạy trong một tệp thực thi được quản

lý bởi một agent bên ngoài như IIS hay Windows Activation Services (WAS) WAS cho phép WCF được kích hoạt một cách tự động khi phân phối tới một máy tính có chạy WAS

4.7 Các tính năng của WCF

WCF có nhiều tính năng và sẽ được mô tả chi tiết trong toàn bộ khoá học Mụcnày chỉ nhằm mục đích thảo luận một số tính năng của WCF Danh sách các tínhnăng ở đây không phải là danh sách hoàn chỉnh, mà chỉ hy vọng là danh sách các tính năng “đỉnh” nhất

4.7.1 Transaction (Giao dịch)

 Một giao dịch là một đơn vị của công việc Một giao dịch đảm bảo chắc chắn rằng mọi thứ diễn ra trong giao dịch thành công hay thất bại đều là kết quả tổng thể Ví dụ, nếu một giao dịch chứa ba mục công việc cần thực hiện, trong quá trình thực hiện giao dịch, một trong số các mục đó bị thất bại, khi đó cả ba mục

sẽ là thất bại Giao dịch chỉ thành công khi cả ba mục công việc đều thành công Giao dịch thường thấy trong các thao tác với cơ

sở dữ liệu

 WCF cho phép đưa vào việc xử lý giao dịch như trên với các liên lạc Nhà phát triển có thể nhóm các liên lạc với nhau thành

Trang 21

các giao dịch Ở mức doanh nghiệp, tính năng này cho phép bạn thực hiện các công việc giao dịch qua các nền tảng khác nhau.

 Chứa ứng dụng trên IIS còn có thêm các lợi điểm khác là dịch

vụ có thể nhận các ưu điểm của rất nhiều tính năng có sẵn trên IIS, ví dụ IIS có thể điều khiển một cách tự động việc bắt đầu hay kết thúc một dịch vụ

4.7.3 Bảo mật

 Bảo mật là tính năng không thể thiếu trong WCF nói riêng và trong liên lạc nói chung Trong WCF, tất cả mọi thứ từ các bản tin tới các client hay server đều phải xác thực và WCF có tính năng để đảm bảo rằng các bản tin không bị lẫn trong quá trình vận chuyển WCF bao gồm việc đảm bảo tính toàn vẹn và bảo mật của bản tin

 WCF còn cho phép bạn tích hợp ứng dụng của bạn với cơ sở hạ tầng bảo mật sẵn có, bao gồm cả các chuẩn bên ngoài môi trường Windows bằng cách sử dụng các bản tin SOAP bảo mật cung cấp một nền tảng chung cho tất cả NET

Khái quát lại ta có thể hiểu WCF là một sự kết hợp các tính năng

của Web Service, Remoting, MSMQ và COM+ WCF cung cấp một nền tảng

chung cho tất cả NET Nó là một phần của NET

Trang 22

Chương 2 LẬP TRÌNH TRÊN WINDOWS PHONE

Với việc ngày càng thu hút được nhiều người dùng các sản phẩm của

Windows Phone Microsoft đã phát triển rất nhiều các hỗ trợ nhằm phục vụ cho lập trình viên để phát triển các ứng dụng trên Windows Phone Dưới đây là 1 số các nền tảng chung nhất cần thiết giúp em lập trình ứng dụng nhật ký, đặt lịch trên Windows Phone Cụ thể là các lập trình ứng dụng trên Windows Phone

SDK 7.1

1 Các thành phần cơ bản trong WP

1.1 Ứng dụng đầu tiên với WP7

Mã code WP7 được viết trên nền NET nên nó rất quen thuộc với lập trìnhviên NET Chúng ta có thể download Visual Studio Express For WP7 phiên bảnmiễn phí để có thể lập trình cho thiết bị WP7 Ngoài ra Microsoft còn cung cấp

bộ công cụ Blend miễn phí để lập trình viên có thể dễ dàng thiết kế giao diện trên WP7

Tóm lại ban đầu ta cần phải cài các bộ công cụ sau để có thể lập trình trên WP7:

- Visual studio 2010 express for window phone

- Windows Phone Developer Tools

- Silverlight For WP7 Toolkit

Bây giờ chúng ta đã có thể bắt đầu ứng dụng đầu tiên với WP7 Ban đầu trong template của visual studio 2010 bây giờ đã có template “Silverlight For Windows Phone” của ứng dụng WP7

Khi khởi tạo project xong, ta sẽ thấy xuất hiện hình ảnh WP7 như sau:

Trang 23

Hình 1: Khởi tạo projectTrên màn hình design trên ta có thể kéo các control từ Toolbox bar để có thiết kế giao diện một cách dễ dàng Điều quan trọng ta cần lưu ý là khi bạn lập trình cho WP7 bạn có thể chạy chương trình của bạn trên WP7 emulator hoặc trên thiết bị thật thông qua dây cắm USB Để cấu hình khi chạy ứng dụng bạn cóthể chọn như hình sau:

Hình 2: Chọn chế độ chạy phần mềm.

Trang 24

Để có thể hiểu phần nào cấu trúc phần mềm ta sẽ nhin vào cây thư mục của phần mềm:

Hình 3: Cấu trúc project WP7

Ta sẽ tìm hiểu cấu trúc cũng như nhiệm vụ của các thành phần trong

project như sau:

File App.xaml, App.xaml.cs và MainPage.xaml, MainPage.xaml.cs: Nếu

là lập trình viên NET ta hoàn toàn có thể biết ngay rằng các file có đuôi cs là những file “code-behind” còn những file có đuôi xaml là những file Extensible Application Markup Language (XAML) tương tác với các file cs tương ứng

Mở file App.xaml.cs ta sẽ cấu trúc quen thuộc như sau:

Trang 25

} }

}

Ở đây ta cần chú ý các class được đặt là “partial” vì Microsoft đã chuẩn

bị cho nó khả năng kêu thêm một file cs mới có các thành viên của class App này

Cấu trúc file App.xaml như sau:

<Application

x:Class="PhoneApp1.App"

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentati on"

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone" xmlns:shell="clr-

Đúng cú pháp của ngôn ngữ XAML trong Silverlight bạn phải có

element root và sau đó phải khai báo 4 XML Namespace

Property “xmlns” là namespace tiêu chuẩn rất phổ biến trong Silverlight

và property xmlns đầu tiên giúp cho compiler định nghĩa được class khi thực thi

Propery XML thứ 2 thì tham chiếu tới những element và đặc tính khác

đã được trong nhân Silverlight

Trong project WP7 ta có thể gặp thường xuyên 2 property tương tự nhau

Trang 26

Khi chương trình bắt đầu chạy, từ App Class sẽ tạo ra object

PhoneApplicationFrame PhoneApplicationFrame sử lý như một web browser

và sẽ gọi class MainPage

MainPage.xaml và MainPage.xaml.cs là thành phần bắt buộc trong

Silverlight Đây là trang chủ của chương trình tức khi chương trình được chạy thành công sẽ đến trang này Xét qua MainPage.xaml.cs class ta sẽ thấy cấu trúc của nó rất đơn giản:

Trang 27

Việc kết thừa class PhoneApplicationPage mang lại cho class MainPage

kế thừa đầu đủ các tính năng của một trang ứng dụng WP7 Phần giao diện sẽ dofile MainPage.xaml quyết định Mở file MainPage.xaml ta sẽ thấy cấu trúc như sau:

<phone:PhoneApplicationPage

x:Class="PhoneApp1.MainPage"

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/ presentation"

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:phone="clr-

namespace:Microsoft.Phone.Controls;assembly=Microsoft.Ph one"

xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone

"

xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-

Trang 28

<! TitlePanel contains the name of the application and page title >

<StackPanel x:Name="TitlePanel" Grid.Row="0"

Margin="12,17,0,28">

<TextBlock x:Name="ApplicationTitle" Text="MY

APPLICATION" Style="{StaticResource PhoneTextNormalStyle}"/> <TextBlock x:Name="PageTitle" Text="page name"

Margin="9,-7,0,0" Style="{StaticResource

PhoneTextTitle1Style}"/>

</StackPanel>

<! ContentPanel - place additional content here >

<Grid x:Name="ContentPanel" Grid.Row="1"

Margin="12,0,12,0"></Grid>

</Grid>

</phone:PhoneApplicationPage>

Thoạt nhìn qua ta sẽ nhìn thấy 4 khai báo xml đầu giống với file

App.xaml Còn lại có một số keyworld ta cần nắm là namespace “d” là viết tắt cho chữ “design” và “mc” là viết tắt của “markup compatibility” và 2 từ khóa trên là thế mạnh của ngôn ngữ XAML Xét về cơ bản XAML cũng là ngôn ngữ giống như HTML thế nhưng XAML lại được Microsoft trang bị cho những khả năng đồ họa tuyệt vời với cú pháp chặt chẽ hơn

Ta có thể nhìn thấy đoạn mã XAML trên đã xét các property FontSize, FontFamily và Fontground thông qua một StaticResource Ta sẽ nghiên cứu kĩ hơn về StaticResource trong chương sau nhưng qua đây bạn có thể nào hình

dung được khả năng quản lý resource rất tốt của Silverlight For WP7

Phần cuối cùng trong phần này, chúng ta sẽ phải nắm rõ rằng khi mình build project WP7 thì file thực thi chứa tất cả mã lệnh và resource của chương trình sẽ được nằm trong file có đuôi là XAP và file XAP đã được tối ưu hóa để làm sao có thể chạy nhanh nhất khi chạy Thực ra file XAP chỉ tương tự như fileZIP mà thôi Ta hoàn toàn có thể giải nén nó như một file ZIP bình thường Ta

có thể tìm thấy file XAP trong thư mục Debug/Bin Khi bạn đẩy ứng dụng lên thiết bị thật, ta chỉ cần deploy file XAP là đủ

Trang 29

1.2 Sự điều hướng trong WP7

Mặc định khi khởi tạo project WP7 thì mặc định chương trình được thiết

kế theo chiều thẳng đứng (chế độ Portrait ) Thế nhưng ta có thể dễ dàng thay đổi giao diện cho phù khi người dùng để máy nằm ngang (chế độ Landscape)

Hình 4: Chế độ Portrait

Hình 5: Chế độ Landscape.

Trang 30

Mặc định thì project sẽ không hỗ trợ tự động chuyển đổi giao diện khi bạnthay đổi hướng sử dụng thiết bị từ Portrait sang Landscape Vì vậy bạn cần phải cấu hình cho thiết bị tự động chuyển đổi giao trong XAML trong giao diện lập trình WP7.

1.3 Giới thiệu về Touch Event

Hiện nay các dòng điện thoại thông minh phần lớn đều hoạt được dựa trênmàn hình cảm ứng đa chạm có kích thước lớn nhỏ khác nhau Vì vậy các nhân

hệ điều hành thiết bị di động thường hỗ trợ tối đa việc xử lý trên các màn hình cảm ứng đa chạm WP7 cũng không nằm ngoài số đó Đối với các ứng dụng

bình thường, có thể ta chưa thể hình dung hay so sánh khả năng cảm ứng mà hệ điều hành hỗ trợ Thế nhưng khi ta chơi game cần tới những động tác phức tạp

và cần độ nhạy cao, ta sẽ có thể cảm nhận được khả năng xử lý của một hệ điều hành có tốt hay không

Trong phần này, ta sẽ làm quen với các sự kiện cảm ứng trên thiết bị

WP7 Ta sẽ có thể hình dung một cách dễ dàng thông qua các hình vẽ sau:

Trang 31

Sau đây ta sẽ có thể bắt đầu ứng dụng làm quen với việc xử lý sự kiện cảm ứng trên WP7 Để giúp chúng ta làm việc dễ dàng với màn hình cảm ứng, Microsoft đã cung cấp cho ta class GestureService Thông qua nó ta se dễ dàng bắt được sự kiện và xử lý chúng một cách dễ dàng

Chú ý: class GestureSerive được cung cấp thông qua bộ toolkit WP7 chứ không phải ở trong bộ Windows Phone 7 Developer

Class GestureService được sử dụng bằng cách một GestureListener vào element cần xử lý Ban đầu ta cần add file dll

Microsoft.Phone.Controls.Toolkit.dll vào project (ta có thể tìm theo đường dẫn

sau “C:\Program Files (x86)\Microsoft SDKs\Windows Phone \v7.0 \Toolkit \Nov10\Bin\Microsoft.Phone.Controls.Toolkit.dll”)

Sau đó ta cần thêm namespace trong file xaml cần xử lý như sau:

xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Pho ne.Controls.Toolkit"

1.4 Bitmap hay Textures trên WP7

Hệ điều hành WP7 hỗ trợ cho ta 3 loại định dạng chính:

- JPEG (Joint Photography Experts Group)

- PNG (Portable Network Graphics)

- GIF (Graphics Interchange File)

Trang 32

Để làm quen với việc sử dụng image trong WP7, ta sẽ phải làm quen với thẻ image trong xaml và một số khái niệm build một image trong WP7 Có hai loại build chinh cho một image trong project WP7

- Build loại Content: tức khi này file ảnh sẽ được include vào file XAP nhưng nằm ở ngoài file dll

- Build loại Resource: tức khi này file ảnh sẽ được nhúng vào trong file DLL

Vì cách build hoàn toàn khác nhau như vậy nên ta cũng sẽ có các thao tác khác nhau đối với từng loại build Với build Content ta sẽ làm như sau:

File XAML :

<Image Stretch="None"

Source="/images/appbar.cancel.rest.png"/>

File CS ://Content

Uri uri = new Uri("/images/appbar.cancel.rest.png",

Trang 33

- Một đối tượng của PhoneApplicationFrame

- Một đối tượng của PhoneApplicationPageMột project WP7 chỉ có 1 class App duy nhất để chứa các giá trị toàn cục.Sau đó ta cần một đối tượng PhoneApplicationFrame để cung cấp các

framework cũng như các hàm cơ bản cho ứng dụng Sau đó ta có thể có nhiều đối tượng PhoneApplicationPage như là một trang của trang web và ta có thể di chuyển qua lại giữa chúng

Trong phần này ta sẽ làm quen với kiến trúc của WP7 cũng như các kĩ

Trang 34

2 Sự chuyển trang (Basic Navigation)

Sự chuyển trang trong WP7 có thể nói là sự sáng tạo táo bạo trong việc thiết kế giao diện cũng như cách quản lý của WP7 Thực chất của sự chuyển trang trong WP7 là một chuỗi trang được ghi lại và được quản lý bởi một class NavigationService một cách linh hoạt Sau đây là một đoạn mã đơn giản

dành cho việc chuyển sang trang ứng dụng khác

this.NavigationService.Navigate(new

Uri("/SecondPage.xaml", UriKind.Relative));

Tham số đầu vào là một Uri class với địa chỉ trang muốn đến, ở đây ví dụ

là “SecondPage.xaml” Còn property Relative ta đã đề cập ở chương trên

Tương tự ta có thể quay lại trang trước cũng bằng cách trên, ta chỉ cần đưa địa chỉ trang trước vào Thế nhưng ta có cách làm đơn giản hơn nhiều như sau nếu ta muốn quay lại trang trước:

this.NavigationService.GoBack();

Điều này sẽ làm cho chương trình không phải khai báo thêm class

PhoneApplicationPage vào trong stack chứa trang, hơn nữa trang được

GoBack() sẽ được lưu trạng thái khi nó bị chuyển trang

2.1 Chuyển đổi dữ liệu qua các trang

Về vấn đề này thường có 2 câu hỏi đặt ra:

o Làm sao ta có thể chuyển dữ liệu sang trang tiếp theo ?

o Làm sao ta có thể trả dữ liệu về trang trước?

Trang 35

thuộc với người lập trình web, giống như phương thức GET ta từ trang ban đầu

sẽ kêu trang tiếp sau bằng dòng lệnh như ví dụ sau:

this.NavigationService.Navigate(new

Uri("/SecondPage.xaml? "?Red=32&Green=255&Blue=255",

UriKind.Relative));

Phía bên trang nhận dữ liệu sẽ thực hiện đoạn code sau để lấy dữ liệu:

IDictionary<string, string> parameters =

Nhìn vào đoạn code trên ta thấy để có thể lấy được dữ liệu ta sẽ phải

thông qua class NavigationContext với hàm Query Hàm Query sẽ đưa các giá trị vào các biến tương ứng

2.2 Sự chia sẽ dữ liệu giữa các trang

Để có thể chia sẽ dữ liệu giữa nhiều trang khác nhau, ta không thể dùng cách trên được Vì vậy Microsoft đã cung cấp cho chúng ta một cách là dùng đốitượng App để dùng làm nơi lưu trữ dữ liệu chung

Trang 36

Đơn giản như sau, ta viết trong file App.xaml.cs một ví dụ sau:

public partial class App : Application

Ta thấy rằng khi đứng ở bất cứ mọi trang, ta đều có đối tượng App class

được tạo sẵn và tồn tại song song với chương trình App class lưu giữ tất cả các giá trị được sử dụng cho cả chương trình

2.3 Sự lưu giữ dữ liệu thông qua đối tượng:

Ở đây ta xét trường hợp ta muốn lưu giữ dữ liệu, trạng thái của một trang giao diện WP7 Khi ở phiên làm việc đầu tiên ta đã có được một số thông tin dữ liệu, ta muốn khi ta quay lại trang này, tất cả thông tin trạng thái sẽ được lưu trữ

để ta có thể tiết kiệm thời gian thao tác lại các thao tác ta đã làm việc trước đó

Ngày đăng: 24/06/2014, 10:15

HÌNH ẢNH LIÊN QUAN

Hình 1: Khởi tạo project - Đồ án tốt nghiệp “xây dựng ứng dụng nhật ký, đặt lịch công tác trên windows phone”
Hình 1 Khởi tạo project (Trang 21)
Hình 3: Cấu trúc project WP7 - Đồ án tốt nghiệp “xây dựng ứng dụng nhật ký, đặt lịch công tác trên windows phone”
Hình 3 Cấu trúc project WP7 (Trang 22)
Hình 5: Chế độ Landscape. - Đồ án tốt nghiệp “xây dựng ứng dụng nhật ký, đặt lịch công tác trên windows phone”
Hình 5 Chế độ Landscape (Trang 27)
Hình 4: Chế độ Portrait - Đồ án tốt nghiệp “xây dựng ứng dụng nhật ký, đặt lịch công tác trên windows phone”
Hình 4 Chế độ Portrait (Trang 27)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w