intTypePromotion=1
ADSENSE

LUẬN VĂN: HỖ TRỢ PHÁT HIỆN VÀ THÔNG BÁO ÙN TẮC GIAO THÔNG TRÊN ANDROID

Chia sẻ: Lan Lan | Ngày: | Loại File: PDF | Số trang:59

253
lượt xem
97
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Hiện nay, dịch vụ Google Maps đã cung cấp dịch vụ thông tin giao thông qua bản đồ cho nhiều thành phố lớn trên thế giới. Ở Việt Nam, mặc dù vấn đề ùn tắc giaothông đang rất câp thiết nhưng chưa có dịch vụ nào tương tự. Em xin đề xuất chủ đềkhóa luận là "Hỗ trợ phát hiện và thông báo ùn tắc giao thông trên Android".

Chủ đề:
Lưu

Nội dung Text: LUẬN VĂN: HỖ TRỢ PHÁT HIỆN VÀ THÔNG BÁO ÙN TẮC GIAO THÔNG TRÊN ANDROID

  1. ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG Đ ẠI HỌC CÔNG NGHỆ Đậu Thanh Hải HỖ TRỢ PHÁT HIỆN VÀ THÔNG BÁO ÙN TẮC GIAO THÔNG TRÊN ANDROID KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công Nghệ Phần Mềm HÀ NỘI - 2010
  2. ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG Đ ẠI HỌC CÔNG NGHỆ Đậu Thanh Hải HỖ TRỢ PHÁT HIỆN VÀ THÔNG BÁO ÙN TẮC GIAO THÔNG TRÊN ANDROID KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công Nghệ Phần Mềm Cán bộ hướng dẫn: TS. Trương Anh Hoàng Cán bộ đồng hướng dẫn: TS. Đặng Đức Hạnh HÀ NỘI - 2010
  3. LỜI CẢM ƠN Em xin chân thành cám ơn khoa Công nghệ thông tin, Bộ môn Công nghệ phần mềm, trƣờng Đại học Công Nghệ đã tạo điều kiện thuận lợi cho em thực hiện đề tài này. Em cũng xin đƣợc gửi lời cảm ơn chân thành nhất đến thầy giáo Trƣơng Anh Hoàng và thầy Đặng Đức Hạnh, ngƣời đã tận tình ch ỉ bảo và hƣớng d ẫn em thực hiện đề tài này. Bên cạnh đó, em x in gử i lời cảm ơn đến các thầy cô giáo, nhữ ng ngƣời đã giảng dạy, tạo điều kiện cho em tích lũy đƣợc nhữ ng kiến thức quý báu trong nhữ ng năm học qua. Ngoài ra, em cũng x in gửi lời cảm ơn đến nhữ ng ngƣời bạn trong lớp K51CNPM, và lớp K51CC trƣớc đây, nhữ ng ngƣời đã chia sẻ nhữ ng kiến thức trong quá trình học tập và thực hiện khóa luận tốt nghiệp. Cuối cùng, em xin gử i lòng biết ơn sâu sắc đến cha mẹ, gia đình, bạn bè, nhữ ng ngƣời đã luôn bên cạnh, chă m sóc, ủng hộ, độ ng viên em trong suốt thời gian học tập và nghiên cứ u. Dù đã cố gắng hoàn thành khóa luận đúng yêu cầu, nhƣng chắc chắn sẽ có nhữ ng thiếu sót không tránh khỏ i. Em mọng đƣợc sự thông cảm và tậ n tình ch ỉ bảo c ủa các thầy cô và các bạn. Hà Nội, tháng 5 năm 2010 Sinh viên Đậu Thanh Hải
  4. TÓM TẮT NỘI DUNG Hiệ n nay, d ịch vụ Google Maps đã cung cấp dịch vụ thông tin giao thông qua bả n đồ cho nhiều thành phố lớn trên thế giới. Ở Việt Nam, mặc dù vấn đề ùn tắc giao thông đang rất câp thiết nhƣng chƣa có d ịch vụ nào tƣơng tự. Em xin đề xuất chủ đề khóa luận là “Hỗ trợ phát hiệ n và thông báo ùn tắc giao thông trên Android”. Mục tiêu của khóa luậ n là mô phỏng giả i pháp cung cấp thông tin giao thông qua môi trƣờng Internet và các thiết bị di động. Giải pháp đƣợc chọn là kết hợp Web Server chạy trên nề n ASP.NET và phần mềm chạ y trên thiết bị điện thoại di động Android. Nội dung báo cáo này đƣợc chia thành 4 phần nhƣ sau: Chƣơng 1. Tổng quan: Giới thiệu bối cảnh, lý do thực hiện đề tài cũng nhƣ các - giả i pháp hiệ n thời có thể liên quan, từ đó rút ra hƣơng tiếp cậ n thực hiện đề tài. Chƣơng 2. Các kỹ thuật sử dụng: Trình bày sơ lƣợc về kỹ thuật lập trình trên - Android, ASP.NET, và Google Maps APIs. Chƣơng 3. Phân tích, thiết kế: Tài liệu phân tích và thiết kế chƣơng trình theo - phƣơng pháp hƣớng đối tƣợng. Chƣơng 4. Cài đặt, thử nghiệm: Một số điểm nét chính khi thực hiện cài đặt - và thử nghiệm Web Server và chƣơng trình giả lập điện thoại Android Chƣơng 5. Đánh giá và tổng kết: Nêu đánh giá toàn bộ đề tài, trình bày nhữ ng - kết quả đạt đƣợc cũng nhƣ các hạn chế của đề tài từ đó đề xuất hƣớng nghiên cứu trong tƣơng lai.
  5. Mục lục Chƣơng 1. TỔNG QUAN .................................................................................. 1 1.1 Yêu cầu và lý do thực hiệ n đề tài............................................................. 1 1.2 Mục tiêu c ủa đề tài: .................................................................................. 2 1.3 Hƣớng tiếp cận c ủa luận văn: ..................................................................2 Chƣơng 2. CÁC KỸ THUẬT ĐƢỢC SỬ DỤNG............................................. 3 2.1 Giới thiệu về Android .............................................................................. 3 2.1.1 Phát triển ứ ng d ụng trên Android ..................................................... 3 2.1.1.1 Cấu trúc c ủa các tầng phần mềm trên Android .......................... 3 2.1.1.2 Kiến trúc ứ ng dụng trên Android ............................................... 5 2.1.1.3 Các thƣ viện trên Android .......................................................... 5 2.1.1.4 Các thành phần của ứ ng d ụng Android ...................................... 7 2.1.1.4.1 Activity ................................................................................ 7 2.1.1.4.2 Service ................................................................................. 8 2.1.1.4.3 Broadcast receiver ............................................................... 9 2.1.1.4.4 Content Provider ............................................................... 10 2.1.1.4.5 Manifest file ...................................................................... 10 2.1.1.4.6 Các thành phần khác ......................................................... 10 2.2 Giới thiệu về ASP.NET MVC ............................................................... 10 2.2.1 ASP.NET ......................................................................................... 10 2.2.1.1 Đặc điểm c ủa ASP.NET........................................................... 10 2.2.1.2 Một số khái niệm mới trong ASP.NET 3.5 .............................. 12 2.2.1.2.1 ASP.NET AJAX ............................................................... 12 2.2.1.2.2 LINQ ................................................................................. 12 2.2.2 ASP.NET MVC .............................................................................. 13 2.2.2.1 Khái niệ m MVC ....................................................................... 13
  6. 2.2.2.2 Một vài chi tiết về ASP.NET MVC ......................................... 14 2.2.2.2.1 Cấu trúc một dự án trong Visual Studio ........................... 14 2.2.2.2.2 Truyền dữ liệu từ Controller sang View ........................... 15 2.2.2.2.3 Dữ liệu động trong View c ủa MVC ..................................15 2.3 Giới thiệu về Google Maps .................................................................... 16 Chƣơng 3. PHÂN TÍCH THIẾT KẾ................................................................ 18 3.1.1 Phân tích .......................................................................................... 18 3.1.1.1 Phân tích d ịch vụ Google Maps ............................................... 18 3.1.1.2 Phân tích yêu cầu ..................................................................... 18 3.1.1.2.1 Yêu cầu ngƣời dùng .......................................................... 18 3.1.1.2.2 Yêu cầu hệ thống............................................................... 18 3.1.2 Xây dự ng biể u đồ ca sử dụng .......................................................... 19 3.1.2.1 Xác định Actor và ca sử dụng .................................................. 19 3.1.2.1.1 Tác nhân ............................................................................ 19 3.1.2.1.2 Ca sử dụng......................................................................... 19 3.1.2.2 Biểu đồ ca sử dụng ................................................................... 20 3.1.2.3 Đặc tả sơ đồ ca sử dụng ........................................................... 20 3.1.2.3.1 Xem theo bả n đồ ............................................................... 20 3.1.2.3.2 Xem theo danh sách .......................................................... 20 3.1.2.3.3 Gử i thông báo .................................................................... 21 3.1.2.3.4 Thêm mới dữ liệu đƣờng................................................... 21 3.1.2.3.5 Chỉnh sử dữ liệu đƣờng ..................................................... 22 3.1.2.3.7 Xem trạng thái theo tên đƣờng.......................................... 22 3.1.2.3.8 Tạo trạng thái mới ............................................................. 22 3.1.2.3.9 Cập nhật trạ ng thái ............................................................ 23 3.1.2.3.10 Kết thúc trạng thái ........................................................... 23 3.1.3 Biểu đồ tuầ n tự ................................................................................ 24 3.1.3.1 Xem theo bả n đồ ...................................................................... 24
  7. 3.1.3.2 Xem theo danh sách .................................................................25 3.1.3.3 Thông báo trạng thái ................................................................ 25 3.1.3.4 Xem thông tin trạng thái đƣờng ............................................... 26 3.1.3.5 Tạo trạng thái mới .................................................................... 26 3.1.3.6 Cập nhật trạ ng thái ................................................................... 27 3.1.3.7 Kết thúc trạng thái .................................................................... 28 3.1.4 Biểu đồ lớp ...................................................................................... 29 3.1.5 Biểu đồ hoạt động ........................................................................... 30 3.1.5.1 Xem theo bả n đồ ...................................................................... 30 3.1.5.2 Xem theo danh sách .................................................................31 3.1.5.3 Thông báo tình trạng giao thông .............................................. 32 3.1.5.4 Xem thông tin trạng thái theo đƣờng ....................................... 33 3.1.5.5 Thêm trạ ng thái mới .................................................................34 3.1.5.6 Cập nhật trạ ng thái ................................................................... 35 3.1.5.7 Kết thúc trạng thái .................................................................... 36 3.1.6 Biểu đồ thành phần ......................................................................... 36 3.1.7 Biểu đồ triể n khai ............................................................................ 37 3.1.8 Thiết kế giao diện............................................................................ 38 3.1.8.1 Màn hình chính chƣơng trình trên Android ............................. 38 3.1.8.2 Giao diệ n xem bản đồ .............................................................. 39 3.1.8.3 Giao diệ n xem theo danh sách ................................................. 40 3.1.8.4 Gử i thông báo ........................................................................... 41 3.1.8.5 Màn hình hƣớng dẫn ................................................................ 42 3.1.8.6 Màn hình điều khiển trạ ng thái ................................................ 43 3.1.8.7 Màn hình ch ỉnh sửa thông tin .................................................. 44 Chƣơng 4. CÀI ĐẶT VÀ THỬ NGHIỆM ...................................................... 45 4.1 Cài đặt .................................................................................................... 45 4.1.1 Cài đặt server .................................................................................. 45
  8. 4.1.2 Cài đặt Client .................................................................................. 47 4.2 Thử nghiệm ............................................................................................ 47 Chƣơng 5. ĐÁNH GIÁ TỔNG KẾT ............................................................... 48 Danh mục bảng Bả ng 3.1 Ca sử dụng Xem theo bản đồ .............................................................. 20 Bả ng 3.2 Ca sử dụng Xem theo danh sách ......................................................... 20 Bả ng 3.3 Ca sử dụng Gử i thông báo ..................................................................21 Bả ng 3.4 Ca sử dụng Thêm mới dữ liệu đƣờng ................................................. 21 Bả ng 3.5 Ca sử dụng Chỉnh sửa dữ liệu đƣờng .................................................. 22 Bả ng 3.6 Ca sử dụng Xem trạng thái tên đƣờng ................................................ 22 Bả ng 3.7 Ca sử dụng Tạo trạng thái mới............................................................ 22 Bả ng 3.8 Ca sử dụng Cập nhật trạng thái ........................................................... 23 Bả ng 3.9 Ca sử dụng Kết thúc trạng thái............................................................ 23 Bả ng 4.1 Các file cài đặt phần server .................................................................45 Bả ng 4.2 Các file cài đặt trên Client ................................................................... 47 Danh mục hình Hình 2.1 Cấu trúc c ủa các tầng phần mềm trên Android ....................................4 Hình 2.2 Sơ đồ chuyển trạng thái c ủa Activity ................................................... 8 Hình 2.3 Sơ đồ chuyển trạng thái c ủa Service .................................................... 9 Hình 2.4 V ị trí của ASP.NET trong .NET Framework ..................................... 11 Hình 2.5 Cấu trúc LINQ .................................................................................... 13 Hình 2.6 Cấu trúc c ủa mô hình MVC trên môi trƣờng Web ............................. 14 Hình 2.7 Cấu trúc dự án ASP.NET MVC trong Visual Studio 2008 ................ 14 Hình 3.1 Biểu đồ ca sử d ụng ............................................................................. 20 Hình 3.2 Biểu đồ tuần tự xem theo bản đồ ........................................................ 24 Hình 3.3 Biểu đồ tuần tự xem theo danh sách ................................................... 25 Hình 3.4 Biểu đồ tuần tự thông báo trạng thái .................................................. 26 3.5 Biểu đồ tuần tự xem trạng thái theo tên đƣờng ............................................ 26 Hình 3.6 Biểu đồ tuần tự tạo trạng thái mới ...................................................... 26 Hình 3.7 Biểu đồ tuần tự cập nhật trạng thái ..................................................... 27
  9. Hình 3.8 Biểu đồ tuần tự kết thúc trạng thái ..................................................... 28 Hình 3.9 Biểu đồ lớp ......................................................................................... 29 Hình 3.10 Biểu đồ hoạt đông Xem theo bản đồ ................................................ 30 Hình 3.11 Biểu đồ hoạt động Xem theo danh sách ........................................... 31 Hình 3.12 Biểu đồ hoạt động Thông báo tình trạng giao thông ........................ 32 Hình 3.13 Biểu đồ hoạt động Xem thông tin trạng thái theo đƣờng ................. 33 Hình 3.14 Biểu đồ hoạt động Thêm trạng thái mới........................................... 34 Hình 3.15 Biểu đồ hoạt đông Cập nhật trạng thái ............................................. 35 Hình 3.16 Biểu đồ hoạt động Kết thúc trạng thái .............................................. 36 Hình 3.17 Biểu đồ thành phần ........................................................................... 36 Hình 3.18 Biểu đồ triển khai ............................................................................. 37 Hình 3.19 Màn hình chính chƣơng trình trên Android ..................................... 38 Hình 3.20 Xem thông tin trạng thái c ủa điểm trên bản đồ ................................ 39 Hình 3.21 Giao diện xem theo danh sách .......................................................... 40 Hình 3.22 Giao diện màn hình gử i thông báo ................................................... 41 Hình 3.23 Màn hình hƣớng dẫn......................................................................... 42 Hình 3.24 Giao diện điề u khiển trạng thái giao thông ...................................... 43 Hình 3.25 Màn hình Thêm trạng thái mới......................................................... 44 Hình 3.26 Màn hình ch ỉnh sửa thông tin trạng thái đƣờng ............................... 44
  10. Bảng thuật ngữ và từ viết tắt Thuật ngữ Định nghĩa STT Máy ch ủ 1 Server Máy trạ m 2 Client Ca sử dụng 3 Use case Application Programming Interface 4 API Giao diện lập trình 5 MVC Model-View-Controller 6 ASP Active Server Page 7 JSON Javascript Object Notation
  11. Chương 1. TỔNG QUAN 1.1 Yêu cầu và lý do thực hiệ n đề tài Hiệ n nay, tắc đƣờng đang là vấn đề chung c ủa các thành phố lớn nhƣ Hồ Nội và Thành phố Hồ Chí Minh. Tắc đƣờng không ch ỉ gây thiệt hại về kinh tế mà còn kéo theo nhiều hậu quả xã hội nghiêm trọng. Các cơ quan chức năng đã có nhiều cố gắng đề ra các giải pháp chống tắc đƣờng. Từ các giải pháp kỹ thuật nhƣ là phân làn đƣờng, bịt các ngã tƣ, tăng cƣờng ngƣời chỉ huy ở các nút giao thông hay bị ùn tắc đến giải pháp tận d ụng sức mạnh cộng đồng nhƣ là thực hiệ n chƣơng trình VOV giao thông, tăng cƣờng giáo d ục, tuyên truyền, kêu gọi ý thức của ngƣời tham gia giao thông. Tuy nhiên, do mật độ tham gia giao thông quá lớn, cơ sở hạng tầng không đ ủ đáp ứ ng đƣợc, một phần ý thức của ngƣời tham gia giao thông chƣa cao, nên các biện pháp đề ra chƣa mang lại hiệu quả nhƣ mong muốn. Thực tế, hiện tƣợng tắc đƣờng ch ỉ thƣờng xuyên xảy ra ở một số điểm cố đ ịnh vào các giờ cao điểm. Nếu chúng ta có cách thông báo cho mọi ngƣ ời tham gia giao thông biết đƣợc đoạn đƣờng nào đang bị ùn tắc thì có thể giảm đƣợc số điểm ùn tắc. Trong thời gian qua, chƣơng trình VOV giao thông c ủa đài tiếng nói Việt Nam đã ra đời và nhận đƣợc sự hƣởng ứ ng tích cực của mọi ngƣời. Cách làm c ủa chƣơng trình VOV giao thông đó là cùng với ngƣời tham gia giao thông và các cộng tác viên tại các điểm hay xảy ra ùn tác phát hiện và thông báo tình trạng giao thông qua làn sóng radio. Tuy nhiên, nhƣợc điểm của VOV giao thông là vì sử dụng chƣơng trình phát thanh nên thông tin ch ỉ đế n đƣợc với số ít ngƣời tham gia giao thông, thông tin đƣợc truyền tải dƣới dạng âm thanh nên ít trực quan, giảm bớt tính hiệu quả của thông tin. Hƣớng đến một cách tiếp cận khác đó là thông qua môi trƣ ờng Internet và các thiết bị di động, em đã chọn đề tài khóa luận “Hỗ trợ phát hiện và thông báo ùn tắc giao thông trên nền Android “. Bài toán đƣợc giải quyết ch ủ yếu dựa vào dịch vụ Google Map và các thiết bị sử dụng hệ điều hành Android. Google Maps là d ịch vụ đã phổ biến trên thế giới cũng nhƣ ở Việt Nam. Ở các thành phố lớn trên thế giới, Google Maps có tích hợp thông tin giao thông vào bản đồ ở chế độ Traffic View. Tuy nhiên, ở Việt Nam, d ịch vụ này không hỗ trợ cũng nhƣ chƣa có d ịch vụ nào tƣơng tự. Android cũng là hệ điều hành mã nguồn mở c ủa Google. Hệ điều hành di động này có thể cài đặt trên nhiều thiết bị, có các giao diệ n lập trình tích hợp với dịch vụ Google Maps. 1
  12. Chƣơng 1 : TỔNG QUAN 1.2 Mục tiêu c ủa đề tài: Mục tiêu c ủa đề tài là nhằm đƣa ra một giải pháp bổ sung, khả thi cùng với các phƣơng tiện khác nhƣ VOV giao thông đƣa thông tin giao thông đến cho ngƣời sử dụng Internet di động trên các điện thoại, cụ thể là Android. 1.3 Hướng tiếp cận của luận văn: Giả i pháp đƣa ra là sử dụng cùng nguồn thông tin nhƣ VOV Giao thông, có thể là các cộng tác viên, nhữ ng ngƣời tham gia giao thông để phát hiện ra điểm tắc đƣờng, chỉ định điểm tắc đƣờng cụ thể trên bản đồ, có mô tả về thời gian tắc, thời gian dự kiế n kết thúc. Phần mềm thực hiện hai nhiệm vụ chính là xác đ ịnh điểm tắc đƣờng trên bản đồ, công việc này đƣợc xử lý ở Server, truy cập và h iển thị lại thông tin trên các thiết bị di động, phần này đƣợc thực hiện ở Client. Các công việc chính của đề tài bao gồm: o Tìm hiểu và cài đặt Server trên nền ASP.NET MVC. o Tìm hiệu d ịch vụ Google Map, và các giao diệ n lập trình đƣợc hỗ trợ để tích hợp với phần Server và Client. o Tìm hiểu và cài đặt Client trên nề n điện thoại di động Android. 2
  13. Chương 2. CÁC KỸ THUẬT ĐƯỢC SỬ DỤNG 2.1 Giới thiệu về Android Android đƣợc phát triển bởi tập đoàn Google, phiên bản đầ u tiên ra đời năm 2008. Đƣợc xây dự ng trên ột nề n tảng mở, và một bộ thƣ viện đa năng, mạnh mẽ vớ i nguyên lý mở, Android đã nhanh chóng đƣ ợc cộng đồng lập trình viên di động hƣởng ứ ng mạnh mẽ. Nền tảng Android tích hợp nhiề u tính năng nổi bật: Android là một hệ điều hành nhân Linux, đảm bảo sự tƣơng tác với các phần - cứ ng, quản lý bộ nhớ, điề u khiển các tiế n trình tối ƣu cho các thiết bị di động. Bộ ứ ng dụng khung cho phép sử dụng lại và thay thế các thành phần riêng lẻ. - Máy ảo Dalvik đƣợc tối ƣu cho các thiết bị di động, chạy các ứ ng dụng lập trình - trên ngôn ngữ Java. Các thƣ việ n cho phát triển ứ ng d ụng mã nguồn mở bao gồm SQLite, WebKit, - OpenGL và trình quản lý đa phƣơng tiệ n. Hỗ trợ các chuẩn đa phƣơng tiện phổ biế n, thoại trên nền GSM, Bluetooth - EDGE, 3G và Wifi Hỗ trợ Camera, GPS, la bàn, máy đo gia tốc… - Bộ phát triển ứ ng d ụng SDK đầy đủ gồ m thiết bị giả lập, công c ụ sử a lỗi, tích - hợp với Eclipse SDK. 2.1.1 Phát triển ứ ng dụng trên Android 2.1.1.1 Cấu trúc của các tầng phần mềm trên Android Cấu trúc c ủa Android đƣợc chia theo tầng các phần mềm bao gồm tầng ứ ng dụng (Application Layer), Ứng d ụng khung (Application Framework), Các thƣ việ n (Libraries), Android Runtime và nhân Linux (Linux Kerne l). 3
  14. Chƣơng 2 : CÁC KỸ THUẬT ĐƢỢC SỬ DỤNG Hình 2.1 Cấu trúc của các tầng phần mề m trên Android 1 Android Runtime: Bao gồm máy ảo Dalvik và các thƣ viện Android. - o Các thư viện cơ bản: Các ứ ng d ụng Android đƣợc phát triển trên môi trƣờng Java, nhƣng Dalvik lại không phải là một Java VM. Các thƣ viện cơ bản của Android cung cấp hầu hết các chức năng có trong thƣ viên cơ bản của Java cũng nhƣ là thƣ việ n riêng c ủa Android. o Máy ảo Dalvik: Dalvik là máy ảo để chạy các ứ ng d ụng trên Android, đã đƣợc tối ƣu để đảm bảo rằng một thiết bị có thể chạ đƣợc nhiều Instance một cách hiệu quả. Nó dựa vào nhân Linux để thực hiện đa luồng và quản lý bộ nhớ cấp thấp. Tầng ứ ng dụng khung: Cung cấp các lớp đƣợc sửa dụng để tạo ra các ứng - dụng trong Android. Nó cũng cung cấp các lớp trừ u tƣợng truy cập phần cứ ng và quản lý tài nguyên c ủa ứ ng dụng. 1 Nguồn: Reto Meier. Professional Android™ Application Development. Indiana : Wiley Publishing, Inc., 2008, trang 13. 4
  15. Chƣơng 2 : CÁC KỸ THUẬT ĐƢỢC SỬ DỤNG Tầng ứ ng dụng: Tất cả các ứ ng d ụng, bao gồm ứ ng d ụng sẵ n có và ứ ng d ụng - từ nhà cung cấp thứ 3 đƣợc xếp vào tầng Ứng d ụng với cùng một thƣ viện các giao diện lập trình(API). Tầng ứ ng dụng chạy trong Android Runtime (Dalvik) sử dụng các lớp và d ịch vụ có sẵn trong lớp Ứng d ụng khung. 2.1.1.2 Kiến trúc ứ ng dụng trên Android Kiế n trúc c ủa Android khuyến khích khái niệm Thành phần sử dụng lại, cho phép công bố và chia sẻ các Activity, Service, dữ liệu, với các ứ ng dụng khác với quyền truy cập đƣợc quả n lý bởi khai báo. Cơ chế đó cho phép ngƣời lập trình tạo ra một trình quản lý danh bạ hoặc trình quay số điện thoại mà có các thành phần ngƣời khác có thể tạo mới giao diện và mở rộng chức năng thay vì tạo lại chúng. Nhữ ng dịch vụ sau là nhữ ng dịch vụ kiến trúc cơ bản nhất c ủa tất c ả các ứ ng dụng, cung c ấp một framework cho mọi mọi phần mềm đƣợc xây dự ng: Actitvity Manager: Điề u khiển vòng đời của các Activity bao gồm cả quả n lý - các tầng Activity. Views: Đƣợc sử dụng để tạo lập cá giao diện ngƣời dùng cho các Activity - Notification Mamager: Cung cấp một cơ chế cố định và quy c ủ cho việc gử i - các thông báo đến ngƣời dùng. Content Provider: Cho phép ứ ng dụng chia sẻ dữ liệu giữa các ứ ng dụng. - Resource Manager: Hỗ trợ các thành phần không thuộc mã ngu ồn nhƣ là - chuỗi ký tự, đồ họa đƣợc đặt bên ngoài. 2.1.1.3 Các thư viện trên Android Android cung cấp một số các APIs cho phát triển ứ ng d ụng. Danh sác h các API cơ bản sau đƣợc cung cấp bởi tất cả các thiết bị trên nền Android: android.util: Gói tiện ích cơ bản bao gồm nhiều lớp mức thấp nhƣ là các lớp - quả n lý (List, Stack…) lớp xử lý chuỗi, lớp xử lý XML android.os Gói hệ điều hành cung cấp truy cập đến các d ịch vụ cơ bản nhƣ là - chuyển tin nh ắn, thông tin chéo, đồng hồ và gỡ lỗi. android.graphics Cung cấp các lớp đồ họa mức thấp thực hiệ n các chức năng - đồ họa, màu, vẽ cơ bản. android.text Công c ụ hiể n thị và xử lý văn bản - android.database Cung cấp các lớp mức thất bắt buộc cho việc điều khiể n - cursor khi làm việc với các cơ sở dữ liệu 5
  16. Chƣơng 2 : CÁC KỸ THUẬT ĐƢỢC SỬ DỤNG android.content Các giao tiếp lập trình nội dung đƣợc dùng để quản lý truy - cập dữ liệu và xuất bản bằng cách cung cấp các dịch vụ thao tác với tài nguyên, Content Provider, và các gói android.view View là lớp giao diện ngƣời dùng cơ bản nhất. Tất cả giao diệ n - ngƣời dùng đƣợc tạo ra đều phải sử dụng một tập các View để cung cấp cho các thành phần tƣơng tác ngƣời dùng. android.widget Xây dự ng dựa trên gói View. Nhữ ng lớp Widget nh ữ ng thành - phầ n giao diện đƣợc tạo sẵn đƣợc sử dụng để tạo nên giao diệ n ngƣời dùng. Các Widget bao gồm danh sách, nút bấm, hộp nhập, các kiểu trình bày(layout) com.google.android.maps bộ API mức cao cung cấp truy cập đến điều khiển - bản đồ sẵn trong Androif từ ứ ng dụng đƣợc xây dự ng. Bao gồm cả lớp MapView cũng nhƣ Overlay và MapController để tƣơng tác với bản đồ bên trong ứ ng dụng. android.app Một gói thƣ viện bậc cao, cung cấp truy cập đế n dữ liệu của ứ ng - dụng. Gói ứ ng dụng cũng bao gồm lớp Activity và Service là thành ph ần cơ bản của mọi ứ ng dụng Android. Android.provider Để tạo thuận lợi cho ngƣời phát triển truy cập đến các - Content Provider tiêu chuẩn(nhƣ là dữ liệu danh bạ), gói Cung cấp(Provider) bao gồm các lớp cho phép truy cập đến cơ sở dữ liệu chuẩn trong tất cả các bản phân phối Android. Android.telephony Các API điện đàm cung cấp khả năng tƣơng tác trực tiếp - với tầng điện thoại trong các thiết bị, cho phép tạo, nhận, theo dõi các cuộc gọi, tình trạng các cuộc gọi và tin nhắn SMS. android.web kit Gói WebKit cung cấp các API để làm việc với các nội dung - Web-based bao gồm một lơp WebView để tạo ra giao diên web, nhúng trong ứ ng d ụng và một trình quản lý cookie. Cùng với các API c ủa Android, còn có một tập các thƣ viện C/C++ nhƣ: - o OpenGL Thƣ viện dùng để tạo ra các đồ họa 3D dựa vào chuẩn OpenGLES 1.0 API o FreeType Hỗ trợ xử lý bitmap và font vector o GGL Thƣ viện cơ bản, dùng để cung cấp các engine đồ họa 2D o Libc Thƣ viện C chuẩn, đƣợc tối ƣu cho các thiết bị Linux -based o SQLite Engine cơ sở dữ liệu quan hệ gọn nhẹ, dùng để lƣu trữ dữ liệu của ứ ng dụng 6
  17. Chƣơng 2 : CÁC KỸ THUẬT ĐƢỢC SỬ DỤNG o SSL Hỗ trợ sử dụng giao thức mã hóa Secure Sockets Layer trong bảo mật truyền thông Internet Ngoài các thƣ viện chuẩ n của Android, để đáp ứ ng tiêu chí phù h ợp với nhiều - thiết bị khác nhau, Android còn có th ể có các API ph ụ thuộc thiết bị nhƣ android.location, android.media, android.opengl, android.hardware, android.bluetooth, android.net.wifi, và android.telephony. [1] 2.1.1.4 Các thành phần của ứ ng dụng Android 2.1.1.4.1 Activity Một Activity là đại diện cho một giao diện ngƣời dùng, tiếp nhận tƣơng tác ngƣời dùng với ứ ng dụng. Ví d ụ một Activity có thể là một danh sách các mục mà ngƣời dùng có thể chọn lựa hoặc là một của sổ trình diễn ảnh với các thông tin khác. Một ứ ng d ụng có thể có một hoặc nhiều Activity. Việc di chuyển giữa các Activity đƣợc thực hiện bằng cách từ Activity hiệ n tại mở ra Activity mới Giao diện c ủa Activity đƣợc quy đ ịnh bởi một đối tƣợng View có tr ật tự. Một View là một vùng hình chữ nhật bên trong cửa sổ màn hình. Một View cũng có thể chứa nhiề u View khác. View có thể đƣợc tạo mới thông qua việc thừa kế lớp View hoặc khai báo thông qua file XML. Một activity có 3 trạng thái chính: Active hoặc running khi nó ở trên nhất màn hình và nhận tƣơng tác ngƣời - dùng Paused khi Activity không còn là trọng tâm trên màn hình nhƣng vẫn hiện th ị - trƣớc ngƣời dùng. Stopped Khi một activity hoàn toàn bị che khuất, nó sẽ rơi vào trạng thái - Stopped. Tuy nhiên, nó vẫn còn lƣu trữ toàn bộ thông tin trạng thái. Và nó thƣờng bị hệ thống đóng lại khi có tình trạng thiếu bộ nhớ. Khi chuyể n giữa các trạng thái, ứ ng dụng sẽ gọi các hàm callback ứng với các bƣớc chuyển: void onCreate(Bundle savedInstanceState) void onStart() void onRestart() void onResume() void onPause() void onStop() void onDestroy() 7
  18. Chƣơng 2 : CÁC KỸ THUẬT ĐƢỢC SỬ DỤNG Sơ đồ chuyển trạng thái đƣợc biểu diễn nhƣ hình dƣới. Hình 2.2 Sơ đồ chuyển trạng thái của Activity2 2.1.1.4.2 Service Một Service không có giao diện và chạy ngầm trong khoảng thời gian không xác định. Ví d ụ, một Service có thể chơi nhạc ở chế độ ngầm khi ngƣời dùng chuyển ra khỏi trình nghe nh ạc. Mỗi Service đề đƣợc mở rộng từ lớp cơ sở là Service trong gói android.app. Có thể kết nối tới hoặc kích hoạt một Service thông qua interface mà Service đƣa ra. 2 Nguồn: Application Fundamentals, 20/5/2010, http://developer.android.com/guide/topics/- fundamentals.html 8
  19. Chƣơng 2 : CÁC KỸ THUẬT ĐƢỢC SỬ DỤNG Cũng giống nhƣ Activity và cũng và nhữ ng thành phần khác, các dịch vụ chạy trong luồng chính c ủa ứ ng dụng. Vòng đời của một service Hình 2.3 Sơ đồ chuyển trạng thái của Service3 2.1.1.4.3 Broadcast receiver Một Broadcast receiver là một thành phần mà không làm gì khác ngoài việc nhận các thông báo đƣợc broadcast. Một ứng d ụng có thể có nhiều broadcast receiver để đáp lại nhữ ng thông báo đƣợc phát đến. Tất cả các broadcast receiver đƣợc thừa kế từ lớp cơ s ở BroadcastReceiver. Một Broadcast receiver không có giao diện nhƣng nó có thể thực hiện gọi một Activity hay là sử dụng NotificationManager để thông báo cho ngƣời dùng. 3 Nguồn: Application Fundamentals, 20/5/2010, http://developer.android.com/guide/topics/- fundamentals.html 9
  20. Chƣơng 2 : CÁC KỸ THUẬT ĐƢỢC SỬ DỤNG 2.1.1.4.4 Content Provider Một Content Provider tạo ra một tập các dữ liệu cụ thể nào đó của ứ ng dụng cung cấp cho các ứng d ụng khác. Các lớp Content Provider thừa kế từ cơ sở ContentProvider để cài đặt một số hàm tiêu chuẩn cho phép ứ ng d ụng khác nhận và lƣu trữ dữ liệu. 2.1.1.4.5 Manifest file File AndroidManifest.xml là file có cấu trúc XML đƣợc dùng để khai báo các thành phầ n trong ứ ng dụng Android. Nó cũng là nơi để khai báo các quyền truy cập của ứ ng d ụng cũng nhƣ các thƣ viện cần thiết. 2.1.1.4.6 Các thành phần khác Ngoài các thành phần chính ở trên, còn có các thành phần khác nhƣ Resource bao gồm các file đồ họa, âm thanh, string,… và các thƣ viện do nhà cung cấp thứ 3. Tham khảo thêm về các thành phần trong [2]. 2.2 Giới thiệu về ASP.NET MVC 2.2.1 ASP.NET 2.2.1.1 Đặc điểm của ASP.NET ASP.NET có tên đầy đủ là Active Server Page .NET. ASP.NET là mô hình phát triển ứ ng d ụng Web hợp nhấ bao gồm nhiều d ịch vu cho phép xây dự ng các ứ ng d ụng Web tiên tiến với số code nhỏ nhất. ASP.NET là một phần c ủa .NET Framework, khi lập trình với ASP.NET ngƣời lập trình có thể sử dụng các thự viện c ủa .NET Framework. ASP.NET hỗ trợ lập trình với nhiều ngôn ngữ nhƣ là MS Visual Basic, C#, Jscript .NET và J#, các ngôn ngữ này đều phải tƣơng thích với “Common Language Runtime” (CLR). Các ngôn ngữ đều đƣợc dịch ra mã IL. ASP.NET là ngôn ngữ lập trình hƣớng đối tƣợng sử dụng các ngôn ngữ .NET. Nó cung cấp bộ các đối tƣợng nhỏ và thực sự là một tầng làm việc trên nguyên lý c ủa HTTP và HTML. Mã nguồ n không đƣợc truy cập toàn bộ các đối tƣợng trong .NET Framework nhƣng có thể khai thác tất cả các quy ƣớc của một môi trƣờng OOP (Object Oriented Programming). Thiết kế hƣớng đối tƣợng giúp tạo các lớp, giao diện, kế thừa các lớp. 10
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2