Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 74 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
74
Dung lượng
2,63 MB
Nội dung
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ểuhệđiềuhànhAndroidxâydựngứngdụngtìmkiếmđịađiểmđặtmáyATMgầ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 đặtAndroid 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ềuhànhAndroid 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 ứngdụngAndroid 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ìmkiế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ỀUHÀNHANDROIDVÀ CÀI ĐẶT MÔI TRƯỜNG PHÁT TRIỂN ỨNGDỤ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 ứngdụng 16 1.4.1 Cài đặtAndroid SDK 16 1.4.2 Cài đặt Eclipse .17 CHƯƠNG II 23 NỀN TẢNG HỆĐIỀUHÀNHANDROID 23 2.1 Kiến trúc Android .23 2.2 Các thành phần ứngdụngAndroid .25 2.3 Chu kỳ hoạt động ứngdụngAndroid 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 ứngdụ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Ế VÀXÂYDỰ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âydự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 ứngdụng môi trường mạng dần thay ứngdụ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ềuhànhAndroid 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 ứngdụ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 ứngdụng cho thiết bị di động Phần mềm, ứngdụng cho điện thoại di động đa dạng phong phú, đa số phần mềm ứngdụ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 ứngdụng hữu ích chương trình tìmkiếm Google Map Chính lý mà em chọn đề tài: “Tìm hiểuhệđiềuhànhAndroidxâydựngứngdụngtìmkiếmđịađiểmđặtmáyATMgần nhất” với nội dung sau: Chương I: Tổng quan hệđiềuhànhAndroid cài đặt môi trường phát triển ứngdụng Chương II: Nền tảng hệđiềuhànhAndroid 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ỀUHÀNHANDROIDVÀ CÀI ĐẶT MÔI TRƯỜNG PHÁT TRIỂN ỨNGDỤNG 1.1 Giới thiệu AndroidAndroid ? Androidhệđiềuhành kiểu stack cho thiết bị di động gồm hệđiều hành, middleware ứngdụng quan trọng Android SDK cung cấp công cụ giao diện lập trình ứngdụng API cần thiết để bắt đầu phát triển ứngdụng tảng Android cách sử dụng ngôn ngữ lập trình Java Các tính hệđiềuhànhAndroid - 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ểmhệđiềuhànhAndroidAndroid 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ụngandroid tùy chỉnh theo ý thích Nếu trước đây, nhà sản xuất thiết bị di động sử dụnghệđiềuhành riêng mình, kho ứngdụng phục vụ cho riêng hệđiềuhà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 ứngdụ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ểmhệđiềuhànhAndroid 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 ứngdụng vô dụng: Android Martket có mảng ứngdụng miễn phí rộng lớn để tải về, nhiên có nhiều ứngdụng vô dụ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 ứngdụng chất lượng trước tìmứngdụ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ìmkiếm kiện người dùng bấm nút “Search” Hiển thị kết tìmkiế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ìmkiế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ìmkiế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ìmkiế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âydự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ìmkiế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âydự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âydự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ểm • Xâydự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ìmkiế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ìmkiế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ìmkiế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ìmhiểu nhiều kiến thức mẻ bổ ích hệđiềuhà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ềuhành Android, chế biên dịch máy ảo chạy ứngdụng Android, hiểu rõ phận làm việc Android - Biết cách xâydựngứngdụnghệđiềuhànhAndroid - Xâydự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ìmkiế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âydựng giao diện chương trình chưa đẹp mắt, chưa hỗ trợ nhiều tiện ích tìmkiếm chức tìmkiếm Hướng phát triển: xâydựngứngdụng hỗ trợ nhiều tiện ích tìmkiếm như: tìmkiế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”: