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

Nghiên cứu hệ điều hành android và xây dựng ứng dụng tìm kiếm máy rút tiền atm

52 0 0

Đ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

Nội dung

Công việc kinh doanh buôn bán đã xuất hiện từ rất lâu, trãi qua mọi giai đoạn lịch sử nó mang hình thức đặc thù riêng. Trước kia, khi các công cụ hổ trợ công việc mua bán chưa phát triển mạnh, thì người kinh doanh mua bán chỉ diễn ra dưới hình thức mua bán trực tiếp. Từ khi khoa học công nghệ phát triển, nó đã tạo ra phát triển các loại hình thức mua bán mới, điển hình là mua bán trực tuyến. Hình thức mua bán trực tuyến hổ trợ đắc lực cho người kinh doanh tiếp xúc với được nhiều khách hàng, còn khách hàng thì công việc mua bán được diễn ra nhanh chóng, thuận lợi, tiết kiệm được thời gian, … Hiện nay, Thương mại điện tử (TMĐT) đang được nhiều quốc gia quan tâm, coi là một trong những động lực phát triển chủ yếu của nền kinh tế. TMĐT đem lại những lợi ích tiềm tàng, giúp doanh nghiệp thu được thông tin phong phú về thị trường và đối tác, giảm phí tiếp thị và giao dịch, tạo dựng và củng cố quan hệ bạn hàng

LỜI CẢM ƠN Hiện nay, thị trƣờng phần mềm cho điện thoại di động ngày càng trở nên hấp dẫn đối với các công ty công nghệ Ngƣời tiêu dùng đang có xu hƣớng sử dụng điện thoại để truy cập Internet, nghe nhạc số và chơi game đã làm từng bƣớc thay đổi cuộc sống của con ngƣời bởi các ứng dụng sản phẩm của công nghệ Một trong những bộ phận ứng dụng công nghệ thông tin chính là thay đổi và giúp đỡ việc sinh hoạt hàng ngày của mọi ngƣời trong cuộc sống Vì vậy em đã lựa chọn đề tài “Nghiên cứu hệ điều hành Android và xây dựng ứng dụng tìm kiếm máy rút tiền ATM” để làm đồ án với ý nghĩa mang tính thực tế Trong thời gian làm đồ án em đã gặp không ít khó khăn nhƣng đƣợc sự giúp đỡ hƣớng dẫn tận tình của các thầy giáo, cô giáo trong bộ môn lập trình – Khoa Khoa Học Máy Tính – Trƣờng Cao Đẳng Công Nghệ Thông Tin Hữu Nghị Việt – Hàn đã giúp em hoàn thành đƣợc đồ án này Do thời gian hạn chế nên đồ án không hoàn thành hết các chức năng nhƣ dự định ban đầu đã đặt ra Trong quá trình thực hiện thì không thể tránh khỏi những sai sót, mong thầy cô và các bạn góp ý để em hoàn thiện tốt hơn Em xin chân thành cảm ơn! Trang i MỤC LỤC LỜI CẢM ƠN i MỤC LỤC ii DANH MỤC CÁC TỪ VIẾT TẮT iv DANH MỤC CÁC HÌNH VẼ .v Chƣơng 1 CHƢƠNG MỞ ĐẦU .1 1.1 Phát biểu bài toán 1 1.2 Mục tiêu và nhiệm vụ 1 1.2.1 Mục tiêu 1 1.2.2 Nhiệm vụ .2 1.3 Đối tƣợng nghiên cứu và phạm vi hệ thống 2 1.3.1 Đối tượng nghiên cứu 2 1.3.2 Phạm vi hệ thống 2 1.4 Ý nghĩa thực tiễn của ứng dụng 2 Chƣơng 2 CƠ SỞ LÝ THUYẾT 3 2.1 Giới thiệu hệ điều hành Android 3 2.1.1 Khái niệm hệ điều hành Android 3 2.1.2 Đặc điểm của hệ điều hành Android 3 2.1.3 Kiến trúc của hệ điều hành Android 4 2.1.4 Các thành phần cơ bản của hệ điều hành Android 5 2.1.5 Android Emulator 7 2.2 Lập trình trên hệ điều hành Android 8 2.2.1 Ngôn ngữ JAVA 8 2.2.2 Tổng quan ngôn ngữ XML 10 2.2.3 Tổng quan ngôn ngữ JSON 10 2.2.4 Tổng quan ngôn ngữ PHP 11 2.2.5 Các dịch vụ của google để lập trình MapView 12 Chƣơng 3 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 14 3.1 Yêu cầu hệ thống 14 3.1.1 Yêu cầu chức năng .14 3.1.2 Yêu cầu phi chức năng 14 3.1.3 Yêu cầu hệ thống 14 3.2 Phân tích thiết kế hệ thống 14 3.2.1 Mô hình hóa yêu cầu 14 3.2.2 Mô hình hóa khái niệm .19 Trang ii 3.2.3 Mô hình hóa tương tác đối tượng 21 3.2.4 Mô hình hóa hành vi 27 3.2.5 Thiết kế chi tiết biểu đồ lớp 30 3.2.6 Thiết kế kiến trúc vật lý 31 Chƣơng 4 XÂY DỰNG ỨNG DỤNG 32 4.1 Demo chƣơng trình 32 4.1.1 Xây dựng giao diện của web service 32 4.1.2 Xây dựng chức năng xử lý của web service 34 4.1.3 Truyền dữ liệu qua các Activity 36 4.1.4 Hiển thị Bản đồ 37 4.1.5 Đọc dữ liệu từ file JSON 39 4.2 Giao diện ứng dụng 40 KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 44 DANH MỤC TÀI LIỆU THAM KHẢO vii NHẬN XÉT CỦA CÁN BỘ HƢỚNG DẨN viii Trang iii DANH MỤC CÁC TỪ VIẾT TẮT  ATM: Automated teller machine (Máy rút tiền tự động)  API: Application Programming Interface (Giao diện lập trình ứng dụng)  CPU: Central Processing Unit (Đơn vị xử lý trung tâm)  CSDL: Cơ sở dữ liệu  GPS: Global Positioning System (Hệ thống định vị toàn cầu)  XML: eXtensible Markup Language (Ngôn ngữ đánh dấu mở rộng)  SDK: Software Development Kit (Bộ công cụ phát triển phần mềm) Trang iv DANH MỤC CÁC HÌNH VẼ Số hiệu hình vẽ Tên hình vẽ Trang Hình 2.1 Kiến trúc Android 4 Hình 2.2 Cách biên dịch chƣơng trình truyền thống 9 Hình 2.3 Cơ chế biên dịch của JAVA 9 Hình 2.4 Ví dụ về Google Map 12 Hình 2.5 Ví dụ Google Places API 13 Hình 3.1 Biểu đồ trƣờng hợp sử dụng tổng quát 17 Hình 3.2 Biểu đồ trƣờng hợp sử dụng cập nhật danh sách ngân hàng 18 Hình 3.3 Biểu đồ trƣờng hợp sử dụng cập nhật danh sách tỉnh thành 18 Hình 3.4 Biểu đồ trƣờng hợp sử dụng cập nhật danh sách quận 18 huyện Hình 3.5 Biểu đồ trƣờng hợp sử dụng cập nhật danh sách địa điểm 19 Hình 3.6 Biểu đồ trƣờng hợp sử dụng cập nhật danh sách ngƣời 19 dùng Hình 3.7 Các lớp biên 20 Hình 3.8 Các lớp điều khiển 20 Hình 3.9 Các lớp thực thể ở mức phân tích 21 Hình 3.10 Biểu đồ trình tự khởi động hệ thống 21 Hình 3.11 Biểu đồ trình tự đóng hệ thống 22 Hình 3.12 Biểu đồ trình tự tìm kiếm 22 Hình 3.13 Biểu đồ trình tự ngƣời dùng đăng ký tài khoản 22 Hình 3.14 Biểu đồ trình tự đăng nhập 23 Hình 3.15 Biểu đồ trình tự góp ý 23 Hình 3.16 Biểu đồ trình tự xem ATM trên bản đồ 23 Hình 3.17 Biểu đồ trình tự thêm danh sách địa điểm 24 Hình 3.18 Biểu đồ trình tự sửa danh sách địa điểm 24 Hình 3.19 Biểu đồ trình tự xóa danh sách địa điểm 24 Hình 3.20 Biểu đồ cộng tác khởi động hệ thống 25 Hình 3.21 Biểu đồ cộng tác đóng hệ thống 25 Hình 3.22 Biểu đồ cộng tác tìm kiếm 25 Hình 3.23 Biểu đồ cộng tác đăng ký 26 Hình 3.24 Biểu đồ cộng tác đăng nhập 26 Hình 3.25 Biểu đồ cộng tác góp ý 26 Hình 3.26 Biểu đồ cộng tác thêm địa điểm 26 Trang v Hình 3.27 Biểu đồ cộng tác sửa địa điểm 27 Hình 3.28 Biểu đồ cộng tác xóa địa điểm 27 Hình 3.29 Biểu đồ cộng tác xem ATM trên bản đồ 27 Hình 3.30 Biểu đồ trạng thái mở hệ thống 27 Hình 3.31 Biểu đồ trạng thái tìm kiếm 28 Hình 3.32 Biểu đồ trạng thái gửi góp ý 28 Hình 3.33 Biểu đồ trạng thái xem ATM trong danh sách yêu thích 28 Hình 3.34 Biểu đồ hoạt động mở hệ thống 28 Hình 3.35 Biểu đồ hoạt động đóng hệ thống 29 Hình 3.36 Biểu đồ hoạt động cập nhật danh sách ngân hàng 29 Hình 3.37 Biểu đồ hoạt động tìm kiếm 29 Hình 3.38 Biểu đồ hoạt động gửi góp ý 30 Hình 3.39 Chi tiết biểu đồ lớp 30 Hình 3.40 Biểu đồ thành phần 31 Hình 3.41 Biểu đồ triển khai 31 Hình 4.1 Giao diện chính của web service 32 Hình 4.2 Giao diện danh sách địa điểm ATM 32 Hình 4.3 Giao diện thêm tài khoản 33 Hình 4.4 Giao diện xóa tài khoản 33 Hình 4.5 Quá trình xử lý của web service 34 Hình 4.6 Mô hình trao đổi dữ liệu giữa 2 Activity 36 Hình 4.7 Cấu trúc một Intent 36 Hình 4.8 Quá trình lấy dữ liệu từ Google Map 37 Hình 4.9 Quá trình sử dụng tài nguyên hệ thống 37 Hình 4.10 Quá trình đánh dấu trên bản đồ 38 Hình 4.11 Mô hình xác định mảng giá trị trong JSON 39 Hình 4.12 Giao diện chính của chƣơng trình 40 Hình 4.13 Giao diện tìm kiếm 40 Hình 4.14 Giao diện kết quả tìm kiếm 41 Hình 4.15 Giao diện tính đánh dấu địa điểm và tính vẽ đƣờng 41 Hình 4.16 Giao diện góp ý và giao diện thông tin tài khoản 42 Hình 4.17 Giao diện đăng ký và đăng nhập 42 Hình 4.18 Giao diện xem địa điểm yêu thích 43 Hình 4.19 Giao diện xem ATM trên bản đồ 43 Trang vi Xây dựng hệ thống tìm kiếm máy ATM trên hệ điều hành Android Chƣơng 1 CHƢƠNG MỞ ĐẦU 1.1 Phát biểu bài toán Ngày nay các thiết bị số cầm tay nhƣ đ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 lợi ích đem lại, các thiết bị đó ngày càng đƣợc sử dụng nhiều và phổ biến Một nền tảng đƣợc sử dụng trong các thiết bị đó là hệ điều hành thông minh Android của Google Do vậy đi cùng việc phát triển và sử dụng các thiết bị phần cứng một cách hiệu quả thì việc phát triển các ứng dụng phần mềm chạy trên nền Android càng lúc càng tăng cao Các thiết bị di động ngày càng mạnh mẽ với khả năng xử lí các tác vụ mà chúng ta khó có thể tƣởng tƣợng trƣớc đây vài năm Những chiếc điện thoại thời trang và tiện dụng với những tính năng về phần cứng nhƣ GPS, gia tốc kế và màn hình cảm ứng là một nền tảng hấp dẫn cho các ứng dụng di động đột phá Trong khi việc phát triển nền tảng di động hiện nay chủ yếu xây dựng trên các hệ điều hành độc quyền, hạn chế các ứng dụng của bên thứ ba, sự ra đời của Android đã mang lại một giải pháp mở Không bị hạn chế, các lập trình viên Android tự do viết các ứng dụng tận dụng tối đa sự phát triển mạnh mẽ của phần cứng cho điện thoại di động Android nhanh chóng trở thành hệ điều hành thu hút nhiều lập trình viên và chiếm một thị phần lớn trong thị trƣờng di động 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 con ngƣời tiết kiệm thời gian hơn vào nhiều công việc thực tiễn trong đời sống hằng ngày Hiện nay một hình thức lƣu giữ tiền khá phổ biến trong cuộc sống đó là thẻ rút tiền ATM, nó đƣợc dùng để chi trả lƣơng cho nhiều nhân viên của các công ty, doanh nghiệp, hay dùng để gởi tiền cho sinh viên ở xa nhà Vì vậy việc tìm kiếm các địa điểm để sử dụng thẻ là điều khá hữu dụng trong cuộc sống, khi mà trong một số trƣờng hợp chúng ta rất khó có thể xác định cột thẻ trong hàng ngàn địa điểm trong thành phố hay các khu vực khác 1.2 Mục tiêu và nhiệm vụ 1.2.1 Mục tiêu  Tìm hiểu đƣợc các công nghệ lập trình cần thiết trên nền Android để hoàn thành đƣợc ứng dụng có thể tìm kiếm nhanh và chính xác vị trí máy ATM  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 Trần Ánh Bang – CCLT04C Trang 1 Xây dựng hệ thống tìm kiếm máy ATM trên hệ điều hành Android  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 của hệ thống (GPS, Internet, TouchScreen), sử dụng các dịch vụ của Google nhƣ Google Map, Google Places API…  Tìm hiểu xây dựng một cơ sở dữ liệu bằng MySql Xây dựng một web service để quản lý và cập nhật thông tin cho ứng dụng 1.2.2 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 1.3 Đối tƣợng nghiên cứu và phạm vi hệ thống 1.3.1 Đối tượng nghiên cứu  Ngôn ngữ lập trình JAVA, XML, PHP  Hệ cơ sở dữ liệu MySQL  Công cụ Android SDK Eclipse  Hệ điều hành và tài nguyên hệ thống Android  Các dịch vụ của Google nhƣ Google Map, Google Places API… 1.3.2 Phạm vi hệ thống  Đề tài chỉ dừng lại ở khuôn khổ tìm kiếm địa chỉ đặt các trạm ATM theo tỉnh thành phố ở Việt Nam Ứng dụng đƣợc viết trên nền hệ điều hành Android, Web Service đƣợc đƣợc viết bằng PHP và dùng CSDL MySQL 1.4 Ý nghĩa thực tiễn của ứng dụng  Chƣơng trình có thể áp dụng vào cuộc sống hàng ngày để tìm kiếm máy ATM trên toàn quốc khi có nhu cầu mà đến cả những ngƣời có ít kiến thức về công nghệ có thể sử dụng Trần Ánh Bang – CCLT04C Trang 2 Xây dựng hệ thống tìm kiếm máy ATM trên hệ điều hành Android Chƣơng 2 CƠ SỞ LÝ THUYẾT 2.1 Giới thiệu hệ điều hành Android 2.1.1 Khái niệm hệ điều hành Android Android là hệ điều hành trên các thiết bị số di động nhƣ smartphone và tablet (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 Vào năm 2005, Google đã mua lại Android nằm trong chiến lƣợc tiến vào thị trƣờng di động Google muốn Android trở thành nền tảng “mở” và miễn phí Do vậy hầu hết mã nguồn của Android đƣợc phát hành theo giấy phép mã nguồn mở Apache nên bất cứ ai muốn sử dụng Android có thể download toàn bộ mã nguồn Hơn nữa các nhà sản xuất phần cứng có thể thêm các thành phần mở rộng độc quyền của hãng để tạo ra các sản phẩm khác nhau Chính mô hình phát triển đơn giản này khiến Android trở nên rất hấp dẫn 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 hơn 250,000 ứng dụng cho Android OS và vào khoảng hơn 375,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 đính tạo nên một chuẩn mở cho điện thoại di động trong tƣơng lai Google công bố hầu hết các mã nguồ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.8 triệu dòng mã C, 2.1 triệu mã Java và 1.75 triệu dòng mã C++ 2.1.2 Đặc điểm của hệ điều hành Android  Aplication framework: cho phép tái sử dụng và thay thế các thành phần  Davik virtual machine: tối ưu các yêu cầu bộ nhớ cần thiết cho việc phát triển các ứng dụng trên thiết bị di động  Intergrated browser: dựa trên mã nguồn mở webkit động  Optimized graphics: hỗ trợ thư viện đồ họa 2D, 3D dựa trên các đặc điểm kỹ thuật OpenGL ES 1,0 (phần cứng tăng tốc tùy chọn)  SQLite: lưu trữ cấu trúc dữ liệu  Media Support: hỗ trợ các định dạng âm thanh, video, hình ảnh phổ biến Trần Ánh Bang – CCLT04C Trang 3 Xây dựng hệ thống tìm kiếm máy ATM trên hệ điều hành Android (MPEG4, H.264, MP3, AAC, ARM, JPG, PNG, GIF)  GSM Telephony (phụ thuộc phần cứng)  Bluetooth, EDGE, 3G, WIFI (phụ thuộc phần cứng)  Camera, GPS, compass, and accelronment:bao gồm thiết bị giả lập (Emutor) công cụ debugging Công cụ cho bộ nhớ và Plugin cho Eclipse IDE 2.1.3 Kiến trúc của hệ điều hành Android Mô hình sau thể hiện một cách tổng quát các thành phần của hệ điều hành Android Mỗi một phần sẽ đƣợc đặc tả một cách chi tiết dƣới đây Hình 2.1 Kiến trúc Android  Applications: Android đƣợc tích hợp sẵn một số ứng dụng cần thiết cơ bản nhƣ: contacts, browser, camera, Phone.… Tất cả các ứng dụng chạy trên hệ điều hành Android đều đƣợc viết bằng Java  Application framework: Bằng cách cung cấp một nền tảng phát triển mở, Android cung cấp cho các nhà phát triển khả năng xây dựng các ứng dụng cực kỳ phong phú và sáng tạo Nhà phát triển đƣợc tự do tận dụng các thiết bị phần cứng, thông tin địa điểm truy cập, các dịch vụ chạy nền, thiết lập hệ thống báo động, thêm các thông báo để các thanh trạng thái, và nhiều, nhiều hơn nữa  Library: Android bao gồm một bộ thƣ viện C/C++, đƣợc sử dụng bởi các thành phần khác nhau của hệ thống Android Những khả năng tiếp xúc với các nhà phát triển Trần Ánh Bang – CCLT04C Trang 4

Ngày đăng: 07/03/2024, 22:13

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

TÀI LIỆU LIÊN QUAN

w