Tìm hiểu hệ điều hành android và xây dựng ứng dụng tìm kiếm địa điểm đặt máy ATM gần nhất

74 356 1
Tìm hiểu hệ điều hành android và xây dựng ứng dụng tìm kiếm địa điểm đặt máy ATM gần nhất

Đ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

LỜI CẢM ƠN Em xin chân thành cảm ơn Th.S Trần Thị Ngân, người trực tiếp hướng dẫn, giúp đỡ tận tình dẫn dắt suốt trình em thực đồ án tốt nghiệp Em xin gửi lời cảm ơn tới thầy, cô giáo khoa Công nghệ thông tin nói riêng, Trường đại học công nghệ thông tin truyền thông, Đại học Thái Nguyên nói chung truyền đạt cho em kiến thức, kinh nghiệm quý báu suốt năm học vừa qua Do thời gian hoàn thành đồ án thực tốt nghiệp có hạn suy nghĩ thể đồ án không tránh khỏi có khiếm khuyết Em mong nhận động viên góp ý kiến thầy cô bạn Em xin chân thành cảm ơn! Thái Nguyên, tháng năm 2012 Sinh viên Đặng Đình Quý LỜI CAM ĐOAN Em xin cam đoan toàn đồ án: “Tìm hiểu hệ điều hành Android xây dựng ứng dụng tìm kiếm địa điểm đặt máy ATM gần nhất” thân tìm hiểu, nghiên cứu, chép nội dung từ đồ án khác Tất nội dung hình ảnh minh họa có nguồn gốc xuất xứ rõ ràng từ tài liệu tham khảo nhiều nguồn khác Ngoài có góp ý định hướng giảng viên Th.S Trần Thị Ngân Em xin cam đoan lời đúng, thông tin sai lệch em xin hoàn toàn chịu trách nhiệm trước Hội đồng Thái Nguyên, tháng năm 2012 Sinh viên Đặng Đình Quý DANH MỤC HÌNH ẢNH Hình 1.1 Giao diện Android 1.0 13 Hình 1.2 Tỷ lệ sử dụng phiên Android 15 Hình 1.3 Tạo thư mục Android ổ muốn cài đặt .16 Hình 1.4 Thư mục Android update 16 Hình 1.5 Cài đặt Eclipse 17 Hình 1.6 Cài đặt ADT Plupin cho Eclipse 18 Hình 1.7 Kết thúc cài đặt ADT Plugin 20 Hình 1.8 Cài đặt Android SDK Eclipse .21 Hình 1.9 Cập nhập phiên Android 22 Hình 2.1 Kiến trúc hệ điều hành Android 23 Hình 2.2 Mô hình quản lý Activity kiểu ngăn xếp 32 Hình 2.3 Vòng đời Activity 33 Hình 2.4 Cấu trúc giao diện ứng dụng Android 38 Hình 2.5 ImageButton 40 Hình 2.6 Ví dụ Google Map View 41 Hình 2.7 Menu Option 45 Hình 2.8 Minh hoạ context menu 46 Hình 2.9 Minh hoạ Quick Search Box 47 Hình 3.1 Use case cho tác nhân “User” 53 Hình 3.2 Use case cho tác nhân “Admin” 53 Hình 3.3 Biểu đồ trình tự Use case “Tim Kiem ATM” .55 Hình 3.4 Biểu đồ cộng tác Use case “Tim Kiem ATM” 55 Hình 3.5 Biểu đồ trình tự Use case “Cap Nhat” 57 Hình 3.6 Biểu đồ cộng tác Use case “Cap Nhat” 57 Hình 3.7 Biểu đồ trình tự Use case “Xem Thong Tin Tren Website” 59 Hình 3.8 Biểu đồ cộng tác Use case “Xem Thong Tin Tren Website” 59 Hình 3.9 Lớp “SearchActivity” 60 Hình 3.10 Lớp “MapsActivity” 60 Hình 3.11 Lớp “ATMInfor” 61 Hình 3.12 Lớp “ATMInforAdapter” 61 Hình 3.13 Lớp “Search” 62 Hình 3.14 Lớp “AsyncSearch” 62 Hình 3.15 Lớp “HttpUtil” 62 Hình 3.16 Sơ đồ lớp hệ thống .63 Hình 3.17 Biểu đồ thành phần hệ thống .63 Hình 3.18 Biểu đồ triển khai hệ thống 64 Hình 3.19 Dữ liệu cho chương trình 65 Hình 3.20 Giao diện giao diện GoogleMap chương trình .66 Hình 3.21 Giao diện chương trình người dùng lựa chọn địa điểm .67 Hình 3.22 Kết tìm kiếm với giá trị “Nghe An” 68 68 Hình 3.23 Giao diện kết phù hợp 68 Hình 3.24 Giao diện người dùng lựa chọn hiển thị GoogleMap 69 MỤC LỤC LỜI CẢM ƠN LỜI CAM ĐOAN DANH MỤC HÌNH ẢNH .3 MỤC LỤC LỜI NÓI ĐẦU .8 CHƯƠNG I TỔNG QUAN VỀ HỆ ĐIỀU HÀNH ANDROID CÀI ĐẶT MÔI TRƯỜNG PHÁT TRIỂN ỨNG DỤNG 1.1 Giới thiệu Android 1.2 Lịch sử Android 11 1.3 Các phiên Android tình trạng sử dụng .12 1.4 Môi trường phát triển ứng dụng 16 1.4.1 Cài đặt Android SDK 16 1.4.2 Cài đặt Eclipse .17 CHƯƠNG II 23 NỀN TẢNG HỆ ĐIỀU HÀNH ANDROID 23 2.1 Kiến trúc Android .23 2.2 Các thành phần ứng dụng Android .25 2.3 Chu kỳ hoạt động ứng dụng Android 31 2.3.1 Hoạt động ngăn xếp .31 2.3.2 Các trạng thái Activity 33 2.3.3 Các phương thức Activity .34 2.3.4 Hoạt động ứng dụng .35 2.3.5 Các kiện Activity .35 2.4 Các thành phần lập trình Android 36 2.4.1 AndroidManifest.xml 36 2.4.2 File R.java 37 2.4.3 View 37 2.4.4 View group 43 2.4.5 Menu Options .44 2.4.6 ContextMenu 45 2.4.7 Quick Search Box 46 2.4.8 Telephony .47 2.4.9 Network SQLite Android 48 2.4.10 Sơ lược JSON - JavaScript Object Notation 48 CHƯƠNG III .52 PHÂN TÍCH THIẾT KẾ XÂY DỰNG CHƯƠNG TRÌNH .52 3.1 Đặc tả toán 52 3.2 Phân tích thiết kế 52 3.2.1 Tác nhân .52 3.2.2 Các Use case hệ thống 52 3.2.3 Sơ đồ Use case hệ thống 53 3.2.4 Use case “Tim Kiem ATM” 54 3.2.5 Use case “Cap Nhat” .56 3.2.6 Use case “Xem Thong Tin Tren Website” 58 3.2.7 Sơ đồ lớp hệ thống 60 3.2.8 Biểu đồ thành phần 63 3.2.9 Biểu đồ triển khai 64 3.3 Xây dựng chương trình 64 KẾT LUẬN 70 TÀI LIỆU THAM KHẢO 71 PHỤ LỤC .72 LỜI NÓI ĐẦU Trong thời điểm nay, giới Việt Nam, thị trường điện thoại di động trở nên sôi động hết, thiết bị di động dần thay vị trí máy tính công việc giải trí Các smartphone trang bị vi xử lý tốc độ cao, nhớ SDCard lớn hình cảm ứng đa điểm giúp người dùng dễ thao tác Các ứng dụng môi trường mạng dần thay ứng dụng chạy máy đơn, cục Với lớn mạnh phát triển vượt bậc năm gần đây, hệ điều hành Android cho thấy mạnh thiết bị smartphone Các ứng dụng, phần mềm phát triển Android OS ngày nhiều, mục đích ứng dụng ngày đáp ứng yêu cầu người dùng Cùng với phát triển thị trường điện thoại di động phát triển mạnh mẽ xu hướng lập trình phần mềm ứng dụng cho thiết bị di động Phần mềm, ứng dụng cho điện thoại di động đa dạng phong phú, đa số phần mềm ứng dụng loại trò chơi, chương trình tiện ích từ điển, trình soạn thảo, diệt virus Một ứng dụng hữu ích chương trình tìm kiếm Google Map Chính lý mà em chọn đề tài: “Tìm hiểu hệ điều hành Android xây dựng ứng dụng tìm kiếm địa điểm đặt máy ATM gần nhất” với nội dung sau: Chương I: Tổng quan hệ điều hành Android cài đặt môi trường phát triển ứng dụng Chương II: Nền tảng hệ điều hành Android Chương III: Phân tích thiết kế chương trình Thái Nguyên, tháng năm 2012 Sinh viên Đặng Đình Quý CHƯƠNG I TỔNG QUAN VỀ HỆ ĐIỀU HÀNH ANDROID CÀI ĐẶT MÔI TRƯỜNG PHÁT TRIỂN ỨNG DỤNG 1.1 Giới thiệu Android Android ? Android hệ điều hành kiểu stack cho thiết bị di động gồm hệ điều hành, middleware ứng dụng quan trọng Android SDK cung cấp công cụ giao diện lập trình ứng dụng API cần thiết để bắt đầu phát triển ứng dụng tảng Android cách sử dụng ngôn ngữ lập trình Java Các tính hệ điều hành Android - Storage (Lưu trữ): Android sử dụng SQLlite - CSDL quan hệ nhỏ để lưu trữ DL có cấu trúc - Kết nối (Connectivity): Android hỗ trợ GSM/EDGE, IDEN, CDMA, EVDO, UMTS, Bluetooth (bao gồm A2DP and AVRCP), WiFi, LTE, WiMAX - Tin nhắn: Android hỗ trợ tin nhắn dạng SMS (Short Message Services) MMS (Multimedia Messaging Service) - Tích hợp Trình duyệt Web (Web Browser): Dựa Webkit mã nguồn mở (open Webkit) với GoogleChrome V8 javascript - Hỗ trợ truyền trông (Media Support): Android hỗ trợ định dạng âm thanh, video phổ biến định dạng ảnh như: MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF… - Hỗ trợ phần cứng (Hardware Support): Accelerometer Sensor, Camera, Digital Compass, Proximity Sensor, GPS - Cảm ứng đa chạm (Multil Touch): Màn hình cảm ứng đa điểm giúp người dùng dễ dàng thao tác - Đa tác vụ (Multil Task) - Hỗ trợ Flash: Android 2.3 hỗ trợ Flash 10.1 - Tethering (Chia kết nối internet tới thiết bị khác) Ưu điểm hệ điều hành Android Android cung cấp dạng phần mềm mã nguồn mở, hoàn toàn miễn phí Điều có nghĩa nhà sàn xuất thiết bị di động (smartphone, tablet) sử dụng android tùy chỉnh theo ý thích Nếu trước đây, nhà sản xuất thiết bị di động sử dụng hệ điều hành riêng mình, kho ứng dụng phục vụ cho riêng hệ điều hành đó, làm giới hạn khả lựa chọn linh hoạt người sử dụng người sử dụng lựa chọn sử dụng smartphone với nhiều model, giá hợp túi tiền điều hay tận dụng số lượng lớn ứng dụng dành cho Android Internet mà không cần quan tâm tới hãng sản xuất Tất nhờ Android Đây coi mạnh Andoird so với iOS Apple Nhược điểm hệ điều hành Android Thời lượng sử dụng pin thấp: Hầu hết thiết bị Android có thời lượng pin thấp vấn đề quan trọng mà Google nhà sản xuất thiết bị Android trọng giải Một smartphone Android điển hình có thời lượng sử dụng với tần suất bình thường ngày, BlackBerry hoạt động thêm dù sử dụng với tần suất cao ngày Nhiều ứng dụng vô dụng: Android Martket có mảng ứng dụng miễn phí rộng lớn để tải về, nhiên có nhiều ứng dụngdụng Google không kiểm tra trước cung cấp Android Martket Vì thế, bạn phải lướt qua nhiều ứng dụng chất lượng trước tìm ứng dụng tốt để đáp ứng tiêu chuẩn Giới hạn phần cứng: Từ Android chạy hầu hết điện thoại smartphone, nhiều mẫu điện thoại không hỗ trợ hết tiềm Đối với 10 3.2.7 Sơ đồ lớp hệ thống 3.2.7.1 Thiết kế lớp  Lớp “SearchActivity” • Mô hình: Hình 3.9 Lớp “SearchActivity” • Chức năng: Cung cấp giao diện chương trình để người sử dụng tương tác Xử lý kiện người dùng lựa chọn vị trí cần tìm kiếm kiện người dùng bấm nút “Search” Hiển thị kết tìm kiếm tương ứng theo kiểu danh sách ghi  Lớp “MapsActivity” • Mô hình: Hình 3.10 Lớp “MapsActivity” • Chức năng: cung cấp giao diện đồ GoogleMap hiển thị vị trí ATM 60  Lớp “ATMInfor” • Mô hình: Hình 3.11 Lớp “ATMInfor” • Chức năng: thực chức thiết lập truy xuất thuộc tính ATM như: tên ATM, giá trị kinh độ, vĩ độ…  Lớp “ATMInforAdapter” • Mô hình: Hình 3.12 Lớp “ATMInforAdapter” • Chức năng: Cung cấp giao diện hiển thị ghi chứa thông tin ATM danh sách kết tìm kiếm Xử lý kiện người sử dụng lựa chọn ATM để hiển thị đồ GoogleMap 61  Lớp “Search” • Mô hình: Hình 3.13 Lớp “Search” • Chức năng: xử lý liệu kết trình tìm kiếm từ Server gửi  Lớp “AsyncSearch” • Mô hình: Hình 3.14 Lớp “AsyncSearch” • Chức năng: gửi thông tin cần tìm kiếm lên Server thông qua giao thức HTTP lớp HttpUtil  Lớp “HttpUtil” • Mô hình: Hình 3.15 Lớp “HttpUtil” • Chức năng: cung cấp giao thức kết nối với Server 62 3.2.7.2 Sơ đồ lớp hệ thống Hình 3.16 Sơ đồ lớp hệ thống 3.2.8 Biểu đồ thành phần Hình 3.17 Biểu đồ thành phần hệ thống 63 3.2.9 Biểu đồ triển khai Hình 3.18 Biểu đồ triển khai hệ thống 3.3 Xây dựng chương trình Chương trình bao gồm thành phần cần xây dựng: Thành phần thứ nhất: WebServer bao gồm: • Một thành phần liệu để lưu trữ thông tin ATM bao gồm thuộc tính: name (tên ATM), lat (vĩ độ), long (kinh độ), province (tỉnh/thành phố) address (địa ATM) 64 Hình 3.19 Dữ liệu cho chương trình • Một file “xuly.php” với chức năng: - Dựa vào vị trí cần tìm kiếm gửi lên, tìm sở liệu ghi tương ứng Ví dụ: Vị trí “Thai Nguyen” tìm sở liệu ghi có thuộc tính province “Thai Nguyen” - Thông qua giá trị lat (vĩ độ) long (kinh độ) thiết bị gửi lên tính khoảng cách từ vị trí thiết bị đến ATM hàm “distance” bên Sau xếp khoảng cách theo giá trị tăng dần gửi trả kết thiết bị danh sách kết hiển thị theo thứ tự tăng dần khoảng cách File “xuly.php”: (Phụ lục) 65 Thành phần thứ hai: Một Project Android thực chức sau: • Xây dựng giao diện để người sử dụng tương tác với chương trình giao diện GoogleMap dùng để hiển thị vị trí ATM ngôn ngữ xml Hình 3.20 Giao diện giao diện GoogleMap chương trình • Xây dựng lớp để thực thi giao diện ngôn ngữ Java 66 Hình 3.21 Giao diện chương trình người dùng lựa chọn địa điểmXây dựng lớp chứa phương thức: - Xử lý kiện người dùng lựa chọn vị trí cần tìm kiếm bấm nút Search - Sau người dùng bấm nút Search cần xác định giá trị spinner, tức vị trí cần tìm kiếm Tiếp theo, xác định vị trí người dùng thông qua nhà cung cấp GPS bao gồm giá trị longitude (kinh độ) latitude (vĩ độ) Sau gửi thông tin gồm giá trị lên Server qua giao thức HTTP để xử lý - Sau Server xử lý xong gửi kết phù hợp hiển thị thông tin 67 Hình 3.22 Kết tìm kiếm với giá trị “Nghe An” Hình 3.23 Giao diện kết phù hợp 68 - Sau có kết tìm kiếm, người dùng lựa chọn chức hiển thị vị trí ATM đồ GoogleMap lấy giá trị latitude (vĩ độ) longitude (kinh độ) ATM để xác định vị trí GoogleMap Hình 3.24 Giao diện người dùng lựa chọn hiển thị GoogleMap 69 KẾT LUẬN Qua trình làm đồ án, em có hội nghiên cứu tìm hiểu nhiều kiến thức mẻ bổ ích hệ điều hành Androi Đồng thời, em củng cố hoàn thiện kỹ kiến thức lập trình Java, phát triển phần mềm, học thêm kiến thức mới: - Nắm vững kiến hệ điều hành Android, chế biên dịch máy ảo chạy ứng dụng Android, hiểu rõ phận làm việc Android - Biết cách xây dựng ứng dụng hệ điều hành Android - Xây dựng sở liệu nằm Server giúp người quản trị dễ dàng cập nhật thông tin - Kỹ dịch tài liệu tiếng anh tìm kiếm thông tin mạng internet - Kinh nghiệm làm việc khoảng thời gian cho phép - Kinh nghiệm lập trình môi trường có giới hạn vật lý thiết bị di động tốc độ xử lý chưa cao, nhớ thấp, hình nhỏ, dung lượng pin thấp… Tuy nhiên trình làm đồ án số hạn chế như: xây dựng giao diện chương trình chưa đẹp mắt, chưa hỗ trợ nhiều tiện ích tìm kiếm chức tìm kiếm Hướng phát triển: xây dựng ứng dụng hỗ trợ nhiều tiện ích tìm kiếm như: tìm kiếm Nhà hàng, Quán café, Khách sạn, Trạm xăng, Bệnh viện hỗ trợ nhiều chức 70 TÀI LIỆU THAM KHẢO [1] Mark Murphy, BeginningAndroid (2009), Apress [2] Mark Murphy, BeginningAndroid (2010), Apress [3] Huỳnh Văn Đức, Giáo trình nhập môn UML (2003), Nhà xuất Lao Động Xã Hội [4] Website http://developer.android.com [5] Website http://vietandroid.com/forum.php 71 PHỤ LỤC File “xuly.php”:

Ngày đăng: 20/04/2017, 22:25

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan