MỞ ĐẦU 1. Lý do chọn đề tài Ngày nay các thiết bị số cầm tay như điện điện thoại di động, điện thoại thông minh, máy tính bảng có rất nhiều trên thị trường. Với giá thành ngày càng rẻ và các tiện ích mà nó đem lại, các thiết bị đó giờ dần trở nên phổ biến. Có rất nhiều nền tảng được sử dụng để điều hành các thiết bị như iOS , Windows Phone, Android …vv.
Trong đó Android là một nền tảng điều hành di động được chính nhà phát triển là Google cung cấp mở nguồn m , cùng với đó các thiết bị di động mạnh mẽ với khả năng xử lý các vụ ngày càng nhanh hơn với các bộ vi xử lý khủng là điều kiện để các lập trình viên có thể tiếp cận và tận dụng tối đa nh ng gì mà Android đem lại trên nền tảng các thiết bị với phần cứng ngày càng mạnh mẽ hiện nay. Android nhanh chóng trở thành hệ điều hành thu hút nhiều lập trình viên nhất và chiếm một thị phần lớn trong thị trường di động thông minh hiện nay. Việc sử dụng các thiết bị số ngoài khả năng hỗ trợ con người trong công việc, giải trí mà còn giúp cho con người tiết kiệm thời gian hơn vào nhiều công việc thực tiễn như giải trí, học tập, du lịch…vv Du lịch hiện nay là một ngành rất phát triển tại Việt Nam, đặc biệt là các địa danh nổi tiếng như Vịnh Hạ Long, Huế, Hội An…vv. Ngày càng thu hút lượng khách tới tham quan du lịch.
Tuy nhiên các một hạn chế là du khách thường gặp khó khăn trong việc tìm các địa điểm tham quan tại một địa điểm nào đó, cũng như một số thông tin về các địa điểm đó. Việc cầm theo bản đồ đối với nhiều du khách có thể là bất tiện. Vì vậy em muốn phát triển và xây dựng một ứng dụng bản đồ du lịch trong một địa điểm du lịch, nhằm cung cấp thông tin địa điểm một cách cụ thể, chính xác tạo thuận lợi cho khách du lịch thông qua nền tảng di động Android hiện đang rất phổ biến trên hầu hết các dòng điện thoại thông minh hiện nay. Mục tiêu và nhiệm vụ Mục tiêu: Tìm hiểu về các công nghệ lập trình cần thiết trên nền tảng Android để hoàn thành được ứng dụng có thể tìm kiếm hiện thị vị trí các thông tin cần thiết về một địa điểm du lịch o Hiểu về nguyên lý hoạt động của Android, các thành phần của hệ thống cũng như của một ứng dụng thực thi trên nền Android Võ Minh Trí –CCLT04C- Khoa Học Máy Tính Trang 1 Xây dựng ứng dụng bản đồ địa điểm du lịch Hội An trên Android o Tìm hiểu và áp dụng được các công nghệ lập trình trên nền Android như ngôn ng JAVA, tương tác với các tài nguyên hệ thống (GPS,Internet, TouchScreen), sử dụng các dịch vụ của Google như Google Map, Google Places API, Google Directions API, Google Geocoding API.
o Tìm hiểu về xây dưng một dịch vụ web trên nền tảng php sử dụng hệ cơ sở d liệu MySQL. Nhiệm vụ: Đọc các tài liệu liên quan về bộ thư viện lập trình trên nền Android. Tìm hiểu các dịch vụ liên quan đến ứng dụng. Đối tƣợng nghiên cứu và phạm vi hệ thống Đối tượng : o Ngôn ng JAVA, PHP, JSON, XML.
o Hệ cơ sở d liệu MySQL o Công cụ Android SDK & Eclipse o Hệ điều hành và tài nguyên hệ thống Android. o Các dịch vụ của google như Google Map, Google Places API, Google Directions API, Google Geocoding API. Phạm vi: Đề tài dừng lại ở khuôn khổ hiện thị lên bản đồ tìm kiếm các địa điểm và thông tin trong phạm vi nh của thành phố Hội An. Sử dụng mapview để tìm kiếm và dẫn đường cho người dùng.
Ứng dụng được viết trên nền tảng Android 2. Phƣơng pháp nghiên cứu Đọc tham khảo các liệu trên mạng, các sách viết về Android và tham khảo qua giáo viên hướng dẫn 1. Ý nghĩa thực tiễn Chương trình có thể áp dụng vào trong cuộc sống, sử dụng để tìm kiếm hiển thị các thống tin về địa điểm du lịch dành cho các du khách. Võ Minh Trí –CCLT04C- Khoa Học Máy Tính Trang 2 Xây dựng ứng dụng bản đồ địa điểm du lịch Hội An trên Android Chƣơng 2.
Giới thiệu về Android 2. Khái niệm về Android Hình 2.1: Logo Android Android là hệ điều hành trên điện thoại di động ( và hiện nay là cả trên một số đầu phát HD, HD player) phát triển bởi Google và dựa trên nền tảng Linux. Trước đây, Android được phát triển bởi công ty liên hợp Android ( sau đó được Google mua lại vào năm 2005). Theo NPD, thiết bị di động sử dụng hệ điều hành Android bán được tại Mỹ trong quý II năm 2010 xếp vị trí đầu tiên với 33%, thứ 2 là BB os với 28% và iOS ở vị trí thứ 3 với 22%.
Android có một cộng đồng nh ng nhà phát triển rất lớn viết các ứng dụng cho hệ điều hành của mình. Hiện tại có khoảng 70,000 ứng dụng cho Android và vào khoảng 100,000 ứng dụng đ được đệ trình, điều này khiến Android trở thành hệ điều hành di động có môi trường phát triển lớn thứ 2. Các nhà phát triển viết ứng dụng cho Android dựa trên ngôn ng Java. Sự ra mắt của Android vào ngày 5 tháng 11 năm 2007 gắn với sự thành lập của liên minh thiết bị cầm tay m nguồn mở, bao gồm 78 công ty phần cứng, phần mềm và viễn thông nhằm mục đích tạo nên một chuẩn mở cho điện thoại di động cho tương lai.
Google công bố hầu hết các m ngồn của Android theo bản cấp phép Apache. Hệ điều hành Android bao gồm 12 triệu dòng m , 3 triệu dòng XML, 2.1 triệu m Java và 1. Võ Minh Trí –CCLT04C- Khoa Học Máy Tính Trang 3 Xây dựng ứng dụng bản đồ địa điểm du lịch Hội An trên Android 2. Tổng quan cấu trúc của Android Android bao gồm ba thành phần 1.
Một hệ điều hành mở, miễn phí cho các thiết bị di dộng. Một nền tảng mã nguồn mở cho phát triển các ứng dụng. Thiết bị chạy hệ điều hành Android và các ứng dụng Android. Một cách chi tiết Android bao gồm các thành phần quan trọng sau: 1.
Một thiết kế phần cứng cho thiết bị di động hỗ trợ bộ phần mềm. Một nhân viên điều hành Linux cung cấp giao diện mức thấp với phần cứng, quản lý bộ nhớ và kiểm soát tiến trình. Tất cả đều tối ưu hóa cho thiệt bị di động. Thư viện mã nguồn mở cho phát triển ứng dụng bao gồm SQLite, Webkit, OpenGL và quản lí đa phương tiện.
Một hệ thống thực thi và lưu tr cho ứng dụng Android bao gồm máy ảo Dalvik và các thư viện cở bản cung cấp chức năng đặc thù cho Android. Hệ thống thục thi được các thiết kế nh gọn và hiệu quả khi sử dụng trên các thiết bị di động. Một kiến trúc ứng dụng cung cấp các dịch vụ hệ thống cho tầng ứng dụng bao gồm quản lý cửa sổ, quản lý vị trí, cung cấp nội dung và các cảm biến. Một số kiến trúc giao diện người dùng để lưu tr và chạy các ứng dụng.
Một số ứng dụng được cài sẵn coi như một phần của bộ ứng dụng. Một bộ phát triển ứng dụng bao gồm các công cụ và tài liệu.2: Kiến trúc Android Võ Minh Trí –CCLT04C- Khoa Học Máy Tính Trang 4 Xây dựng ứng dụng bản đồ địa điểm du lịch Hội An trên Android 2. Sơ lƣợc các phiên bản Android Android là một nền tảng mới và phát triển nhanh. Các phiên bản thông thường được phát hành sau khoảng sáu tháng.
Sau đây là danh sách các phiên bản chính và sự thay đổi lớn trong mỗi phiên bản Android. OHA giới thiệu Android (5-11-2007). Phát hành SDK (12-11-2007). Apple pie Android 1.0 (23/09/2008) : Phát hành phiên bản Android 1.0 trên điện thoại Android đầu tiên – HTC Dream (G1) Banana Bread- Android 1.1 (9-2-2009): Phát hành phiên bản cập nhật 1.1 riêng cho T-Mobie G1.
Ice Cream Sandwich 4. Jelly Bean – Android 4. Jelly Bean- Android 4. Các thành phần cơ bản của ứng dụng Android Ứng dụng Android bao gồm nhiều thành phần liên kết với nhau được giới hạn trong kiến trúc ứng dụng.
Kiến trúc ứng dụng mô tả chi tiết mỗi thành phần và sự tương tác gi a các thành phần này cũng như siêu d liệu về yêu cầu phần cứng. Các thành phần sau đây tạo nên một ứng dụng Android: Activity: là lớp thể hiện ứng dụng. Mỗi màn hình trong ứng dụng là một mở rộng của lớp Activity. Các Activity sử dụng các View tạo thành giao diện đồ họa tương tác người dùng để thể hiện thông tin và phản hồi hành động của người dùng.
Service: là thành phần chạy ẩn, cập nhật nguồn d liệu và thể hiển các Activity, kích hoạt các Notification. Các Service thường thực hiện xử lí thông thường như tiếp tục Activity sau khi các Activity này không hoạt động hoặc hiển thị. Võ Minh Trí –CCLT04C- Khoa Học Máy Tính Trang 5 Xây dựng ứng dụng bản đồ địa điểm du lịch Hội An trên Android Content Provider: là thành phần lưu tr d liệu chia sẻ. Content Provider quản lí và chia sẻ cở sở d liệu của ứng dụng.
Chúng được coi như là phương tiện chia sẻ d liệu gi a các ứng dụng. Intent: là cấu trúc truyền thông điệp gi a các ứng dụng. Chúng ta có thể sử dụng Intent để truyền một thông tin tới toàn hệ thống hay tới Activity hay Service định trước để thực thi một hoạt động. Hệ thống sau đó sẽ xác định đối tượng nào sẽ thực hiện các hoạt động phù hợp.
Broadcast Receiver: là nơi nhận các Intent. Chúng ta có thể tự tạo một Broadcast Receiver để ứng dụng có thể nhận được các Intent phù hợp với bộ lọc đặt trước. Broadcast Receiver tự động bắt đầu khi ứng dụng phản hồi với Intent nhận được và biến ứng dụng trở thành hướng sự kiện một cách hoàn hảo. Widget: thành phần trực quan của ứng dụng có thể them vào màn hình chính.
Là một dạng Broadcast Receiver, Widget cho phép người dùng tạo ra các ứng dụng động, tương tác được nhúng ngay trên màn hình chính. Notification: là thành phần thông báo cho người dùng. Hộp thoại thông báo cho người dùng mà không gián đoạn các Activity hiện thời. Đây là kĩ thuật thông báo cho người dùng nằm trong một Service hay một Broadcast Receiver.
Ví dụ khi nhận được một tin nhắn hay cuộc gọi đến có thể thông báo cho người dùng bằng đèn nháy hay bằng âm thanh… Một ứng dụng không nhất thiết phải có hết các thành phần trên nhưng để có một giao diện người dùng thì ít nhất ứng dụng đó phải có Activity.