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

Lập trình Android - Lập trình App Banking (Full source code khi tải về + báo cáo)

18 4 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Lập Trình App Banking
Tác giả Phan Khắc Mạnh, Tô Văn Quân, Khúc Thành Luân, Nguyễn Quang Thắng, Đỗ Thế Đạt
Người hướng dẫn Trần Văn Tâm
Trường học Trường Đại Học Công Nghệ GTVT
Thể loại Báo cáo
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 18
Dung lượng 1,84 MB

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

Nội dung

Ứng dụng App Banking là một dự án mẫu được phát triển trên nền tảng Android, cung cấp các tính năng cơ bản của một ứng dụng ngân hàng trực tuyến. Với dự án này, bạn sẽ được cung cấp full source code khi tải về, cùng với tài liệu chi tiết hướng dẫn cách triển khai và mở rộng ứng dụng. Các tính năng chính: Đăng nhập và đăng ký: Đăng nhập bằng tài khoản người dùng. Hỗ trợ quên mật khẩu qua email. Quản lý tài khoản: Xem số dư tài khoản. Xem lịch sử giao dịch chi tiết. Chuyển tiền: Chuyển tiền nội bộ giữa các tài khoản trong hệ thống. Xác thực OTP trước khi thực hiện giao dịch. Thanh toán hóa đơn: Thanh toán các hóa đơn tiện ích như điện, nước, internet. Ghi nhận và lưu lại lịch sử thanh toán. Báo cáo giao dịch: Biểu đồ trực quan hiển thị chi tiêu hàng tháng. Xuất báo cáo dưới dạng file PDF. Bảo mật cao: Hỗ trợ xác thực vân tay (Fingerprint) hoặc mã PIN. Mã hóa dữ liệu giao dịch.

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN

-o0o -BÁO CÁO BÀI TẬP LỚN LẬP TRÌNH DI ĐỘNG

Tên đề tài:

LẬP TRÌNH APP BANKING

GIÁO VIÊN HƯỚNG DẪN : TRẦN VĂN TÂM

SINH VIÊN THỰC HIỆN : PHAN KHẮC MẠNH

TÔ VĂN QUÂN KHÚC THÀNH LUÂN NGUYỄN QUANG THẮNG

ĐỖ THẾ ĐẠT LỚP : 72DCTT21

HÀ NỘI, 2023

Trang 2

Phan Khắc Mạnh

- Trang chủ, lịch sử, thông báo

- Chuyển tiền

- Firebase

- Quét mã QR

Tô Văn Quân - Đăng nhập- Đăng ký

Nguyễn Quang Thắng - Hiển thị thông tin tài khoản- Sửa mật khẩu

Đỗ Thế Đạt - Sửa email- Sửa ảnh đại diện

Trang 3

CHƯƠNG 1: GIỚI THIỆU VỀ LẬP TRÌNH DI ĐỘNG 4

1.1 Giới thiệu ứng dụng Android 4

1.2 Tổng quan về Android 4

1.3 Xây dựng ứng dụng và Activity 5

1.4 Xây dựng giao diện người dùng 8

1.5 Intent và Services 9

1.6 Lưu trữ dữ liệu 9

1.7 Tìm hiểu về một số Android API 10

CHƯƠNG 2: GIỚI THIỆU APP BANKING 11

2.1 Giới thiệu về đề tài 11

2.1.1 Tổng quan về ứng dụng ngân hàng 11

2.1.2 Lý do cần xây dựng ứng dụng ngân hàng 12

2.1.3 Tính năng chính 13

2.2 Giao diện chương trình 14

2.2.1 Đăng nhập, đăng ký và xác nhận mật khẩu đăng nhập 14

2.2.2 Trang chủ, lịch sử và thông báo 15

2.2.3 Hồ sơ tài khoản 16

2.2.4 Chuyển khoản, nội dung chuyển khoản 16

2.2.5 Quét mã QR 17

Trang 4

LỜI MỞ ĐÂU

Báo cáo này tập trung vào việc phân tích, thiết kế và triển khai ứng dụng di động trên nền tảng Android Việc phát triển ứng dụng di động đã trở thành một phần quan trọng trong cuộc sống hàng ngày của chúng ta, với sự phổ biến ngày càng tăng của các thiết bị di động Android, với sự hỗ trợ của Google, đã trở thành một trong những hệ điều hành di động phổ biến nhất trên thế giới

Trong báo cáo này, chúng tôi sẽ trình bày quá trình phát triển một ứng dụng Android từ đầu đến cuối Chúng tôi sẽ bắt đầu bằng việc phân tích yêu cầu của ứng dụng và thiết kế cấu trúc cơ bản của nó Sau đó, chúng tôi sẽ đi sâu vào việc lập trình ứng dụng, bao gồm việc xây dựng giao diện người dùng, xử lý sự kiện, quản lý dữ liệu

và tương tác với các dịch vụ của hệ thống

Chúng tôi hy vọng rằng báo cáo này sẽ cung cấp cho bạn một cái nhìn tổng quan

về quá trình phát triển ứng dụng Android và sẽ giúp bạn bắt đầu xây dựng các ứng dụng di động của riêng mình Cùng với đó, chúng tôi cũng mong muốn rằng bài báo cáo này sẽ giúp bạn hiểu rõ hơn về các khía cạnh lập trình ứng dụng di động và cách chúng có thể được áp dụng trong các dự án thực tế

Chân thành cảm ơn bạn đọc đã quan tâm và theo dõi báo cáo này Chúng tôi xin ghi nhận mọi đóng góp và phản hồi từ bạn để hoàn thiện và cải thiện kiến thức lập trình Android của chúng tôi

Trang 5

CHƯƠNG 1: GIỚI THIỆU VỀ LẬP TRÌNH DI ĐỘNG

1

1.1 Giới thiệu ứng dụng Android

- Mục tiêu:

Sử dụng ngôn ngữ lập trình Java, cơ sở dữ liệu Filebase để xây dụng app android thực hiện chuyển tiền cho các tài khoản khác của ứng dụng

- Lĩnh vực:

- Chuyên ngành: Công nghệ phần mềm

- Chuyên môn: Lập trình Android, sử dụng ngôn ngữ Java, Filebase

- Yếu tố công nghệ

- Phần mềm IDE: Android Studio

- Chương trình có thể chạy trên các thiết bị android SDK >= 30

1.2 Tổng quan về Android

- Giới thiệu về lập trình di động:

Lập trình di động đã trải qua một sự phát triển đáng kể trong thập kỷ qua Với sự gia tăng vượt bậc của các thiết bị di động như điện thoại thông minh và máy tính bảng, việc phát triển ứng dụng di động đã trở thành một phần quan trọng trong cuộc sống hàng ngày của chúng ta Các hệ điều hành di động như Android và iOS đã mở ra cơ hội lớn cho những người phát triển muốn tạo ra các ứng dụng động và thú vị

Lập trình di động thường được thực hiện bằng cách sử dụng ngôn ngữ lập trình Java hoặc Kotlin (cho Android) và Swift hoặc Objective-C (cho iOS) Trong bài báo cáo này, chúng ta sẽ tập trung vào việc sử dụng Java để phát triển ứng dụng di động trên nền tảng Android

- Kiến thức Java cho lập trình di động:

Java là một trong những ngôn ngữ lập trình phổ biến nhất và được sử dụng rộng rãi trong phát triển ứng dụng di động Trước khi bắt đầu phát triển ứng dụng Android, cần nắm vững một số kiến thức cơ bản về Java, bao gồm:

 Cú pháp cơ bản của Java

 Biến và kiểu dữ liệu

 Cấu trúc điều kiện và vòng lặp

 Hàm và phương thức

Trang 6

 Xử lý lỗi và ngoại lệ.

Chúng ta sẽ bắt đầu với việc xây dựng một ứng dụng di động Android đơn giản Bài báo cáo sẽ hướng dẫn cách tạo một dự án mới, thiết kế giao diện người dùng, xử lý sự kiện và hiển thị thông tin trên màn hình điện thoại di động

- Sử dụng công cụ phát triển:

Android Studio là một môi trường phát triển tích hợp (IDE) mạnh mẽ dành cho việc phát triển ứng dụng Android Trong phần này, chúng ta sẽ học cách cài đặt và sử dụng Android Studio để tạo, xây dựng và kiểm tra ứng dụng Android của mình

- Kết luận:

Bài báo cáo này nhấn mạnh sự phát triển đáng kể của lập trình di động và giới thiệu các kiến thức cơ bản về Java cùng với việc sử dụng công cụ Android Studio để xây dựng ứng dụng di động đơn giản Chúng ta sẽ bắt đầu từ những kiến thức căn bản và từng bước tiến xa hơn trong việc phát triển ứng dụng di động Hy vọng rằng bài báo cáo này sẽ giúp bạn bắt đầu hành trình lập trình di động của mình một cách thành công

1.3 Xây dựng ứng dụng và Activity

- Các thành phần của ứng dụng:

Activity: Là thành phần giao diện người dùng cơ bản trong Android Mỗi màn hình trong ứng dụng thường tương ứng với một Activity Activity quản lý các thành phần giao diện như TextView, Button, EditText, và xử lý sự kiện của người dùng Fragment: Là một phần của Activity, được sử dụng để chia nhỏ giao diện và quản

lý các thành phần giao diện riêng lẻ Fragments cho phép tạo giao diện linh hoạt hơn và tương tác dễ dàng với Activity

Intent: Là cách để các thành phần khác nhau của ứng dụng Android tương tác với nhau Intent có thể được sử dụng để mở một Activity, gửi dữ liệu giữa các thành phần, hoặc thực hiện các hành động khác

Service: Là một thành phần chạy dưới nền để thực hiện các công việc dài hạn hoặc liên quan đến quản lý tài nguyên (ví dụ: âm nhạc phát trong nền)

Broadcast Receiver: Là một thành phần cho phép ứng dụng lắng nghe và phản ứng khi nhận được các sự kiện từ hệ thống hoặc ứng dụng khác (ví dụ: cuộc gọi đến, tin nhắn)

Trang 7

Content Provider: Là một thành phần cho phép ứng dụng chia sẻ dữ liệu với ứng dụng khác hoặc cung cấp dữ liệu từ cơ sở dữ liệu nội bộ của ứng dụng

Layouts: Định nghĩa cách các thành phần giao diện được sắp xếp và hiển thị Android sử dụng XML để định nghĩa các layout

Resources: Là tài nguyên như hình ảnh, văn bản, giá trị chuỗi, màu sắc, và các tài nguyên khác được sử dụng trong ứng dụng

Manifest File: Là tệp AndroidManifest.xml, định nghĩa cấu hình và thông tin về ứng dụng, bao gồm quyền truy cập, danh sách Activity, Service, Broadcast Receiver,

và Content Provider

Gradle Files: Là các tệp build.gradle, sử dụng để cấu hình và quản lý các phụ thuộc và cài đặt dự án

Permissions (Quyền): Được sử dụng để xác định quyền truy cập hệ thống hoặc thiết bị (ví dụ: quyền truy cập Internet, quyền truy cập camera)

SharedPreferences: Là cách để lưu trữ dữ liệu ứng dụng trong cơ sở dữ liệu dự án SQLite Database: Là cơ sở dữ liệu nhẹ được sử dụng để lưu trữ dữ liệu có cấu trúc

ViewModel và LiveData: Được sử dụng để quản lý dữ liệu và trạng thái của ứng dụng, giúp duy trì trạng thái dữ liệu sau khi Activity bị hủy

RecyclerView: Là một thành phần để hiển thị danh sách dữ liệu theo danh sách cuộn, thường được sử dụng trong các danh bạ, tin nhắn, và ứng dụng có danh sách dữ liệu

Navigation Component: Là một thư viện hỗ trợ quản lý điều hướng và luồng làm việc giữa các màn hình và Fragment của ứng dụng

- Tạo và sử dụng dữ liệu:

SharedPreferences: SharedPreferences là cách đơn giản để lưu trữ và quản lý dữ liệu dưới dạng cặp giá trị key-value Bạn có thể lưu trữ các cài đặt ứng dụng, thông tin người dùng như tên, tuổi, hoặc các trạng thái ứng dụng như đã đăng nhập hay chưa SQLite Database: Đây là cơ sở dữ liệu nhẹ sử dụng SQL để lưu trữ dữ liệu có cấu trúc Bạn có thể lưu trữ danh sách người dùng, thông tin sản phẩm, hoặc bất kỳ dữ liệu nào cần quản lý theo cách có tổ chức

RESTful API và HTTP Requests: Khi bạn cần tải dữ liệu từ máy chủ, bạn có thể

sử dụng HTTP requests để gửi yêu cầu và nhận phản hồi từ máy chủ Các thư viện như Retrofit và Volley giúp bạn quản lý các yêu cầu này

Trang 8

JSON và XML Parsing: Khi dữ liệu từ máy chủ thường được trả về dưới dạng JSON hoặc XML, bạn cần phân tích (parse) dữ liệu này để sử dụng trong ứng dụng của bạn

ViewModel và LiveData: Architecture Components cung cấp ViewModel và LiveData để quản lý dữ liệu và trạng thái ứng dụng ViewModel giữ dữ liệu và không

bị ảnh hưởng bởi vòng đời của Activity hoặc Fragment

- Vòng đời ứng dụng:

onCreate(): Phương thức này được gọi khi ứng dụng được khởi chạy lần đầu tiên

Ở đây, bạn có thể khởi tạo các tài nguyên cần thiết và thiết lập giao diện người dùng onStart(): Khi ứng dụng đã được tạo và trở thành một phần của giao diện người dùng, onStart() được gọi Ở đây, bạn có thể khởi động các tác vụ hoặc kết nối đến dữ liệu

onResume(): Khi ứng dụng đã trở thành một ứng dụng hoạt động chính, onResume() được gọi Ở đây, bạn có thể bắt đầu chạy các hoạt động chính của ứng dụng và tương tác với người dùng

onPause(): Khi ứng dụng bị tạm dừng hoặc chuyển sang nền, onPause() được gọi Ở đây, bạn cần dừng hoạt động hoặc lưu trạng thái của ứng dụng

onStop(): Khi ứng dụng không còn hiển thị trên màn hình, onStop() được gọi Ở đây, bạn có thể giải phóng tài nguyên hoặc dừng các hoạt động cần thiết

onDestroy(): Khi ứng dụng bị đóng hoặc kết thúc, onDestroy() được gọi Ở đây, bạn có thể giải phóng tất cả các tài nguyên và lưu trạng thái cuối cùng

onRestart(): Khi ứng dụng từ trạng thái "stopped" quay lại, onRestart() được gọi trước khi onStart() được gọi

onSaveInstanceState(): Phương thức này được gọi trước khi ứng dụng bị tạm dừng hoặc đóng để lưu trạng thái của ứng dụng Dữ liệu được lưu trữ ở đây có thể được khôi phục sau khi ứng dụng được khởi động lại

onRestoreInstanceState(): Phương thức này được gọi khi ứng dụng được khởi động lại sau khi bị tạm dừng hoặc đóng Dùng để khôi phục trạng thái từ onSaveInstanceState()

onBackPressed(): Phương thức này được gọi khi người dùng bấm nút "Back" trên thiết bị Bạn có thể xử lý sự kiện này để điều hướng hoặc thoát ứng dụng

onActivityResult(): Được gọi khi một hoạt động con trả về kết quả, ví dụ như khi chọn ảnh từ thư viện Được sử dụng để xử lý kết quả trả về

1.4 Xây dựng giao diện người dùng

Trang 9

Controls và Views: Trong Android, bạn sử dụng các "controls" (được gọi là

"views") để tạo ra các phần giao diện như nút, hộp văn bản, danh sách, hình ảnh, và nhiều loại khác Mỗi view có một nhiệm vụ và thuộc tính riêng, và bạn có thể tùy chỉnh chúng để hiển thị thông tin hoặc tương tác với người dùng

Layouts: Layouts là cách bạn sắp xếp và định vị các views trong giao diện Android cung cấp nhiều loại layouts như LinearLayout, RelativeLayout, ConstraintLayout, FrameLayout, và GridLayout để bạn có thể xây dựng giao diện phức tạp Mỗi loại layout có cách hoạt động và ưu điểm riêng

XML Layouts: Giao diện ứng dụng Android thường được xây dựng bằng cách sử dụng mã XML XML là một ngôn ngữ đánh dấu đơn giản cho phép bạn mô tả cấu trúc

và thuộc tính của giao diện Bạn có thể tạo và chỉnh sửa các layout XML bằng trình soạn thảo hoặc bằng cách viết mã thủ công

Activity và Fragment: Activity là một thành phần quan trọng trong Android, thường đại diện cho một màn hình trong ứng dụng Fragment là một phần của Activity

và cho phép bạn chia nhỏ giao diện thành các phần nhỏ hơn để quản lý dễ dàng hơn Resource Files: Android cho phép bạn quản lý tài nguyên như hình ảnh, chuỗi, màu sắc, và kiểu chữ trong các tệp tài nguyên Điều này giúp bạn tách biệt dữ liệu và giao diện để quản lý chúng dễ dàng và đảm bảo tính nhất quán

Thao tác với Views: Để tương tác với views, bạn sử dụng mã Java hoặc Kotlin trong Activity hoặc Fragment tương ứng Bạn có thể thiết lập thuộc tính, lắng nghe sự kiện, và thay đổi nội dung của các views trong mã nguồn

Tùy chỉnh Giao Diện: Android cho phép bạn tùy chỉnh giao diện bằng cách sử dụng hình ảnh, kiểu chữ, và màu sắc tùy chỉnh Bạn cũng có thể tạo giao diện động bằng cách áp dụng các hiệu ứng và chuyển động

Chuẩn bị dữ liệu: Trước khi hiển thị dữ liệu lên giao diện, bạn cần chuẩn bị dữ liệu từ nguồn như cơ sở dữ liệu, API, hoặc các nguồn khác

Kiểm tra và Hiển thị: Khi bạn đã xây dựng giao diện và chuẩn bị dữ liệu, hãy kiểm tra kỹ lưỡng để đảm bảo nó hoạt động đúng và hiển thị đẹp trên các thiết bị khác nhau

Thực hành và Tìm hiểu thêm: Để nắm vững cách xây dựng giao diện, bạn cần thực hành nhiều và tìm hiểu thêm về các chủ đề liên quan như Material Design, Animation, Custom Views, và nhiều công cụ hỗ trợ khác

Trang 10

Công cụ Hỗ trợ: Sử dụng Android Studio, một môi trường phát triển tích hợp mạnh mẽ, để xây dựng và kiểm tra ứng dụng của bạn Android Studio cung cấp trình biên dịch, trình giả lập, và các công cụ hỗ trợ khác cho phát triển ứng dụng Android 1.5 Intent và Services

- Intent trong android:

Khởi chạy Activity: Intent được sử dụng để mở một Activity mới Bạn có thể chuyển dữ liệu từ một Activity này sang Activity khác bằng Intent

Broadcast Intent: Intent có thể được sử dụng để phát sóng sự kiện và chia sẻ thông tin giữa các thành phần khác nhau của ứng dụng hoặc giữa các ứng dụng khác nhau

Service Intent: Intent cũng được sử dụng để khởi động và tương tác với Service Service là một thành phần chạy ngầm và có thể thực hiện công việc dài hạn

- BroadcastReceiver trong Android:

BroadcastReceiver: BroadcastReceiver là một thành phần của ứng dụng Android cho phép bạn lắng nghe và phản hồi lại các sự kiện truyền đi qua Intent Bạn có thể đăng ký BroadcastReceiver trong AndroidManifest.xml hoặc trong mã nguồn

- Service trong Android:

Service: Service là một thành phần chạy ngầm trong Android cho phép bạn thực hiện các tác vụ dài hạn mà không cần giao diện người dùng Service có thể được khởi động và quản lý bằng Intent

Bound Service: Bound Service cho phép các thành phần khác (ví dụ: Activity) kết nối và tương tác với nó thông qua giao diện liên kết (Binder) Điều này cho phép truyền dữ liệu và thực hiện các phương thức trong Service

1.6 Lưu trữ dữ liệu

- Lưu trữ và quản lý file:

Lưu trữ tệp tin trên bộ nhớ hệ thống: Để lưu trữ tệp tin trên bộ nhớ hệ thống, bạn

có thể sử dụng các hàm của lớp File

Lưu trữ tệp tin trên bộ nhớ mở rộng (SD card): Để lưu trữ tệp tin trên bộ nhớ mở rộng, bạn cần kiểm tra xem bộ nhớ mở rộng có sẵn không và sau đó lưu trữ tệp tin Đọc và ghi tệp tin: Sử dụng FileInputStream và FileOutputStream để đọc và ghi

dữ liệu vào tệp tin

- Làm việc với cơ sở dữ liệu SQLite:

Tạo cơ sở dữ liệu SQLite: Để tạo một cơ sở dữ liệu SQLite, bạn cần kế thừa từ lớp SQLiteOpenHelper và triển khai các phương thức onCreate và onUpgrade

Trang 11

Thêm, sửa, xóa dữ liệu: Sử dụng các phương thức insert, update, và delete của lớp SQLiteDatabase để thêm, sửa đổi và xóa dữ liệu trong cơ sở dữ liệu

Truy vấn dữ liệu: Sử dụng các phương thức query hoặc rawQuery để truy vấn dữ liệu từ cơ sở dữ liệu Điều này thường trả về một Cursor để xử lý dữ liệu

Xử lý dữ liệu với Cursor: Cursor là một con trỏ đến dữ liệu trong cơ sở dữ liệu Bạn có thể duyệt qua các bản ghi và lấy dữ liệu từ Cursor

Sử dụng Content Provider (Tùy chọn): Content Provider là một cách để chia sẻ

dữ liệu giữa các ứng dụng Bạn có thể sử dụng Content Provider để quản lý cơ sở dữ liệu và chia sẻ dữ liệu với ứng dụng khác

1.7 Tìm hiểu về một số Android API

- Kết nối Internet và Tương tác với Tài Nguyên Trực Tuyến:

Sử dụng Quyền Internet: Để thực hiện kết nối internet, bạn cần thêm quyền INTERNET vào tệp manifest của ứng dụng Android Thực hiện kết nối Internet: Sử dụng các thư viện như HttpURLConnection hoặc thư viện của bên thứ ba như OkHttp

để thực hiện các yêu cầu HTTP GET hoặc POST để tương tác với tài nguyên trực tuyến

Sử dụng Retrofit (Tùy chọn): Retrofit là một thư viện phổ biến để làm việc với REST API Nó cung cấp cách tiện lợi để xác định và thực hiện các yêu cầu HTTP

Xử lý Kết quả JSON: Khi tải dữ liệu từ internet, thường dữ liệu trả về dưới dạng JSON Bạn cần phân tích dữ liệu JSON và xử lý nó trong ứng dụng

- Sử dụng Google Maps API:

Bật Google Maps API: Để sử dụng Google Maps trong ứng dụng Android, bạn cần bật Google Maps API trong Console Quản lý Google Cloud

Thêm Khóa API: Sau khi có khóa API, bạn cần thêm khóa này vào tệp manifest của ứng dụng

Sử dụng MapView hoặc MapFragment: Để hiển thị bản đồ trong ứng dụng, bạn

có thể sử dụng MapView hoặc MapFragment

Tương tác với Bản Đồ: Bạn có thể tùy chỉnh bản đồ, thêm đánh dấu, hiển thị hướng dẫn, và thực hiện các tương tác khác với bản đồ Google

Làm việc với Đánh Dấu (Markers): Đánh dấu cho phép bạn hiển thị các điểm quan trọng trên bản đồ, như địa điểm cụ thể hoặc đối tượng

Sử dụng Directions API (Tùy chọn): Directions API cho phép bạn tính toán và hiển thị hướng dẫn lái xe, đi bộ hoặc đi công cộng trên bản đồ

Ngày đăng: 03/01/2025, 14:25

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w