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

Xây dựng ứng dụng quản lý chi tiêu trên nền tảng Android.

86 30 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

Tiêu đề Xây Dựng Ứng Dụng Quản Lý Chi Tiêu Trên Nền Tảng Android
Tác giả Trần Tiến Anh
Người hướng dẫn ThS. Hồ Ngọc Tú
Trường học Đại học Đà Nẵng
Chuyên ngành Khoa Tin Học
Thể loại Khóa Luận Tốt Nghiệp
Năm xuất bản 2015
Thành phố Đà Nẵng
Định dạng
Số trang 86
Dung lượng 2,34 MB

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

Nội dung

Lý do chọn đề tài Việc ứng dụng công nghệ thông tin vào cuộc sống đã trở thành hoạt động không thể thiếu của con người trong thời kỳ công nghiệp hóa, hiện đại hóa.. Khi nhà phát triển

Trang 1

Giảng viên hướng dẫn : ThS HỒ NGỌC TÚ

Đà Nẵng, tháng 05 năm 2015

Trang 2

LỜI CẢM ƠN

Lời đầu tiên em xin bày tỏ lòng biết ơn sâu sắc đến tất cả các thầy cô trong khoa Tin học Trường Đại học Sư phạm – Đại học Đà Nẵng đã tận tình chỉ bảo và truyền đạt cho em rất nhiều kiến thức về chuyên môn cũng như kỹ năng trong nghề nghiệp trong bốn năm vừa qua

Đồng thời em xin gửi lời cảm ơn đến Trung tâm giải pháp công nghệ thông

tin và truyền thông viettel ICT đã tạo điều kiện cho em được tham gia thực tập tại

đơn vị cũng như truyền đạt những kiến thức quý báu trong công việc cũng như cuộc sống Xin cảm ơn đến các anh (chị) trong trung tâm đặc biệt em gửi tới lời cảm ơn đến anh Phạm Đức Chương đã tận tình chỉ dạy và giúp đỡ em trong quá trình làm đồ án thực tập và Khóa Luận tốt nghiệp

Em xin chân thành cảm ơn đến thầy giáo hướng dẫn ThS Hồ Ngọc Tú đã tận

tâm hướng dẫn và định hướng cho em ngay từ những bước đầu bắt tay vào thực hiện khóa luận này cho đến khi hoàn thành Với sự chỉ bảo đó em đã gặt hái cho mình được những kiến thức quý báu để hoàn thành tốt khóa luận tốt nghiệp cũng như đúc kết lại những kiến thức được học tập trong thời gian qua

Mặc dù đã cố gắng hết sức và sự giúp đỡ của thầy giáo hướng dẫn để thực hiện hoàn chỉnh khóa luận tốt nghiệp này Song do buổi đầu mới làm quen với công tác nghiên cứu khoa học, tiếp cận với thực tế của đề tài, cũng như hạn chế về kiến thức và kinh nghiệm nên không thể tránh khỏi những thiếu sót nhất định mà bản thân chưa thấy được Em rất mong được góp ý của quý Thầy, Cô giáo và các bạn để bản báo cáo khóa luận hoàn chỉnh hơn

Em xin trân trọng cảm ơn !

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan

1 Những nội dung trong báo cáo này là do tôi thực hiện dưới sự hướng dẫn

trực tiếp của các anh (chị) trong Trung tâm giải pháp CNTT và Truyền

thông Viettel ICT và giáo viên hướng dẫn ThS Hồ ngọc Tú

2 Mọi tham khảo dùng trong báo cáo này đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố

3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin chịu hoàn toàn trách nhiệm

Sinh Viên

Trần Tiến Anh

Trang 4

MỤC LỤC

LỜI MỞ ĐẦU 1

1 Lý do chọn đề tài 1

2 Mục tiêu nghiên cứu 1

3 Đối tượng nghiên cứu 1

4 Phạm vi nghiên cứu 1

5 Phương pháp nghiên cứu 1

6 Nội dung của đề tài 2

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 3

1.1 Giới thiệu về hệ điều hành ANDROID 3

1.1.1 Android là gì? 3

1.1.2 Lịch sự phát triển của Android 3

1.1.3 Delving với máy ảo Dalvik 6

1.1.4 Kiến trúc của Android 6

1.1.5 Chu kỳ sống của hệ điều hành Android 9

1.1.6 Các thành phần cơ bản của Android 11

1.1.7 Các thành phần giao diện trong Android 15

1.1.8 Cơ sở dữ liệu trong Android (SQLite) 16

1.1.9 JSON trong Android 16

1.1.10. Tìm hiểu Web Service 18

1.2 Tìm hiểu về PHP Framework CodeIgniter 19

1.2.1 Khái niệm 19

Trang 5

1.2.2 Cài đặt Framework codeIgniter 19

1.2.3 Mô hình Model –View- Controller 20

1.2.4 Cấu trúc Codelgniter 21

1.2.5 Dòng chảy dữ liệu trong Codeigniter 22

1.2.6 Codeigniter URL 23

1.2.7 Model 23

1.2.8 Controller 24

1.2.9 View 25

CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ 26

2.1 Phân tích và thiết kế hệ thống 26

2.1.1 Đặc tả bài toán 26

2.1.2 Đặc tả yêu cầu của bài toán 26

2.1.3 Đặc tả chức năng 28

2.1.4 Phân tích hệ thống 34

2.1.5 Biểu đồ lớp 45

2.1.7 Biểu đồ tuần tự 50

2.1.8 Sơ đồ thuật toán 53

2.2 Phân tích và thiết kế cơ sở dữ liệu 56

2.2.1 Cấu trúc bảng 56

2.2.2 Sơ đồ thực thể quan hệ 58

2.3 Phân tích và Thiết kế Web Service 59

2.3.1 Mô hình hoạt động Web Service 59

Trang 6

2.3.2 Các API 59

CHƯƠNG 3 KẾT QUẢ VÀ ĐÁNH GIÁ 61

3.1 Kết quả 61

3.1.1 Màn hình đăng nhập 61

3.1.2 Màn hình chính 61

3.1.3 Màn hình chức năng 62

3.1.4 Màn hình thêm giao dich 63

3.1.5 Màn hình cập nhật giao dich 63

3.1.6 Màn hình sổ chi tiêu 64

3.1.7 Màn hình sổ nợ 64

3.1.8. Màn hình chọn biểu đồ 65

3.1.9 Màn hình Dự tính chi tiêu 65

3.1.10 Màn hình sổ tiết kiệm 66

3.1.11 Màn hình đăng ký 66

3.1.12 Màn hình đồng bộ dữ liệu 67

3.1.13 Màn hình cài đặt 67

3.2 Hướng dẫn cài đặt ứng dụng trên điện thoại 68

3.3 Kiểm thử ứng dụng 70

3.4 Đánh giá 71

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 72

TÀI LIỆU THAM KHẢO 73

PHỤ LỤC 74

Trang 7

DANH MỤC HÌNH

Hình 1.1 Kiến trúc phân tầng của Android 6

Hình 1.2 Sơ đồ Activity stack 10

Hình 1.3 Chu kỳ sống của Activity 10

Hình 1.4 Sơ đồ hoạt động của một Activity 12

Hình 1.5 Sơ đồ hoạt động intent 12

Hình 1.6 Sơ đồ hoạt động service 13

Hình 1.7 Cấu trúc file Manifest 14

Hình 1.8 Sơ đồ ViewGroup 15

Hình 1.9 Sơ đồ tương tác giữa User và Webservice 18

Hình 1.10 Thư mục codeignter 19

Hình 1.12 Cấu trúc CodeIgniter 21

Hình 2.1 Sơ đồ use case tổng quát 36

Hình 2.2 Biểu đồ use case giao dịch 37

Hình 2.3 Biểu đồ user case chi tiêu 38

Hình 2.4 Biểu đồ use case sổ nợ 38

Hình 2.5 Biểu đồ use case biểu đồ 39

Hình 2.6 Biểu đồ use case đồng bộ dữ liệu 40

Hình 2.7 Biểu đồ use case khôi phục dữ liệu 40

Hình 2.8 Biểu đồ use case xem dữ liệu online 41

Hình 2.9 Biểu đồ use case cài đặt 41

Hình 2.10 Mối quan hệ giữa các đối tượng 49

Hình 2.11 Sơ đồ lớp 49

Hình 2.12 Biểu đồ tuần tự đăng nhập 50

Hình 2.13 Biều đồ tuần tự thêm giao dịch 50

Hình 2.14 Biểu đồ tuần tự quản lý chi tiêu 51

Trang 8

Hình 2.15 Biểu đồ tuần tự quản lý sổ tiết kiệm 51

Hình 2.16 Biểu đồ tuần tự đồng bộ dữ liệu 52

Hình 2.17 Biểu đồ tuần tự khôi phục dữ liệu 52

Hình 2.18 Sơ đồ thuật toán đăng nhập 53

Hình 2.19 Sơ đồ thuật toán đăng ký 53

Hình 2.20 Sơ đồ thuật toán thêm giao dịch 54

Hình 2.21 Sơ đồ thuật toán đồng bộ dữ liệu 54

Hình 2.22 Sơ đồ thuật toán khôi phục dữ liệu 55

Hình 2.23 Sơ đồ thực thể quan hệ 58

Hình 3.4 Hình ảnh màn hình thêm giao dịch 63

Hình 3.5 Hình ảnh màn hình cập nhật giao dịch 63

Hình 3.6 Hình ảnh màn hình sổ chi tiêu 64

Hình 3.7 Hình ảnh màn hình sổ nợ 64

Hình 3.8 Hình ảnh màn hình chọn biểu đồ 65

Hình 3.9 Hình ảnh màn hình danh sách dự tính 65

Hình 3.10 Hình ảnh màn hình sổ tiết kiệm 66

Hình 3.11 Hình ảnh màn hình đăng ký 66

Hình 3.12 Hình ảnh đồng bộ dữ liệu 67

Hình 3.13 Hình ảnh màn hình cài 67

Hình 3.14 Hình ảnh cài đặt ứng dụng 68

Hình 3.15 Hình ảnh chọn mục cài đặt 69

Hình 3.16 Hình ảnh cài đặt hoàn tất 69

Trang 9

DANH MỤC BẢNG

Bảng 2.1 Bảng use case tổng quan 35

Bảng 2.2 Bảng use case giao dịch 36

Bảng 2.3 Bảng use case sổ chi tiêu 37

Bảng 2.4 Bảng use case sổ nợ 38

Bảng 2.5 Bảng use case biểu đồ 39

Bảng 2.6 Bảng use case đồng bộ 40

Bảng 2.8 Lớp tài khoản 45

Bảng 2.9 Lớp đăng ký 45

Bảng 2.10 Lớp đăng nhập 45

Bảng 2.11 Lớp thu chi 46

Bảng 2.12 Lớp vay nợ 46

Bảng 2.13 Lớp sổ chi tiêu 47

Bảng 2.14 Lớp dự tính chi tiêu 47

Bảng 2.15 Lớp tiết kiệm 48

Bảng 2.16 Lớp đồng bộ dữ liệu 48

Bảng 2.17 Lớp khôi phục dữ liệu 48

Bảng 2.18 Lớp tạo cơ sở dữ liệu 48

Bảng 2.19 Bảng cơ sở dữ liệu thu chi 56

Bảng 2.20 Bảng cơ sở dữ liệu vay nợ 56

Bảng 2.21 Bảng cơ sở dữ liệu login 57

Bảng 2.22 Bảng cơ sở dữ liệu dự tính 57

Bảng 2.23 Bảng cơ sở dữ liệu tiết kiệm 57

Trang 10

DANH MỤC BẢNG VIẾT TẮT

1 PHP Hypertext Preprocessor

2 CSDL Cơ sở dữ liệu

3 SQL Structured Query Language

4 MVC Model – View -Controllers

5 CSV Comma Separated Values

6 XML Extensible Markup Language

Trang 11

LỜI MỞ ĐẦU

1 Lý do chọn đề tài

Việc ứng dụng công nghệ thông tin vào cuộc sống đã trở thành hoạt động không thể thiếu của con người trong thời kỳ công nghiệp hóa, hiện đại hóa Hiện nay, việc quản lý chi tiêu của cá nhân có thể được thực hiện một cách đơn giản, hiệu quả hơn bằng việc sử dụng những phần mềm tin học trên máy tính Giờ đây việc lưu trữ, quản lý bằng điện thoại giúp con người có thể tiết kiệm thời gian, giải phóng con người khỏi các công việc ghi chép và tính toán bằng giấy bút và giảm sự nhầm lẫn khi tính toán

Xuất phát từ thực tế việc chi tiêu hàng ngày của bản thân cũng như gia đình và bạn bè, Tôi đã phân tích những vấn đề thường xảy ra trong quản lý chi tiêu của cá nhân, thấy được sự cần thiết của ứng dụng quản lý chi tiêu cho những cá nhân trong gia đình

Bên cạnh đó, điện thoại thông minh đã trở nên phổ biến và được nhiều người sử

dụng nhất Vì thế tôi sử dụng công nghệ lập trinh di động để thực hiện đề tài “Xây

dựng ứng dụng quản lý chi tiêu trên nền tảng Android”

2 Mục tiêu nghiên cứu

Xây dựng ứng dụng quản lý chi tiêu để quản lý các khoản thu chi, sao cho người dùng có thể chi tiêu một cách hợp lý

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

 Khách thể nghiên cứu

- Thiết bị dòng điện thoại hệ điều hành Android

 Đối tượng nghiên cứu: Ứng dụng quản lý thu chi

4 Phạm vi nghiên cứu

Môi trường lập trình di động trên nền tảng Android để phát triển ứng dụng thu chi cho cá nhân

5 Phương pháp nghiên cứu

- Tìm các tài liệu trên website và các giáo trình liên quan đến đề tài

Trang 12

- Tổng hợp các ý kiến của khách hàng để xây dụng các chức năng

- Sử dụng các mô hình của hệ thống về các trình tự của chức năng cũng như hệ thống

- Phân tích và thiết kế hệ thống thông tin

- Hệ quản trị cơ sơ dữ liệu nâng cao

6 Nội dung của đề tài

Bố cục của đề tài gồm 3 chương

Chương 1 Cơ sở lý thuyết

Chương 2 Phân tích và thiết kế

Chương 3 Kết quả và đánh giá

Trang 13

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT

1.1 Giới thiệu về hệ điều hành ANDROID

Dù mới bước chân vào làng điện thoại di động nhưng Android đã lần lượt hạ ngục những đối thủ tầm cỡ và trở thành hệ điều hành tăng trưởng nhất trên thế giới Mỗi phiên bản Android luôn thu hút mối quan tâm lớn của giới công nghệ và các nhà sản xuất

1.1.1 Android là gì?

Android là một hệ điều hành dành cho thiệt bị di động như Smartphone, tablet hay netbook, Android do Google phát triển giữa trên nền tảng Linux kernel và các phần mềm mã nguồn mở

Android là một hệ điều hành mở mã nguồn chính duy nhất với 12 triệu dòng mã bao gồm 3 triệu dòng mã XML, 2.8 triệu dòng mã C, 2.1 triệu dòng mà Java và 7.5 triệu dòng mã C++

1.1.2 Lịch sự phát triển của Android

Tháng 10/2003, Android được thành lập tại Palo Alto, California, Hoa kỳ do Andy Runbin, Rich Miner đồng sáng lập và cùng một số thành viên khác chủ trì, với múc đích phát triển hay tao ra cá thiệt bị di động thông minh để phục vụ cho con người

Bước đầu, hệ điều hành Android chi đơn thuần là phần mềm trên điện thoại di động Ban đầu, Android là hệ điều hành cho các thiết bị cầm tay dựa trên lõi Linux

do công ty Android inc (Califonia, mỹ) thiết kế Công ty này sau đó được google mua lại vào năm 2005 và bắt đầu xây dựng Android Platform

Và sau tiếp, vào cuối năm 2007, thuộc về liên minh thiết bị cầm tay mã nguồn

mở (Open Handset Alliance) Mục tiêu của liên minh này là nhanh chóng đổi mới để đáp ứng tốt hơn do nhu cầu của người tiêu dùng và kết quả đầu tiên của nó chính là nền tảng Android Android được thiết kế để phục vụ nhu cầu của các nhà sản xuất, các nhà khai thác và các lập trình viên cho các thiết bị cầm tay

Trang 14

Các phiên bản của hệ điều hành Android từ 2003 đến hiện nay

- Một chức năng mới trong Froyo được nhóm người dùng lưu động yêu thích

là USB Tethering và Wi-Fi Hotspot, biến chiếc smartphone Android thành thiết bị phát sóng Wi-Fi từ kết nối 3G Tính năng này được sử dụng rất phổ biến đến ngày nay

 Android 2.3: Gingerbread

- Ra mắt: Ngày 6-12-2010

- Đến cuối năm 2012, Gingerbread vẫn đang “phủ sóng” trên rất nhiều thiết bị dùng Android, chiếm đến hơn phân nửa (54%) Google hợp tác Samsung trình làng dòng smartphone đầu tiên sử dụng Gingerbread mang tên Nexus

S, hỗ trợ công nghệ giao tiếp tầm gần NFC

Trang 15

- Gingerbread đưa vào hệ thống một công cụ quản lý tải tập tin, cho phép theo dõi và truy xuất đến các tập tin đã tải về máy Hệ thống này hỗ trợ nhiều camera cho các thiết bị có camera mặt sau và trước, quản lý nguồn pin hiệu quả hơn, tiết kiệm thời lượng pin

 Android 4.0: Ice Cream Sanwich

- Ra mắt: Ngày 19-10-2011

- Android 4.0 đưa chức năng truy xuất nhanh các ứng dụng thường dùng vào phần bên dưới giao diện chủ, tùy biến widget, dễ sắp xếp và duyệt danh sách ứng dụng hơn Các ứng dụng đã có thể truy xuất nhanh từ màn hình khóa thiết bị (Lock screen), hiện các hãng sản xuất thiết bị chỉ mới cho phép Camera có thể chọn nhanh từ Lock screen

 Android 4.1: Jelly Bean

- Ra mắt: Ngày 9-7-2012

- Máy tính bảng Nexus 7, sản phẩm hợp tác giữa Google và Asus, là thiết bị dùng Jelly Bean đầu tiên ra mắt Android 4.1 nâng tầm hoạt động cho hệ điều hành của Google, trở thành hệ điều hành cho thiết bị di động hàng đầu hiện nay, đe dọa cả “ông lớn” Windows

 Android 4.2,4.3: ra mắt cùng tên phiên bản vào năm 2013

 Android 4.4: Kitkat

- Ra mắt: Ngày 07-2014

Trang 16

 Android 5.0: Lollipop

 Hiện nay phiên bản mới nhất của Android là 5.4

1.1.3 Delving với máy ảo Dalvik

Dalvik là máy ảo giúp các ứng dụng java chạy được trên các thiết bị di động Android Nó chạy cả ứng dụng đã được chuyển đổi thành một file thực thi Dalvik (dex) Định dạng phù hợp cho các hệ thống mà thường bị hạn chế về bộ nhớ và tốc

độ xử lý Dalvik đã được thiết kế và viết bởi Dan Bornstein người đã đặt tên cho nó sau khi đến tham một ngôi làng đánh cá nhỏ có tên là Dalvik ở đảo Eyjafjrour, nơi

mà một số tổ tiên của ông sinh sống

Từ góc nhìn của một nhà phát triển, Dalvik trông giống như máy ảo java nhưng thực tế thì hoàn toàn khác Khi nhà phát triển viết một ứng dụng dành cho Android, anh ta thực hiện cả đoạn mã trong môi trường Java sau đó nó sẽ được biên dịch sang các bytecode của java

1.1.4 Kiến trúc của Android

Mô hình tổng quát các thành phần của hệ điều hành Android

Hình 1.1 Kiến trúc phân tầng của Android 1.1.4.1 Tầng ứng dụng

Đây là lớp ứng dụng giao tiếp với người dùng, bao gồm các ứng dụng cơ bản được cài đặt đi liền với hệ điều hành Android như gọi điện (phone), Quản lý danh bạ (contacts), duyệt web browser, nhắn tin SMS, lịch làm việc (calender) đọc Email, google map và còn nhiều ứng dụng khác nữa Tất cả các ứng dụng trên đều chạy trên

hệ điều hành Android và bằng ngôn ngữ java

Trang 17

1.1.4.2 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 trang thái

Nhà phát triển có thể truy cập vào các API cùng một khuôn khổ được sử dụng bởi các ứng dụng lõi Các kiến trúc ứng dụng được thiết kế để đơn giản hóa việc sử dụng lại các thành phần, bất kỳ ứng dụng có thể xuất bản khả năng của mình và ứng dụng nào khác sau đó có thể sử dụng những khả năng để bảo mật được thực thi với khuôn khổ Cơ bản tất cả các ứng dụng là một bộ các dịch vụ và các hệ thông bao gồm:

- View Manager: Một tập hợp rất nhiều các view có khả năng kế thừa lẫn nhau

dùng để thiết kế phần giao diện ứng dụng như : gridview, tableview, linearlayout, button…

- Activity Manager: Quản lý các chu kỳ sống của một ứng dụng cũng như cung

cấp công cụ điều khiển các Activity

- Telephony Manager: cung cấp công cụ để thực hiện việc liên lạc như gọi điện

thoại

- Location Manager: Cho phép xác định vị trí của điên thoại dựa vào hệ thống

định vị toàn cầu GPS và Google Maps

- Window Manager: Quản lý công việc xây dựng và hiển thị các giao diện người

dụng cũng như tổ chức quản lý các giao diện giữa các ứng dụng

- Notication Manager: Quản lý việc hiển thị các thông báo (như có tin nhắn mới,

có Email mới)

- Resource Manager: Quản lý tài nguyên tĩnh của các ứng dụng bao gồm các file

hình ảnh, âm thanh, layout, string những thành phần không viết bởi ngôn ngữ lập trình)

Trang 18

- Content Provide: cho phép các ứng dụng có thể truy xuất dữ liệu từ các ứng

dụng khác hoặc là chia sẽ dữ liệu giữa các ứng dụng đó

- Thư viện Media: Có nhiều code để hỗ trợ việc phát và ghi các loại định dạng

âm thanh hình ảnh, video thông dụng

- Thư viện web: Đây là thành phần để xem nội dung trên web, được sử dụng để

xây dụng phần mềm duyệt web cũng như để nhúng các ứng dụng vào Để hỗ trợ nhiều cộng nghệ mạnh như HTML5, JavaScript, CSS, DOM, AJAX…

- Surface Manage: quản lý hiện thị 2D và 3D

Mặc dù cũng được viết từ ngôn ngữ Java nhưng một ứng dụng Java của hệ điều hành android không được chạy bằng JRE (Java Runtime Environment)

1.1.4.5 Linux kernel

Hệ điều hành Android được phát triển dựa trên hạt nhân linux, cụ thể là hạt nhân linux phiên bản 2.6, điều đó được thể hiện ở lớp dưới cùng này Tất cả mọi hoạt động của điện thoại muốn thi hành đươc thì đều được thực hiện ở mức cấp thấp ở lớp này bao gồm quản lý bộ nhớ (memory management), giao tiếp với phần cứng (driver model), thực hiện bảo mật (security), quản lý tiền trình (process)

Trang 19

Các thành phần của nhân Linux

- Display Driver: Điều khiển việc hiện thị lên màn hình cũng như thu nhận những

điều khiển của người dùng lên màn hình (di chuyển, cảm ứng)

- Camera Drive: Điều khiển hoạt động của camera, nhận luồng dữ liệu từ camera

trả về

- Bluetooth Driver: Điều khiển thiết bị phát và thu sóng Bluetooth

- USB driver: Quản lý hoạt động của các cổng giao tiếp USB

- Keypad driver: Điều khiển bàn phím

- Wifi Driver: chịu trách nhiệm về việc thu phát sóng wifi

- Audio Driver: Điều khiển các bộ thu phát âm thanh, giải mã các tính hiệu dưới

dạng audio thành tín hiệu số và ngược lại

1.1.5 Chu kỳ sống của hệ điều hành Android

Một tiến trình linux gói gọn một ứng dụng Android đã được tạo ra cho ứng dụng khi code cần được chạy và sẽ còn chạy cho đến khi

1.1.5.2 Activity Stack

Bên trong hệ thống các Activity được quản lý như một Activity stack Khi một Activity mới được start nó được đặt ở đỉnh của stack và trở thành một Activity đang chạy

Sơ đồ của Activity stack thể hiện như sau

Trang 20

Hình 1.2 Sơ đồ Activity stack

Sơ đồ trạng thái của Activity như sau

Hình 1.3 Chu kỳ sống của Activity

1.1.5.4 Chu kỳ sống của ứng dụng

Trong một ứng dụng Android có chứa nhiều thành phần và mỗi thành phần đều

có một chu trình sống riêng Và ứng dụng chỉ được gọi là kết thúc khi tất cả các thành phần trong ứng dụng đã kết thúc

Trang 21

1.1.6 Các thành phần cơ bản của Android

1.1.6.1 Activity và Intent

 Activity

Một Activity thể hiện một giao diện đồ họa người dùng Ví dụ một Activity có thể biểu diễn một danh sách các menu item để người dùng có thể chọn

và có thể hiện thị ảnh cùng với tiêu đề Một ứng dụng gửi tin nhắn văn bản có thể

có một hoạt động là hiển thị một danh sách các liên hệ để gửi tin nhắn tới, hoạt động thứ hai là viết tin nhắn tới liên hệ được chọn, các hoạt động khác nữa là xem lại tin nhắn cũ hay thay đổi cài đặt Mặc dù chúng làm việc cùng nhau để tạo thành một giao diện người dùng, mỗi Activity độc lập với những cái khác Mỗi Activity là một lớp con của lớp cơ sở Activity

Một ứng dụng có thể gồm chỉ một Activity hay nhiều Activity Thông thường, một trong số các Activity được đánh dấu như là Activity đầu tiên phải được trình diễn tới người dùng khi ứng dụng được khởi động Chuyển từ một Activity sang Activity khác được hoàn thành bằng cách cho activity hiện thời khởi động Activity kế tiếp

Một cây phân cấp view được đặt trong một cửa sổ Activity bằng phương thức Activity.setconview().content(), view là một đối tượng view ở gốc của cây phân cấp

Class cơ sở Activity và vòng đời của một hoạt động như sau

- OnCreate(): Được gọi khi tạo ra lần đầu tiên

- OnCtart(): Được gọi khi hoạt động trở lên hữu hình

- onResume(): Được gọi khi hoạt động bắt đầu tương tác với người sử dụng

- onPause(): Được gọi để dừng các hoạt động hiện tại và nối lại các hoạt

động trước đó

- onStop(): Được gọi khi hoạt động không còn hiển thị với người dùng

- onDestroy(): Được gọi trước khi hoạt động bị phá hủy bởi hệ thống

Trang 22

- onRestart(): Được gọi khi hệ thống đã được dừng lại và khởi động lại một

lần nữa

Hình 1.4 Sơ đồ hoạt động của một Activity

 Intent

Là một cấu trúc dữ liệu mô tả cách thức, đối tượng thực hiện của một Activity

Là cầu nối giữa các Activity, ứng dụng Android thường bao gồm nhiều Activity, mỗi Activity hoạt động độc lập với nhau và thực hiện những công việc khác nhau Intent chính là người đưa thư, giúp các Activity có thể triệu gọi cũng như truyền các

dữ liệu cần thiết tới một Activity khác Điều này cũng giống như việc di chuyển qua lại giữa các Forms trong lập trình Windown Form

Hình 1.5 Sơ đồ hoạt động intent

Trang 23

1.1.6.2 Service trong Android

Một service không có giao diện trực quan, nó chạy trên nền tảng trong một khoảng thời gian không xác định Ví dụ một service có thể chơi nhạc nền hay nạp dữ liệu trên mạng hay xử lý một vấn đề gì đó Mỗi service được mở rộng từ lớp cơ sở service

Giống như các Activity và các thành phần khác, service chạy trong thread chính của tiến trình ứng dụng Vì thế chúng không thể ngăn chặn những thành phần khác hay giao diện người dùng, chúng thường tạo ra các thread khác cho các nhiệm vụ hao tốn thời gian

Hình 1.6 Sơ đồ hoạt động service 1.1.6.3 Broadcast Reveicer

Broadcast Reveicer là một thành phần không làm gì ngoài việc nhận và đáp lại các thông báo Broadcast Nhiều Broadcast khởi đầu trong mã hệ thống

Ví dụ:

- Như thay đổi múi giờ

- Thông báo pin yếu

- Thay đổi ngôn ngữ Một ứng dụng có thể có một số Broadcast Receiver để đáp lại bất cứ thông báo nào mà nó cho là quan trọng tất các Receiver mở rộng từ lớp cơ sở Broadcast Receiver

Trang 24

Cấu trúc của một file Manifest

Hình 1.7 Cấu trúc file Manifest

Trang 25

Bao gồm các thuộc tính chỉ quyền truy xuất và sử dụng tài nguyên của ứng dụng khi cần sử dụng một tài nguyên nào trong file MainiFest của ứng dụng cần khai báo như sau

- SDK version

Thẻ xác định phiên bản SDK của ứng dụng và được khai báo như sau

1.1.7 Các thành phần giao diện trong Android

1.1.7.1 View

Trong một ứng dụng Android, giao diện người dùng được xây dụng từ các đối tượng View và ViewGroup Có nhiều kiểu View và ViewGroup mỗi kiểu là một hậu duệ của class view và tất cả các kiểu đó được gọi là Widget

Trong Android platform, các screen được bố trí theo một kiểu cấu trúc phân cấp như hình dưới đây

Hình 1.8 Sơ đồ ViewGroup 1.1.7.2 ViewGroup

ViewGroup thực chất là một view hay đúng hơn Viewgroup là các widget Layout được dùng để bố trí các đối tượng khác trong một screen Có một số loại viewGroup như sau:

- LinearLayout

LinearLayout được dùng để bố trí các thành phần giao diện theo chiều ngang hoặc chiều dọc nhưng trên một line duy nhất mà không có xuống dòng

LinearLayout làm cho các thành phần trong nó không bị phụ thuộc vào kích thước của màn hình Các thành phần trong LinearLayout được dàn theo nhưng tỷ lệ cân xứng dựa vào các tàng buộc giữa các thành phần

- FrameLayout

Trang 26

FrameLayout được dùng để bố trị các đối tượng theo kiểu giống như là các Layer trong Photoshop Những đối tượng nào thuộc Layer bên dưới thì

bị che khuất bởi các đối tượng thuộc layer nằm trên

- RetailiveLayout

Layout này cho phép bố trí các widget theo một trục đối xứng ngang hoặc dọc Để đặt được đúng vị trí thì các widget cần được xác định một mối ràng buộc nào đó với các widget, các ràng buộc này là các ràng buộc bên

trái, phải, trên, dưới

- TableLayout

Layout này được sử dụng khi cần thiết kế một table chứa dữ liệu hoặc

cần bố trí các widger theo các row và colums

1.1.8 Cơ sở dữ liệu trong Android (SQLite)

SQLite là một bộ thư viện dùng trong lập trình để hiển thực một SQL Database Engine có khả năng tự tổ chức quản lý dữ liệu, không cần server, không cần cấu hình mà vẫn hỗ trợ đầy đủ các tính năng quản lý giao tác SQLite hiện đang là SQL Database Engine mã nguồn mở theo mô hình dữ liệu quan hệ đang được sử dụng nhiều nhất trên thế giới do tính cơ động cao, dễ sử dụng, gọn nhẹ, hiệu quả và tin cậy SQLite có 1 số đặc điểm nổi bật là tính ứng dụng và một số công cụ làm việc với CSDL nhúng

1.1.9 JSON trong Android

1.1.9.1 Khái niệm Json

Json (JavaScript Object Nptation) là định dạng trao đổi dữ liệu độc lập giống như XML, json cho phép lưu trữ dữ liệu dưới dạng chữ và số

Một Json Object bao gồm các cặp key/value và được bắt đầu bởi dấu “{“và kết thúc bởi dấu “}”, và một mảng các giá trị được nằm trong dấu “[] “và cách nhau bởi

dấu phẩy

1.1.9.2 Cấu trúc Json

- Cấu trúc dữ liệu của json dựa trên cặp key/value

Trang 27

+ Key là một chuỗi + Values có thể là một chuỗi, số, hoặc boolean hay object

- Json được xây dựng dựa trên 2 cấu trúc

+ Là tập hợp của các cặp tên và giá trị key-value Trong những ngôn ngữ khác nhau, đây được nhận thấy như là 1 đối tượng (object), bảng ghi (record), cấu trúc (struct), từ điển (dictionary), bảng băm (hash table), danh sách khoá (keyed list), hay mảng liên hợp

+ Là 1 tập hợp các giá trị đã được sắp xếp Trong hầu hết các ngôn ngữ, this được nhận thấy như là 1 mảng, vector, tập hợp hay là 1 dãy sequence

},

{ "name" : "Do manh", "email" : "code4lifevn@gmail.com"

} ]

Trang 28

1.1.10 Tìm hiểu Web Service

1.1.10.1 Khái niệm Web Service

Web Serivce là một công nghệ cho phép client truy xuất để thực hiện mọi tác vụ như một Web Application Về bản chất, Web service dựa trên XML và HTTP, trong

đó XML làm nhiệm vụ mã hóa và giải mã dữ liệu và dùng SOAP, WSDL, RESTful

để truyền tải Web Service không phụ thuộc vào platform nào, do đó bạn có thể dùng Web Service để truyền tải dữ liệu giữa các ứng dụng hay giữa các platform

Sơ đồ tương tác giữa User và Web Service:

Hình 1.9 Sơ đồ tương tác giữa User và Webservice

1.1.10.2 Đặc điểm của Web Service

- Có thể truy cập đến bởi bất kỳ một ứng dụng nào

- Không phụ thuộc vào nền tảng ngôn ngữ lập trình

- Hỗ trợ thao tác giữa các thành phần không đồng nhất

- Dễ bảo trì và chi phí phát triển rẻ

1.1.10.3 Định nghĩa các giao thức

- Giao thức SOAP: SOAP là giao thức sử dụng XML để định nghĩa dữ liệu dạng

thuần văn bản (plain text) thông qua HTTP SOAP là cách mà Web Service sử dụng để truyền tải dữ liệu Vì dựa trên XML nên SOAP là một giao thức không phụ thuộc platform cũng như bất kì ngôn ngữ lập trình nào

- Giao thức WSDL: WSDL là ngôn ngữ được sử dụng để mô tả đầy đủ về Web

Service theo chuẩn XML như các phương thức, kiểu dữ liệu, dựa trên XML schema

Trang 29

- Giao thức RESTful: RESTful là một kiến trúc đơn giản thường chạy trên

HTTP REST của dịch vụ web hệ thống sản phẩm mã trạng thái phản ứng trong định dạng XML hoặc JSON

1.2 Tìm hiểu về PHP Framework CodeIgniter

1.2.1 Khái niệm

CodeIgniter là một nền tảng ứng dụng web (web application framework) nguồn

mở được dùng để xây dựng các ứng dụng web động bằng ngôn ngữ PHP Nó cho phép các nhà phát triển xây dựng một ứng dụng web nhanh hơn, so với việc viết mã hỗn tạp, bằng cách cung cấp 1 bộ thư viện đầy đủ cho các tác vụ thông thường, cũng như cung cấp một mô hình tương tác đơn giản và dễ hiểu cho việc kết nối tới những

bộ thư viện đó Phiên bản chính thức đầu tiên của CodeIgniter được công bố vào 28 tháng 2 năm 2006.[1] Phiên bản mới nhất cho tới bây giờ là 3.0 được công bố chính thúc vào ngày 07 tháng 08 năm 2014

1.2.2 Cài đặt Framework codeIgniter

Sau đây tôi xin trình bày các bước cài đặt codeignter để xây dụng web service Trước khi cài đặt bạn hãy vào trang web http://ellislab.com/codeigniter tải codeignter

- Bước 1: Mở thư mục gốc trong web server (wamp là www còn xamp là htdocs)

- Bước 2: Tìm đến tập tin CodeIgnter được tài về

- Bước 3: Giải nén nó vào thư mục gốc trong web service, chúng ta thấy một

folder có tên “ CodeIgnter-(tên phiên bản)”

Hình 1.10 Thư mục codeignter

Các bạn có thể đổi tên thư mục tùy ý

Trang 30

 Bước 4: Bây giờ, chúng ta mở file Config.php trong thư mục CodeIgnter và

database.php trong file application->config định dang theo cơ sở dữ liệu

1.2.3 Mô hình Model –View- Controller

Model –View – Control (MVC) là một kiến trúc phần mềm, hiện đang được xem là một mẫu thiết kế trong công nghệ phần mềm Mô hình MVC tách biệt phần

xử lý dữ liệu ra khỏi phần giao diện, cho phép phát triển, kiểm tra và bảo trì các thành phần một cách độc lập

Mô hình thể hiện sự trao đổi dữ liệu giữa Model – View – Controller

Hình 1.11 Mô hình Model-Controller-View

Trong đó:

- Model thể hiện cấu trúc dữ liệu Các lớp thuộc thành phần Model thường thực

hiện các tác vụ như truy vấn, thêm, sửa, xóa dữ liệu, khi dữ liệu trong model thay đổi, thành phần View sẽ được cập nhật lại

- View là thành phần thể hiện dữ liệu trong Model thành các giao diện tương tác với người sử dụng Một Model có thể có nhiều View tùy thuộc vào các mục đích khác nhau

- Controller đóng vai trò trung gian giữa Model và View Thông tin người dùng từ view được gửi cho controller xử lý, sau đó controller tương tác với model để lấy

dữ liệu được yêu cầu, sau cùng Controller trả dữ liệu này về cho view

Trang 31

Mô hình MVC thường được sử dụng trong các ứng dụng web, vì thành phần

view (mã HTML/XHTML) được sinh ra từ các ngôn ngữ lập trình web Thành phần controller sẽ nhận các dữ liệu GET/POST, xử lý những dữ liệu này, sau đó chuyển sang model xử lý

1.2.4 Cấu trúc Codelgniter

Hình 1.12 Cấu trúc CodeIgniter

Tập tin index.php được xem như là controller đầu vào, tiếp nhận các yêu cầu từ

phía client và chuyển các yêu cầu này cho hệ thống xử lý

Thư mục System bao gồm phần lõi của CodeIgniter Chúng bao gồm các thư viện xây dựng sẵn, các tập tin ngôn ngữ, ghi chú về hệ thống Trong số đó, các thư mục sau khá quan trọng

- Thư mục application dành cho lập trình viên, các tập tin được lập trình cho

ứng dụng sẽ lưu trong thư mục này

- Thư mục cache bộ đếm của hệ thống chứa các trang đã được xử lý trước

đó

Trang 32

- Thư mục helpers Chứa các hàm hỗ trợ cho lập trình khi viết ứng dụng

- Thư mục liberaries chứa các thư viện sẵn của codeigniter

Đối với lập trình viên, các tập tin của ứng dụng sẽ được lưu trong thư mục system/application

Trong đó:

- Thư mục config chứa các tập tin cấu hình hệ thống

- Thư mục controller chứa các lớp Controller

- Thư mục errors chứa các tập tin lỗi

- Thư mục helpers chứa các tập tin để mở rộng mã nguồn CodeIgniter

- Thư mục hooks chứa các tập tin để mở rộng mã nguồn CodeIgniter

- Thư mục libraries chứa các thư viện cho người dùng định nghĩa

- Thư mục Models chứa các lớp Model

- Thư mục View chứa các lơp View 1.2.5 Dòng chảy dữ liệu trong Codeigniter

 Tập tin index.php đóng vai trò làm Controller đầu vào, thiết lập các tài

nguyên cần thiết cho hệ thống

 Routing: Điều khiển quá trình điều hướng giúp xác định yêu cầu và hướng

xử lý đối với chúng

 Caching: Nếu dữ liệu được yêu cầu đã được lưu trong bộ đếm, CodeIgniter

sẽ trả dữ liệu trong bộ đếm về phía client Quá trình xử lý kết thúc

 Security: Dữ liệu trước khi được chuyển đến các Controller sẽ được lọc để

phòng chống XXS hoặc SQL Injection

 Application controller: Controller sử lý dữ liệu nhận được bằng cách gọi

đến các Model, Libraies, Helpers, Plugins… có liên quan

 View: Dữ liệu được chuyển qua view để hiện thị cho người dùng Nếu chức

năng cache được bật, dữ liệu sẽ được lưu trong cache cho những lần yêu cầu tiếp theo

Trang 33

1.2.6 Codeigniter URL

Theo mặc định, cấu trúc URL của CodeIgniter được thiết kế dựa vào các segment thay cho kiểu query truyền thống Cách tiếp cận này giúp URL trở nên ngắn gọn, có ý nghĩa, dễ ghi nhớ và thân thiện với các bộ máy tìm kiếm

Một URL trong CodeIgniter có dạng

Domain.com/index.php/controller/method/param/

1.2.7 Model

Model là những lớp được xây dựng nhằm thực hiện việc trao đổi thông tin với

cơ sở dữ liệu Một lớp Model có thể thực hiện các tác vụ truy vấn, thêm, xóa, cập nhật dữ liệu

Trong CodeIgniter, việc khai báo các lớp model dành cho một thực thể nào đó là không cần thiết, vì trong controller của thực thể đó, ta có thể gọi đến thư viện database để thực hiện các thao tác với cơ sở dữ liệu Tuy nhiên, để tiện cho việc quản lý , xây dựng lớp model cho một thực thể được khuyến khích

Một lớp molder chuẩn trong CodeIgniter có cấu trúc như sau

Class Exaple extends CI_Model{

Trang 34

 Tên lớp được viết hoa chữ đầu tiên, phần còn lại viết chữ thường

 Tập tin được đặt như tên lớp, và được đặt trong thư mục application/models

 Bắt buộc kế thừa từ lớp CI_Model Trong hàm tạo của lớp con gọi đến lớp cha

Để sử dụng lớp Model trong Controller

$this->load->Model(‘ten class model’)

Khi sử dụng một phương thức từ lớp Model bên Controller

$this->classModel->method()

1.2.8 Controller

Controller là những lớp đóng vai trò trung gian giữa View và Model Controller nhận các yêu cầu từ phía người dùng, kiểm tra chúng trước khi chuyển qua cho model Sau khi model xử lý rồi truyền qua cho controller chuyển sang view để hiển thị dữ liệu cho người dùng

Một lớp Controller chuẩn trong Codeigniter có mẫu sau

Class Example extends CI_Controller{

Public function method(){

// ham sử dụng truyền sang view

$this->class model->method(“”);

}

}

Khai báo một lớp Controller chúng ta phải theo quy tắc sau

 Tên lớp ký tự đầu tiên phải viết hoa và các chữ tiếp theo viết thường

Trang 35

 Tập tin được đặt trùng tên với tên lớp và bỏ trong thư mục

Nội dung của tập tin view ngoài mã HTML còn chứa mã PHP, view không bao giờ gọi trực tiếp mà phải qua controller

Trang 36

CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ

Trong chương này tôi tập trung làm rỏ được các chức năng chính của ứng dụng, đặc tả chức năng của hệ thống , biểu đồ các lớp và biểu đồ tuần tự hoạt động của các chức năng ngoài ra xây dựng và thiết kế cơ sở dữ liệu và xây dựng Web Service

2.1 Phân tích và thiết kế hệ thống

2.1.1 Đặc tả bài toán

Xây dựng ứng dụng có thể quản lý được tất cả các khoản chi tiêu hàng ngày, dữ liệu logic, rành mạch và có tính bảo mật về cơ sở dữ liệu, tính toán đúng

2.1.2 Đặc tả yêu cầu của bài toán

2.1.2.1 Các yêu cầu của ứng dụng

- Người sử dụng có thể lưu lại các thông tin các khoản chi tiêu hàng ngày bao gồm các thông tin như (số tiền, tên khoản thu chi, thời gian, ghi chú và thể loại)

- Thống kê các khoản chi tiêu hợp lý theo thời gian như (theo ngày, theo tháng, theo tuần, theo quý hoặc theo thể loại chi tiêu)

- Hiển thị thông tin chi tiết về các thể loại thu và chi

- Chức năng thống kê hiện thị dưới dạng biểu đồ Có 3 loại biểu đồ đường, biểu đồ cột và biểu đồ hình tròn

- Chức năng cảnh báo chi tiêu cho người dùng biết khi người dùng chi ra số tiền lớn hơn số tiền thu vào

- Giao thân thiện với người sử dụng

- Chức năng điều chỉnh hoặc xóa khi người dùng muốn sửa các thông tin của các khoản chi tiêu

- Chức năng lưu giữ những thông tin người mình cho vay, người mình nợ, thông tin bao gồm (số tiền, người vay hoặc nợ, ngày vay, ngày trả)

- Chức năng đồng bộ dữ liệu lên server và khôi phục dữ liệu dữ liệu từ server

về bộ nhớ của ứng dụng

- Thống kê số tiền thu và tiền chi trong từng tháng của năm

Trang 37

- Xem dữ liệu trực tuyến và điều chỉnh dữ liệu lên server

- Chức năng quản lý tài khoản như (đăng ký, khôi phục mật khẩu)

2.1.2.2 Ràng buộc logic khi thực hiện bài toán

- Chỉ có người sử dụng khi đăng nhập bằng tài khoản và mật khẩu, mới quản

lý được những khoản chi tiêu của mình

- Khi người sử dụng chi ra hay thu vào thì số tiền cũng phải giảm xuống hoặc tăng lên tương ứng trong tài khoản

- Mọi khoản chi được giới hạn bằng số tiền dư trong tài khoản

- Mọi giao dịch trong hệ thống lên đến đơn vi hàng triệu tỉ (tức là 15 số)

- Ngày giao dịch mặc định là ngày hệ thống hoặc người sử dụng có thể thay đổi lại

- Có cơ chế phát hiện và cập nhật lại các giá trị bị thay đổi khi đồng bộ dữ liệu

2.1.2.3 Công thức tính toán

- Tính khoản thu nhập ta sẽ dựa vào công thức sau

Tiền thu vào = tiền thu + tiền nợ + tiền trả vay

- Tính khoản chi ra ta sẽ dựa vào công thức sau

Tiền chi ra = tiền chi + tiền vay + tiền trả nợ

- Tính tổng tiền còn lại

Tổng tiền còn lại = tiền thu vào- tiền chi ra

- Tính tiền tiết kiệm

Tiền tiết kiệm = tổng tiền còn lại

Trong đó:

+ Tiền thu là số tiền của các khoản thu vào

+ Tiền nợ là số tiền mà người sử dụng nợ của người khác

+ Tiền trả vay là số tiền mà người dùng khác trả số tiền vay cho người dùng

Trang 38

+ Tiền thu vào là số tiền mà người dùng thu vào từ các trường hợp như (tiền thu, tiền nợ, tiền trả vay)

+ Tiền chi là số tiền của các khoản chi ra

+ Tiền vay là số tiền mà người dùng cho bạn bè của người dùng vay tiền + Tiền trả nợ là số tiền mà người dùng trả tiền nợ cho người khác

2.1.3 Đặc tả chức năng

2.1.3.1 Chức năng đăng ký tài khoản

 Mô tả chức năng: Người dùng sử dụng chức năng này để tạo tài khoản để đăng nhập vào ứng dụng

 Mô tả hoạt động

- Ứng dụng hiện thị from đăng ký bao gồm tài khoản, mật khẩu và email

- Khi người sử dụng nhập thiếu các trường yêu cầu thì chương trình sẽ hiện thị thông báo yêu cầu người dùng nhập lại

- Khi khai báo thông tin thành công thì chương trình gửi dữ liệu lên server để kiểm tra dữ liệu đã tồn tại chưa Nếu dữ liệu đã tồn tại thì chương trình sẽ hiện thị thông báo tài khoản đã tồn tại hoặc ngược lại thì dữ liệu sẽ lưu vào

cơ sở dữ liệu và gửi lên server lưu dữ liệu vào server, đồng thời hiện thị from đăng nhập

Điều kiện: Trước khi đăng ký tài khoản chúng ta phải bật wifi hoặc 3G

Trang 39

- Khi đăng nhập thành công thì thông tin tài khoản và mật khẩu lưu vào hệ thống

2.1.3.3 Chức năng xem chi tiết các khoản thu chi

 Mô tả chức năng: Chức năng này xem thông tin tổng quan về số tiền thu và tiền chi trong tháng, ngoài ra còn hiển thị các thông tin các khoản chi tiêu theo ngày tháng

- Đưa ra số liệu phần trăm theo các khoản thu, khoản chi, khoản vay hoặc khoản nợ

2.1.3.4 Chức năng thêm giao dịch

 Mô tả chức năng: Chức năng này thêm các khoản giao dịch được người dùng nhập dữ liệu vào, với các thông số về các khoản thu, chi, vay, nợ theo ngày tháng

 Mô tả hoạt động chức năng

Khi người dùng chọn vào chức năng thêm giao dịch thì hiển thị lên 4 giao dịch để người sử dụng chọn các loại hình giao dịch

Trang 40

ngày tháng thì lấy mặc định theo ngày hệ thống và người dùng có thể thay đổi ngày tháng theo ý muốn

- Sau khi người dùng nhập các giá trị xong thì những thông tin về các khoản thu chi được lưu vào cơ sở dữ liệu

- Chức năng cũng có sửa hay xóa những khoản chi tiêu

 Giao dịch cho vay và nợ

- Người sử dụng cần nhập các thông tin bao gồm (tên người vay hoặc nơ,

số tiền, ngày vay, ngày trả, ghi chú) trước khi lưu vào cơ sở dữ liệu

2.1.3.5 Chức năng quản lý sổ nợ

 Mô tả chức năng: Chức năng quản lý sổ nợ cung cấp những thông tin về các khoản vay và khoản nợ mà người sử dụng vay hoặc nợ Cho chúng ta xem thông tin chi tiết và xử lý như trả nợ, sửa hoặc cập nhật lại các khoản vay

 Mô tả hoạt động chức năng

- Khi người dùng chọn chức năng sổ nợ thì hiển thị danh sách thông tin người vay và nợ

- Có 2 chế độ để quản lý sổ nợ 1 là giao dịch vay hoặc nợ đã kết thúc và 2 là đang trong chế độ trả vay hoặc nợ

- Khi click vào chi tiết từng người hiện thị 3 chức năng xem, sửa, xóa

- Khi chọn chức năng xem thì chương trình đưa ta đến thông tin về ngày vay, ngày trả và hiển thị chức năng cập nhật lại các thông tin khoản vay và có thể trả nợ, hoặc người khác trả vay

Ngày đăng: 09/05/2022, 00:55

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
2. Sayed Y. Hashimi, Satya Komatineni, Dave MacLean. Pro android 2. Apress. Springer-Verlag New York. 2010 Sách, tạp chí
Tiêu đề: Pro android 2
3. Reto Meier. Professional Android™ Application Development. Wiley Publishing, Inc. 2009 Sách, tạp chí
Tiêu đề: Professional Android™ Application Development
4. Kari Pulli, Tomi Aarnio, Ville Miettinen, Kimmo Roimela, Jani Vaarala. Mobile 3D Graphics with OpenGL ES and M3G. Morgan Kaufmann Publishers. Elsevier Inc. 2008 Sách, tạp chí
Tiêu đề: Mobile 3D Graphics with OpenGL ES and M3G
5. Aaftab Munshi, Jon Leech. OpenGL ES Common Profile Specification. The Khronos Group Inc. 2009 Sách, tạp chí
Tiêu đề: OpenGL ES Common Profile Specification
6. Frank Ableson. Nhập môn phát triền ứng dụng Android. 2011 Sách, tạp chí
Tiêu đề: Nhập môn phát triền ứng dụng Android
7. Android OpenGL ES Issues. OmniG Software Inc. 2008  Link Website Sách, tạp chí
Tiêu đề: Android OpenGL ES Issues
1. Châu Duy Thiện, Vũ Thùy Linh, Lê Quốc Tiến. Tiểu luận Tìm hiểu và viết ứng dụng trên nền hệ điều hành mobile Android. 2010 Khác

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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