1. Trang chủ
  2. » Công Nghệ Thông Tin

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

33 206 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

Thông tin cơ bản

Định dạng
Số trang 33
Dung lượng 1,93 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Với sự phát triển nhanh chóng của khoa học công nghệ và đặc biệt là ngành công nghệ thông tin, 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ế.

Trang 1

MỤC LỤC

MỤC LỤC 1

LỜI NÓI ĐẦU 3

CHƯƠNG 1 – MỞ ĐẦU 4

1.1.Lý do chọn đề tài 4

1.2 Đối tượng nghiên cứu 4

1.3 Mục đích nghiên cứu 5

1.4 Ý nghĩa lý luận và thực tiễn của đề tài 5

CHƯƠNG 2 – CƠ SỞ LÝ THUYẾT 6

2.1.Giới thiệu hệ điều hành Android 6

2.1.1.Tổng quan cấu trúc của Android 6

2.1.2.Sơ lược các phiên bản Android 7

2.1.3.Các thành phần cơ bản của ứng dụng Android 9

2.1.4 Các dịch vụ của google với lập trình MapView 10

2.1.4.1 Google Maps 10

2.1.4.2 Google Places API 11

2.1.4.3 Google Directions API 12

2.1.4.4 Google Geocoding API 12

2.1.5 Tích hợp google map vào ứng dụng android – Download Google Play services 12

2.2.Lập trình trên hệ điều hành Android 17

2.2.1.Ngôn ngữ JAVA 17

2.2.1.1.Tổng quan về ngôn ngữ JAVA 17

2.2.1.2.Một số tính chất ngôn ngữ JAVA 18

2.2.2.Ngôn ngữ JSON 21

2.2.3.Ngôn ngữ XML 22

CHƯƠNG 3: THIẾT KẾ HỆ THỐNG VÀ PHẦN MỀM ỨNG DỤNG 24

3.1 Thiết kế hệ thống 24

3.1.1 Đặc tả bài toán 24

3.1.2 Đặc tả các chức năng của chương trình 24

3.2 Biểu đồ trạng thái hoạt động 24

3.3 Phần mềm ứng dụng 25

Trang 2

3.3.1 Truyền dữ liệu qua các form 25

3.3.2 Hiển thị MapView 25

3.3.3 Sử dụng tài nguyên GPS và Internet của hệ thống 26

3.3.4 Đánh dấu vị trí trên MapView 26

3.3.5 Truy vấn và lấy dữ liệu từ hệ thống Services của Google 26

3.3.6 Đọc dữ liệu từ file JSON 26

3.4 Một số giao diện chương trình 26

3.4.1 MainActivity 26

3.4.2 Kết quả tìm kiếm 26

KẾT LUẬN 26

TÀI LIỆU THAM KHẢO 26

Trang 3

LỜI NÓI ĐẦU

Với sự phát triển nhanh chóng của khoa học công nghệ và đặc biệt là ngành côngnghệ thông tin, 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ảnphẩ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ếmmá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 Học MáyTính –Trường đại học sư phạm kỹ thuật Vinh đã giúp em hoàn thành được đồ án này

Em xin chân thành cảm ơn giảng viên ths.Trần Thanh Phong – người trực tiếphướng dẫn đã tận tình hướng dẫn và giúp đỡ em hoàn thành cuốn đồ án này Một lời cảm

ơn sâu sắc nữa em muốn gửi tới toàn thể thầy cô giáo đã trang bị cho em những kiến thức

cơ bản cần thiết trong những năm học vừa qua để em có thể thực hiện tốt cuốn đồ án nàycũng như đủ tự tin để làm việc sau này

Em xin chân thành cảm ơn!

Trang 4

CHƯƠNG 1 – MỞ ĐẦU 1.1 Lý do chọn đề tài

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 đemlạ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 đicù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áttriể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 takhó 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ệndụ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ềntả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ểnmạnh mẽ của phần cứng cho điện thoại di động Android nhanh chóng trở thành hệ điềuhà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ảitrí 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 đờisố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ườnghợ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 Đối tượng nghiên cứu

Với đề tài này, em tập trung vào các nội dung :

- Cách cài đặt các chương trình để có thể chạy android

- Tìm hiểu về Activity trong Android

- Tìm hiểu về Service trong Android

Trang 5

- Tìm hiểu Google Map API.

- Cách tạo giao diện trong Android

- Cách lưu trữ dữ liệu trong Android

- Xây dựng ứng dụng tìm kiếm máy ATM

1.3 Mục đích nghiên cứu

- Nghiên cứu kiến trúc Android

- Nghiên cứu các thành phần cơ bản trong Android

- Nghiên cứu cách phát triển ứng dụng trên Android

- Xây dựng ứng dụng “Tìm kiếm máy ATM” trên nền tảng Android

1.4 Ý nghĩa lý luận và thực tiễn của đề tài

- Ý nghĩa luận: Đề tài là tài liệu tham khảo rất hữu ích cho những ai muốn tìm hiểu về

Android Bên cạnh đó, chưa có nhiều tài liệu tham khảo về Android bằng tiếng việt,

do đó em muốn nghiên cứu muốn đóng góp hiểu biết của mình để làm giàu thêm tài liệu tham khảo cho chủ đề này

- Ý nghĩa thực tiễn: Hiện tại, hệ điều hành Android đang được sử dụng rộng rãi trên

các thiết bị di động Nhu cầu học của người dùng trên điện thoại rất cao Chính vì vậychương trình “tìm kiếm máy ATM” là một ứng dụng và học tập rất hữu ích cho những ai sử dụng điện thoại cài hệ điều hành Android

Trang 6

CHƯƠNG 2 – CƠ SỞ LÝ THUYẾT 2.1 Giới thiệu 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ênnền tảng Linux Trước đây, Android được phát triển bởi công ty liên hợp Android Vàonă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ồncủ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ácnhau 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ủamình

Hiện tại có khoảng hơn 250,000 ứng dụng cho Android OS và vào khoảng hơn375,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 Androiddự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ầncứ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ấpphép Apache Hệ điều hành Android bao gồm 12 triệu dòng mã; 3 triệu dòng XML, 2.8triệu dòng mã C, 2.1 triệu mã Java và 1.75 triệu dòng mã C++

2.1.1 Tổng quan cấu trúc của Android

Nói một cách đơn giản thì 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 động

2 Một nền tảng mã nguồn mở cho phát triển các ứng dụng

3 Thiết bị chạy hệ điều hành Android và các ứng dụng Android

Chi tiết hơn thì Android 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

Trang 7

2 Một nhân hệ đ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 hoá cho thiết bị di động.

3 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

4 Một hệ thống thực thi và lưu trữ cho ứng dụng Android bao gồm máy ảoDalvik và các thư viện cơ bản cung cấp chức năng đặc thù cho Android Hệ thốngthực thi được thiết kế nhỏ gọn và hiệu quả khi sử dụng trên các thiết bị di động

5 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 baogồ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

6 Một kiến trúc giao diện người dùng để lưu trữ và chạy các ứng dụng

7 Một số ứng dụng được cài đặt sẵn được coi như một phần của bộ ứng dụng

8 Một bộ phát triển ứng dụng bao gồm các công cụ và tài liệu

Hình 1: Các thành phần của hệ điều hành Android

2.1.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 6 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

Trang 8

 OHA giới thiệu Android (5-11-2007).

Trang 9

Hình 2: Logo và tên các phiên bản Android

2.1.3 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ạntrong 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ươngtá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ươngtá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 các xử lí thông thườngnhư tiếp tục Activity sau khi các Activity này không hoạt động hoặc hiển thị

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

Trang 10

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ể thêm 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áocho người dùng năm trong một Service hay một Broadcast Receiver Ví dụ như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ùngbằng nhấp nháy đèn hay bằng âm thanh…

Một ứng dụng không nhất thiết phải gồm tất cả các thành phần trên nhưng để cómột giao diện với người dùng thì ít nhất ứng dụng đó phải có một Activity Mã đã đượcbiên dịch của các thành phần của ứng dụng, tài nguyên liên quan như thư viện, hình ảnh

và các dữ liệu cần thiết khác được đóng gói trong một file apk duy nhất chính là dạng filethực thi của ứng dụng Android

Như đã trình bày ở trên, Activity là thành phần quan trọng nhất và đóng vai tròchính trong việc xây dựng ứng dụng Android Hệ điều hành Android quản lí ứng dụngdưới dạng stack : khi một Activity mới được khởi tạo, nó được xếp lên đầu stack và trởthành running activity, các Actitivy trước đó sẽ bị tạm dừng vả chỉ hoạt động trở lại khi

Activity mới được giải phóng

2.1.4 Các dịch vụ của google với lập trình MapView

Để làm việc tốt với hệ thống bản đồ của google, thì cần sử dụng một số các dịch

vụ cần thiết để lập trình Điểm chung của các dịch vụ này là đều chạy trên môi trườngweb và đều trả kết quả qua định dạng file JSON hoặc là XML

2.1.4.1 Google Maps

Google Maps (thời gian trước còn gọi là Google Local) là một dịch vụ ứng dụng

và công nghệ bản đồ trực tuyến trên web miễn phí được cung cấp bởi Google và hỗ trợ

Trang 11

nhiều dịch vụ dựa vào bản đồ như Google Ride Finder và một số có thể dùng để nhúngvào các trang web của bên thứ ba thông qua Google Maps API Nó cho phép thấy bản đồđường sá, đường đi cho xe đạp, cho người đi bộ (những đường đi ngắn hơn 6.2 dặm) và

xe hơi, và những địa điểm kinh doanh trong khu vực cũng như khắp nơi trên thế giới

Hình 3: Một ví dụ về Google Maps 2.1.4.2 Google Places API

Google Places API là một dịch vụ của Google INC mà khi sử dụng chúng ta sẽnhận được các thông tin về các địa điểm đã được đánh dấu trên bản đổ Google Maps bởicác tổ chức, công ty và cá nhân ở khắp nơi trên thế giới Để sử dụng được dịch vụ nàychúng ta phải đăng ký API key dịch vụ Google Places với google (Sử dụng miễn phí cógiới hạn số lần request/day)

Trang 12

Hình 4: Một ví dụ về Google Places API 2.1.4.3 Google Directions API

Google Directions API là một dịch vụ của Google INC mà khi sử dụng chúng ta

sẽ đưa vào tọa độ 2 địa điểm đầu cuối rồi sau đó sẽ được nhận thông tin về khoảng cáchgiữa 2 địa điểm, tọa độ GPS, thời gian đi lại dự kiến với các phương tiên như xe máy, otohay là đi bộ

2.1.4.4 Google Geocoding API

Đây là một dịch vụ nữa của google cho phép chúng ta xác định các địa điểm điqua trên đường đi giữa 2 vị trí xác định

2.1.5 Tích hợp google map vào ứng dụng android – Download Google Play services

Trước khi chúng ta bắt đầu tích hợp google map, chúng ta cần download Google Play services từ SDK manager Bạn có thể mở SDK manager từ Android Studio bằng cách chọnTools -> Android -> SDK Manager -> Launch Standalone SDK Manager

Trang 13

Tiếp theo chúng ta phải tạo SHA1 key cho việc đăng ký ứng dụng với Google’s

Developer Console

Đối với hệ điều hành Windows (Run -> CMD -> Nhấn Enter)

keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias

androiddebugkey -storepass android -keypass android

Lưu ý nếu bạn không tìm thấy keytool, nó nằm trong thư mục bin của thư mục JDK Bên dưới là kết quả sau khi thực thi lệnh keytool

Đối với hệ điều hành Linux hoặc Mac OS

keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android

Trang 14

Sau khi chúng ta đã tạo SHA1 key, bước tiếp theo là đăng ký API key cho ứng dụng Đăng ký tại Google APIs Console Để có thể đăng ký API, bạn phải sử dụng tài khoản gmail và đăng nhập vào Google API Console Sau khi đăng nhập thành công, chọn

“CREATE PROJECT“

Nhập tên project là google map -> chọn “Create“

Kích hoạt “Google Maps Android API”: chọn Google Maps Android API

Chọn “ENABLE“

Trang 15

Chọn “Go to Credentials“

Tại màn hình “Credentials” chọn API key

Tại màn hình “API key“, chọn “Android apps” và click “Add package name and

fingerprint“

Trang 16

Nhập package name, SHA1 key và chọn “Create“

Sau khi click “Create“, API key sẽ được tạo và chúng ta sẽ sử dụng key này trong ứng dụng Android

Hướng dẫn tích hợp google map vào ứng dụng android – Tạo mới project

1 Mở Android Studio, chọn File -> New -> New Project

2 Mở Gradle Scripts/build.gradle (Module:app) và thêm đoạn code sau vào

trong dependencies, sau đó chọn “Sync Now“

Ngày đăng: 15/06/2018, 07:50

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w