SlideShare a Scribd company logo
1 of 34
Download to read offline
1
LỜI CẢM ƠN
Để hoàn thành tốt đồ án này, lời đầu tiên em xin cám ơn Ban Giám Hiệu
trường Đại Học Công Nghệ Thông Tin & Truyền Thông đã tạo điều kiện cho em
được học tập tại trường, và đặc biệt em xin gửi lời cám ơn chân thành nhất đến
Thầy ThS. Nguyễn Quang Hiệp giảng viên Trường Công Nghệ Thông Tin &
truyền thông đã trang bị cho em những kiến thức chuyên môn, quan tâm và tận tình
hướng dẫn, giúp đỡ em hoàn thành một cách tốt nhất trong đợt làm đồ án này.
Bên cạnh đó để hoàn thành tốt đồ án này em cũng đã nhận được nhiều sự
giúp đỡ những lời động viên quý báu của bạn bè, các anh chị em xin chân thành
cảm ơn.
Tuy nhiên do thời gian hạn hẹp, cũng như lượng kiến thức còn hạn chế nên
bài báo cáo của em sẽ khó tránh khỏi những thiếu sót. Em rất mong nhận được sự
thông cảm và sự chỉ bảo tận tình của quý Thầy Cô và các bạn để thực hiện tốt đồ án
này. Một lần nữa em xin chân thành cảm ơn.
2
LỜI CAM ĐOAN
Đề tài của em được thực hiện trên cơ sở những kiến thức đã tích lũy được
trong quá trình học tập, sự giúp đỡ tận tình của thầy cô, bạn bè cùng với một số tài
liệu quý báu mà em sưu tầm được cũng như kho tàng tri thức Internet vô tận...
Em xin cam đoan không sao chép nguyên bản bất cứ một đồ án tốt nghiệp
hay đề tài nghiên cứu khoa học nào của bất kỳ ai. Em cũng xin cam đoan rằng mọi
sự giúp đỡ cho việc thực hiện đồ án này đã được cảm ơn và các thông tin trích dẫn
trong đồ án đã được chỉ rõ nguồn gốc. Nếu sai, em xin hoàn toàn chịu trách nhiệm
trước mọi kỷ luật của trường đề ra.
Thái Nguyên, ngày 05 tháng 05 năm 2017
Sinh Viên
Trần Thị Hồng Tươi
3
MỤC LỤC
LỜI CẢM ƠN .........................................................................................................1
LỜI CAM ĐOAN....................................................................................................2
MỤC LỤC ..............................................................................................................3
DANH MỤC HÌNH ẢNH.......................................................................................5
LỜI MỞ ĐẦU.........................................................................................................7
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT ........................................................................8
1.1 Tổng quan về hệ điều hành và lập trình ứng dụng trên android. ....................8
1.1.1 Tổng quan về hệ điều hành android. .......................................................8
1.1.2. Hệ điều hành (HĐH) Android và lập trình ứng dụng. ...........................10
1.1.3. Các thành phần giao diện và control cơ bản trong android....................19
1.1.4 Intent ....................................................................................................24
1.1.5 Định dạng Json.....................................................................................26
1.1.6 AsyncTask............................................................................................29
1.2 Web Service.................................................................................................30
1.2.1 Khái niệm.............................................................................................30
1.2.2 Đặc điểm của Web service....................................................................30
CHƯƠNG 2: KHẢO SÁT VÀ PHÂN TÍCH THIẾT KẾ HỆ THỐNG..................33
2.1 Khảo sát hiện trạng .....................................................................................33
2.1.1 Giới thiệu về đơn vị khảo sát ................................................................33
2.1.2 Khảo sát thực tế bài toán quản lý tài chính tại công ty ..........................34
2.1.3 Nhận xét, đánh giá thực trạng ...............................................................34
2.1.4 Xác định các yêu cầu, chức năng của ứng dụng ....................................35
2.2 Phân tích thiết kế hệ thống..........................................................................37
2.2.1 Danh sách tác nhân...............................................................................37
2.2.2 Các chức năng ......................................................................................37
2.2.3 Biểu đồ UC...........................................................................................38
2.2.4 Chức năng F01 .....................................................................................38
2.2.5 Chức năng F02 .....................................................................................40
2.2.6 Chức năng F03 .....................................................................................42
2.2.7 Chức năng F04 .....................................................................................43
4
2.2.8 Chức năng F05 .....................................................................................46
2.3 Phân tích, thiết kế CSDL.............................................................................49
CHƯƠNG 3: XÂY DỰNG VÀ CÀI ĐẶT CHƯƠNG TRÌNH..............................50
3.1 Công nghệ và công cụ.................................................................................50
3.2 Một số hình ảnh giao diện ứng dụng ...........................................................50
KẾT LUẬN...........................................................................................................61
TÀI LIỆU THAM KHẢO .....................................................................................62
5
DANH MỤC HÌNH ẢNH
Hình 1.1: Các phiên bản của Android......................................................................8
Hình 1.2. Cấu trúc của hệ điều hành Android ........................................................10
Hình 1.3. Mô hình Activity Atack .........................................................................16
Hình 1.4 Vòng đời của một Activity......................................................................17
Hình 1.5. Ví dụ về RelativeLayout ........................................................................20
Hình 1.6. Ví dụ về TableLayout ............................................................................21
Hình 1.7: Ví dụ về Button......................................................................................21
Hình 1.8. Ví dụ về RadioButton ............................................................................23
Hình 1.9. Mô hình truyền dữ liệu với Intent...........................................................24
Hình 1.10. Các thuộc tính của một đối tượng Intent...............................................25
Hình 1.11. Các Action được định nghĩa sẵn...........................................................25
Hình 1.12. Cấu trúc một đối tượng Object trong Json............................................27
Hình 1.13. Cấu trúc một đối tượng Array trong Json .............................................27
Hình 1.14. Cấu trúc của Web service.....................................................................31
Hình 2.1: Biểu đồ UC............................................................................................38
Hình 2.2: UC Quản lý nhân viên............................................................................38
Hình 2.3: Biểu đồ hoạt động – Quản lý nhân viên..................................................39
Hình 2.4: Biểu đồ cộng tác – Thêm nhân viên .......................................................39
Hình 2.5: Biểu đồ cộng tác – Sửa thông tin............................................................40
Hình 2.6: UC Quản lý thu chi................................................................................40
Hình 2.7: Biểu đồ hoạt động - Quản lý thu chi.......................................................41
Hình 2.8: Biểu đồ cộng tác – Thêm thu chi............................................................41
Hình 2.9: Biểu đồ cộng tác – Sửa thu chi...............................................................42
Hình 2.10: UC Tìm kiếm.......................................................................................42
Hình 2.11: Biểu đồ hoạt động – Tìm kiếm.............................................................43
Hình 2.12: Biểu đồ cộng tác – Tìm kiếm ...............................................................43
Hình 2.13: UC Quản lý chức vụ ............................................................................44
Hình 2.14: Biểu đồ hoạt động – Quản lý chức vụ...................................................44
Hình 2.15: Biểu đồ cộng tác – Thêm chức vụ ........................................................45
Hình 2.16: Biểu đồ cộng tác – Sửa chức vụ ...........................................................45
6
Hình 2.17: Biểu đồ cộng tác – Xóa chức vụ...........................................................46
Hình 2.18: UC Quản lý khoản mục........................................................................46
Hình 2.19: Biểu đồ hoạt động – Quản lý khoản mục..............................................47
Hình 2.20: Biểu đồ cộng tác – Thêm khoản mục ...................................................48
Hình 2.21: Biểu đồ cộng tác – Sửa khoản mục ......................................................48
Hình 2.22: Biểu đồ cộng tác – Xóa khoản mục......................................................49
Hình 2.23: Cơ sở dữ liệu........................................................................................49
Hình 3.1: Giao diện đăng nhập ..............................................................................50
Hình 3.2: Theo dõi tài chính ..................................................................................51
Hình 3.3: Quản lý tài khoản...................................................................................52
Hình 3.4 Thêm tài khoản .......................................................................................53
Hình 3.5: Quản lý chức vụ.....................................................................................54
Hình 3.6: Quản lý tài chính....................................................................................55
Hình 3.7: Giao diện trả lương................................................................................56
Hình 3.8: Quản lý khoản mục................................................................................57
Hình 3.9: Thêm bản ghi.........................................................................................58
Hình 3.10: Thêm khoản mục .................................................................................59
Hình 3.11: Sửa khoản mục ....................................................................................60
7
LỜI MỞ ĐẦU
Trong những năm gần đây, khi nền khoa học công nghệ thông tin đang ngày
càng phát triển như vũ bão thì vấn đề quản lí và khai thác dữ liệu đã trở thành một
trong những hướng nghiên cứu chính trong lĩnh vực khoa học máy tính và công
nghệ tri thức. Lĩnh vực này đã và đang ứng dụng thành công vào rất nhiều các lĩnh
vực khác nhau như thương mại, tài chính, thị trường chứng khoán, y học, thiên văn
học, sinh học, giáo dục và viễn thông. Không chỉ vậy, vấn đề khai thác dữ liệu và
quản lí dữ liệu đang ngày càng trở nên thiết thực hơn đóng vai trò không nhỏ trong
cuộc sống.
Việc quản lý chi tiêu hiệu quả giữ vị trí vô cùng quan trọng đối với doanh
nghiệp, công ty. Để tránh được những thất thoát mang lại sự phát triển hiệu quả bền
vững của doanh nghiệp, công ty, sự nể phục của các đối tác về một công ty nghiêm
túc và mở thêm nhiều cơ hội hợp tác cho công ty, doanh nghiệp.
Vì vậy, cùng với những gợi ý của Thầy Nguyễn Quang Hiệp, em đã chọn đề
tài: “Ứng dụng Android xây dựng hệ thống quản lý chi tiêu cho doanh nghiệp”.
Trước tiên em xin gửi lời cảm ơn đến thầy Nguyễn Quang Hiệp, là giảng
viên hướng dẫn em trong bài đồ án tốt nghiệp này. Cảm ơn thầy đã tạo cho em
những điều kiện thuận lợi để em có thể hoàn thành tốt bài luận này. Bên cạnh những
kết quả khiêm tốn mà em đạt được, chắc chắn không tránh khỏi những thiếu sót và
hạn chế trong nội dung báo cáo và chương trình. Kính mong nhận được những ý
kiến đóng góp của các thầy, cô để em có thể hoàn thiện hơn.
Em xin chân thành cảm ơn !
Thái Nguyên, ngày tháng 05 năm 2017
Người viết báo cáo
Trần Thị Hồng Tươi
8
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
1.1 Tổng quan về hệ điều hành và lập trình ứng dụng trên android.
1.1.1 Tổng quan về hệ điều hành android.
a. Lịch sử hình thành.
Android hiện đang là hệ điều hành trên di động phổ biến nhất thế giới. Được
sáng lập cách đây hơn 10 năm trước bởi 4 nhà phát triển Andy Rubin, Rich Miner,
Nick Sears và Chris While. Hiện tại android đang có chỗ đứng vững trong tâm trí
người tiêu dùng do lượng ứng dụng nhiều, đa dạng, dễ tùy biến cũng như các tính
năng công nghệ đột phá.
- Tháng 10/2003: Android Inc được thành lập bởi Andy Rubin, Rich Miner,
Nick Sears và Chris While.
- Tháng 8/2005: Google mua lại dự án Android do thấy được tiềm năng trong
lĩnh vực di động.
- Ngày 5/11/2007: Google chính thức ra mắt Android, từ đó đến nay ngày
5/11/2007 trở thành ngày sinh nhật của Android.
- Ngày 23/9/2008: Android 1.0 chính thức ra đời.
- Ngày 28/10/2008: HTC G1 ra mắt và là smartphone Android đầu tiên.
Từ khi thành lập cho đến nay, Thị phần Android trên thị trường điện thoại di
động ngày càng tăng lên mạnh mẽ, phần nào chứng tỏ những ưu thế và tính năng
vượt trội của nền tảng này. Đồng thời khẳng định những nỗ lực của Android trong
việc mang đến cho người tiêu dùng những sản phẩm tốt nhất.
a. Quá trình phát triển
Dưới đây là hình ảnh các phiên bản của Android trong quá trình phát triển.
Hình 1.1: Các phiên bản của Android
9
- Ngày 30/4/2009: Android 1.5 Cupcake ra đời với chợ ứng dụng cùng cải
thiện về giao diện.
- Ngày 15/9/2009: Android 1.6 Donut ra đời với cải thiện về cảm ứng đa
nhiệm, bàn phím ảo, cải thiện dung lượng pin và tính năng nhận diện giọng nói tích
hợp.
- Ngày 26/10/2009: Android Eclair ra đời với cải thiện về hiệu năng, hỗ trợ
HTML 5 cũng như khả năng xử lý đồ họa.
- Tháng 5/2010: Android 2.2 Froyo ra mắt với khả năng kết nối Bluetooth,
wi-fi Hotspot, bàn phím đa ngôn ngữ, camera và hiệu năng được cải thiện.
- Ngày 6/12/2010: Android 2.3 GingerBread ra mắt với giao diện, bàn phím
cùng thời lượng pin cải thiện đáng kể, kết nối NFC bắt đầu được hỗ trợ từ phiên bản
Android này.
- Ngày 22/2/2011: Android 3.0 Honeycomb ra mắt và được thiết kế cho các
thiết bị máy tính bảng với hiệu năng cải thiện và đây cũng là phiên bản Android đầu
tiên cho phép phần cứng sử dụng chip xử lý đa lõi.
- Ngày 19/10/2011, Android 4.0 IC ra mắt, đồng bộ với các thiết bị máy tính
bảng và smartphone. Tính năng điều chỉnh kích cỡ Widget, folder ở màn hình chính
cùng hàng loạt cải thiện xuất hiện.
- Tháng 6/2012: Android 4.1 Jelly Bean ra mắt, cải thiện hiệu năng, tích hợp
Google Now cũng như hàng loạt tiện ích giúp người dùng sử dụng hệ điều hành này
đơn giản hơn hết.
- Ngày 3/11/2014: Google chính thức ra mắt hệ điều hành mới nhất Android
Lollipop 5.0. “Android L” đã tích hợp các yếu tố đồ họa đơn giản của ngôn ngữ
phẳng với các hiệu ứng điều hướng rất trực quan để tạo ra Material Design vừa đẹp,
vừa tiện dụng, hệ thống thông báo dạng thẻ, Project Volta giúp tìm kiếm pin, mã
hóa dữ liệu được mặc định trên smartphone, đồ họa đẳng cấp.
Các Smartphone trọng tâm:
- Năm 2008: HTC Dream
- Năm 2010: Samsung Galaxy S
- Năm 2011: Motorola Xoom, Samsung Galaxy S2
- Năm 2012: HTC One X, Samsung Galaxy S3, Nexus 7, Nexus 4
10
- Năm 2013: Sony Xperia Z, HTC one, Samsung Galaxy S4.
- Năm 2014: Zenphone 5, Samsung Galaxy Note 4, Galxy S5, Nexus 9
1.1.2. Hệ điều hành (HĐH) Android và lập trình ứng dụng.
a. Cấu trúc của hệ điều hành.
Mô hình sau mô tả tổng quát cấu trúc của HĐH Android.
Hình 1.2. Cấu trúc của hệ điều hành Android
- Tầng ứng dụng (Applications)
Là tầng trên cùng của kiến trúc Android, nằm cách xa với phần cứng nhất, là
nơi chứa các ứng dụng của lập trình viên. Hầu hết các ứng dụng được viết bằng
ngôn ngữ java.
- Tầng 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 và nhiều hơn nữa.
Google xây dựng cho các developer để phát triển các ứng dụng của họ trên
Android chỉ bằng cách gọi các API.
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:
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….
11
Content Provider: 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 chia sẻ dữ liệu giữa các ứng dụng đó.
Resource Manager: Cung cấp truy xuất tới các tài nguyên không phải là mã
nguồn, chẳng hạn như: graphics, image, music, video…
Notification Manager: Cho phép tất cả các ứng dụng hiển thị thông báo của
mình trên hệ điều hành.
Activity Manager: Quản lý vòng đời của các ứng dụng và điều hướng các
Activity.
- Tầng Library
Android bao gồm một tập hợp các thư viện C/C++ được sử dụng bởi nhiều
thành phần khác nhau trong hệ thống Android. Các thư viện này sẽ được các lập
trình viên phát triển ứng dụng Android thông qua tầng Android Framework. Có thể
kể đến một vài thư viện quen thuộc như:
android.app - Cung cấp truy cập đến các mô hình ứng dụng và là nền tảng
của tất cả các ứng dụng Android.
android.content - Tạo điều kiện truy cập nội dung, publishing và messaging
giữa các ứng dụng và các thành phần ứng dụng.
android.database - Được sử dụng để truy cập dữ liệu được công bố bởi các
nhà cung cấp nội dung và bao gồm các lớp quản lý cơ sở dữ liệu SQLite.
android.graphics - Một bản vẽ đồ họa 2D API cấp thấp bao gồm cả màu
sắc, điểm, các bộ lọc, hình chữ nhật và bức tranh sơn dầu.
android.hardware - Trình bày một API cung cấp quyền truy cập vào phần
cứng như gia tốc và cảm biến ánh sáng.
android.opengl - Một giao diện Java với đồ họa OpenGL ES dựng hình
3D API.
android.os - Cung cấp các ứng dụng với quyền truy cập vào các dịch vụ hệ
điều hành chuẩn bao gồm tin nhắn, các dịch vụ hệ thống và quá trình liên lạc.
android.media - Cung cấp các lớp để cho phép phát âm thanh và video.
android.net - Một tập các API cung cấp quyền truy cập vào các mạng stack.
Bao gồm android.net.wifi, cung cấp truy cập không dây đến ngăn xếp của thiết bị.
12
android.text - Được sử dụng để thao tác văn bản trên màn hình điện thoại.
android.util - Một tập các lớp tiện ích cho công việc biểu diễn chuỗi,
chuyển đổi số lượng, xử lý XML, ngày tháng, thời gian.
android.view - Các khối xây dựng cơ bản của giao diện người dùng của
ứng dụng.
android.widget - Một bộ sưu tập phong phú của các thành phần giao diện
người dùng được xây dựng trước buttons, labels, list views, layout managers, radio
buttons, vv.
android.webkit - Một tập các lớp nhằm cho phép khả năng duyệt web được
xây dựng vào các ứng dụng.
- Tầng Android Runtime
Đây là phần thứ 2 nằm ở tầng 3 của kiến trúc Android. Phần này cung cấp
một thành phần quan trọng được gọi là Dalvik Virtual Machine - một loại máy ảo
Java được thiết kế đặc biệt và tối ưu hóa cho Android.
Máy ảo Dalvik: Dalvik là máy ảo trong hệ điều hành Android của Google.
Nó là một loại JVM được sử dụng trong các thiết bị Android để chạy các ứng dụng
và được tối ưu hóa cho sức mạnh xử lý thấp và môi trường bộ nhớ thấp. Đây là
phần mềm chạy các ứng dụng trên thiết bị Android. Do đó Dalvik là một phần của
Android, thường được sử dụng trên các thiết bị di động như điện thoại di động và
máy tính bảng cũng như trên các thiết bị nhúng như TV thông minh và các dòng
phương tiện truyền thông. Các chương trình thường được viết bằng Java và biên
dịch thành bytecode. Sau đó được chuyển từ tệp tin .class của JVM tương thích
sang tệp tin .dex (Dalvik Executable) trước khi cài đặt lên thiết bị. Tệp tin có định
dạng Dalvik Exec nhỏ gọn được thiết kế phù hợp với hệ thống đang bị hạn chế về
bộ nhớ và tốc độ xử lý.
Ngoài ra Android runtime cũng cung cấp một tập các thư viện Core Java: có
sự pha trộn của Java SE và Java ME. Tuy nhiên thư viện cung cấp hầu hết các chức
năng được xác định trong thư viện Java SE.
- Tầng Linux kernel.
Là tầng dưới cùng của hệ điều hành Android. Bộ nhân này làm nhiệm vụ như
một lớp trung gian kết nối phần cứng thiết bị và phần ứng dụng. Toàn bộ hệ thống
13
Android được xây dựng dựa trên Linux phiên bản 2.6 [2] với một vài thay đổi bởi
Google.
b. Cấu trúc của một project android.
- Thư mục src (viết tắt của source): Nơi chứa các source code ứng dụng.
Gồm các package và các class. Các file có đuôi ngầm định là *.java hoặc *.aidl
- Thư mục gen (viết tắt của Generated Java File): Nơi chứa các file tự động
phát sinh, hay chính là các file .java tạo ra bởi ADT plug-in, như là file R.java hoặc
các giao diện tạo ra từ file AIDL.
File R.java là một file tự động sinh ra ngay khi tạo ứng dụng, file này được
sử dụng để quản lý các thuộc tính được khai báo trong file XML của ứng dụng và
các tài nguyên hình ảnh.
Mã nguồn của file R.java được tự động sinh khi có bất kì một sự kiện nào
xảy ra làm thay đổi các thuộc tính trong ứng dụng. Chẳng hạn như, bạn kéo và thả
một file hình ảnh từ bên ngoài vào project thì ngay lập tức thuộc tính đường dẫn đến
file đó cũng sẽ được hình thành trong file R.java hoặc xoá một file hình ảnh thì
đường dẫn tương ứng đến hình ảnh đó cũng tự động bị xoá.
Có thể nói file R.java hoàn toàn không cần phải đụng chạm gì đến trong cả
quá trình xây dựng ứng dụng.
Dưới đây là nội dung của một file R.java:
public static final class drawable {
public static final int abc_ab_bottom_solid_dark_holo=0x7f020000;
public static final int abc_ab_bottom_solid_light_holo=0x7f020001;
public static final int abc_ab_share_pack_holo_light=0x7f020005;
public static final int abc_ab_solid_dark_holo=0x7f020006;
public static final int abc_ab_solid_light_holo=0x7f020007;
public static final int abc_ab_stacked_solid_dark_holo=0x7f020008;
public static final int abc_ab_stacked_solid_light_holo=0x7f020009;
public static final int abc_ab_transparent_light_holo=0x7f02000d;
- Thư mục res (viết tắt của resource-tài nguyên): Nơi chứa các resource
dùng trong ứng dụng. Chẳng hạn như file hình ảnh, file layout, các chuỗi (string)…
14
Các thư mục con của res bao gồm:
Anim/ : Chứa các file .xml dùng cho việc thiết lập các hiệu ứng động
(animation)
Color/ : chứa các file .xml dùng định nghĩa màu sắc.
Drawable/ : Chứa file hình ảnh (png, jpeg, gif), file .xml định nghĩa cách vẽ
các loại hình dạng khác nhau (shape).
Layout/ : Chứa các file .xml dùng để dựng giao diện người dùng.
Menu/ : Chứa file .xml qui định application menu.
Raw/ : Chứa các file media, chẳng hạn như .mp3 hay .ogg
Values/ : Chứa file .xml định nghĩa các giá trị. Khác với các resource trong
các thư mục khác, resource ở thư mục này khi được định danh trong lớp R thì sẽ
không sử dụng file name để định danh, mà sẽ được định danh theo qui định bên
trong file .xml đó.
- Thư mục assets: Chứa các resource file mà ứng dụng cần dùng (dưới
dạng file).
- File AndroidManifest.xml: Trong bất kì một project Android nào khi tạo ra
đều có một file AndroidManifest.xml, file này được dùng để định nghĩa các screen
sử dụng, các permission cũng như các theme cho ứng dụng. Đồng thời nó cũng
chứa thông tin về phiên bản SDK cũng như main activity sẽ chạy đầu tiên.
File này được tự động sinh ra khi tạo một Android project. Trong file
Manifest bao giờ cũng có 3 thành phần chính đó là: application, permission và
version.
Dưới đây là nội dung của một file AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="thu.datn.englishstudy"
android:versionCode="1"
android:versionName="1.0"
android:installLocation="preferExternal" >
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="21" />
<uses-permission android:name="android.permission.INTERNET"/>
<application
15
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".ListLessonABCGrammar"></activity>
<activity android:name=".MainContentLessonABCGrammar"></activity>
</application>
</manifest>
Application:
Thẻ <application>, bên trong thẻ này chứa các thuộc tính được định nghĩa
cho ứng dụng android như:
android:icon = “drawable resource” -> ở đây đặt đường dẫn đến file icon
của ứng dụng khi cài đặt.
Ví dụ: android:icon = “@drawable/icon”.
android:name =”string” -> thuộc tính này để đặt tên cho ứng dụng android.
Tên này sẽ được hiển thị lên màn hình sau khi cài đặt ứng dụng.
android:theme = “drawable theme” -> thuộc tính này để đặt theme cho ứng
dụng. Các theme là các cách để hiển thị giao diện ứng dụng.
Ngoài ra còn nhiều thuộc tính khác….
Permission
Bao gồm các thuộc tính chỉ định 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 loại tài nguyên nào đó thì trong file Manifest của
ứng dụng cần phải khai báo các quyền truy xuất như sau:
<uses-permission android:name="android.permission.INTERNET"/>
16
SDK version
Thẻ xác định phiên bản SDK được khai báo như sau:
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="21" />
Ở đây chỉ ra phiên bản SDK nhỏ nhất mà ứng dụng hiện đang sử dụng.
c. Vòng đời của một ứng dụng android.
- Vòng đời của mỗi thành phần
Các thành phần ứng dụng có một vòng đời, tức là mỗi thành phần từ lúc bắt
đầu khởi tạo và đến thời điểm kết thúc. Giữa đó, đôi lúc chúng có thể là active hoặc
inactive, hoặc là trong trường hợp activies nó có thể visible hoặc invisible.
chu kì sống của ứng dụng android
active, inactive
Start end.
visible, invisible
- Activity Stack
Tương tự như các ngôn ngữ lập trình khác, Activity Stack hoạt động theo cơ
chế LIFO (Last In First Out) - cơ chế ngăn xếp.
Mỗi một Activity mới được mở lên nó sẽ ở bên trên Activity cũ, để trở về
Activity thì chỉ cần nhấn nút “Back” để trở về hoặc viết lệnh. Tuy nhiên nếu nhấn
nút “Home” rồi thì sẽ không thể dùng nút “Back” để quay lại màn hình cũ được.
Hình 1.3. Mô hình Activity Atack
17
Có hai kiểu để mở Activity mới.
Mở Activity mới lên làm che khuất toàn bộ Activity cũ (không nhìn thấy
Activity cũ): Sảy ra sự kiện onPause rồi onStop đối với Activity cũ.
Mở Activity mới lên làm che khuất một phần Activity cũ (vẫn nhìn thấy
Activity cũ): Sảy ra sự kiện onPause với Activity cũ.
Khi quay trở về Activity cũ thì sau khi thực hiện xong các hàm cần thiết,
chắc chắn nó phải gọi hàm onResume để phục hồi lại trạng thái ứng dụng.
Như vậy ta thường lưu lại trạng thái của ứng dụng trong sự kiện onPause và
rồi đọc lại trạng thái của ứng dụng trong sự kiện onResume.
- Các trạng thái của một vòng đời
Hình 1.4 Vòng đời của một Activity
Activity bao gồm 4 trạng thái.
- Active (running): Activity đang hiển thị trên màn hình (foreground).
- Paused: Activity vẫn hiển thị (visible) nhưng không thể tương tác (lost
focus).
Ví dụ: Một Activity mới xuất hiên hiển thị giao diện đè lên trên Activity cũ,
nhưng giao diện này nhỏ hơn giao diện của Activity cũ, do đó ta vẫn thấy được một
phần giao diện của Activity cũ nhưng lại không thể tương tác với nó.
- Stop: Activity bị thay thế hoàn toàn bởi Activity mới sẽ tiến đến trạng
thái Stop.
18
- Killed: Khi hệ thống bị thiếu bộ nhớ, nó sẽ giải phóng các tiến trình theo
nguyên tắc ưu tiên. Các Activity ở trạng thái Stop hoặc Paused cũng có thể bị giải
phòng và khi nó được hiển thị lại thì các Activity này phải khởi động lại hoàn toàn
và phục hồi lại trạng thái trước đó.
Giải thích về các phương thức trong vòng đời
- onCreate(): Gọi khi Activity được bắt đầu khởi tạo. Đây là nơi thực hiện
mọi các khai báo cũng như thiết lập giao diện.
Luôn được theo sau bởi phương thức onStart().
- onStart(): Gọi khi Activity “restart” và đã sẵn sàng, nhưng chưa hiện ra với
người dùng
Được theo sau bởi onResume() nếu Activity đi ra foreground, hoặc onStop()
nếu nó ẩn đi.
- onResume(): Chỉ được gọi khi Activity bắt đầu tương tác với người dùng.
Luôn được theo sau bởi phương thức onPause().
- onPause(): Gọi trước khi Activity bắt đầu vào trạng thái “paused”. Trong
phương thức này ta thường sẽ giải phóng bộ nhớ, hoặc dừng các hành động nào đó
có thể chiếm dụng nhiều RAM, CPU để cho Activity được kích hoạt tiếp theo làm
việc trơn tru.
Theo sau bởi phương thức onResume() nếu Activity được kích hoạt lại (quay
về foreground) hoặc onStop() nếu nó ẩn đi.
- onStop(): Gọi khi Activity không còn được sử dụng nữa. Nó có thể sẽ bị
hủy bỏ hoặc có thể sẽ lại được kích hoạt lại từ một Activity khác.
Theo sau bởi onRestart() nếu nó được kích hoạt lại, hoặc onDestroy() nếu nó
bị hủy bỏ bởi hệ thống.
- onDestroy(): Gọi trước khi Activity bị hủy khỏi hệ thống, đây là lời gọi
cuối cùng mà Activity có thể thực hiện. Phương thức này có thể được gọi bởi vì ở
đâu đó có lời gọi finish() hoặc finishActivity(), cũng có thể vì hệ thống cần phải hủy
bỏ để giải phóng bộ nhớ.
Không được theo sau bởi phương thức nào.
- onRestart(): Gọi khai Activity từ trạng thái Stop khởi động trở lại.
19
Trong một ứng dụng của Android có chứa nhiều thành phần và mỗi thành
phần đều có một vòng đời riêng và Android 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. Activity là một thành phần cho phép người
dùng giao tiếp với ứng dụng. Tuy nhiên, khi tất cả các Activity kết thúc và người
dùng không còn giao tiếp được với ứng dụng nữa nhưng không có nghĩa là ứng
dụng đã kết thúc. Bởi vì ngoài Activity là thành phần có khả năng tương tác người
dùng thì còn có các thành phần không có khả năng tương tác với người dùng như
Service…. Có nghĩa là những thành phần không tương tác người dùng có thể chạy
background dưới sự giám sát của hệ điều hành cho đến khi người dùng tự tắt chúng.
Thời gian sống của ứng dụng.
Bảy phương thức chuyển tiếp định nghĩa trong vòng đời của một Activity.
Thời gian sống của một Activity diễn ra giữa lần đầu tiên gọi onCreate() đến trạng
thái cuối cùng gọi onDestroy(). Một Activity khởi tạo toàn bộ trạng thái toàn cục
trong onCreate(), và giải phóng các tài nguyên đang tồn tại trong onDestroy().
Thời gian hiển thị của Activity
Visible lifetime của một activity diễn ra giữa lần gọi một onStart() cho đến
khi gọi onStop(). Trong suốt khoảng thời gian này người dùng có thể thấy Activity
trên màn hình, có nghĩa là nó không bị foreground hoặc đang tương tác với người
dùng. Giữa 2 phương thức người dùng có thể duy trì tài nguyên để hiển thị Activity
đến người dùng.
1.1.3. Các thành phần giao diện và control cơ bản trong android
a. 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 một kiểu
là một hậu duệ của class View và tất cả các kiểu đó được gọi là các Widget.
Tất cả mọi widget đều có chung các thuộc tính cơ bản như là cách trình bày
vị trí, background, kích thước, lề… Tất cả những thuộc tính chung này được thể
hiện hết ở trong đối tượng View.
Trong Android Platform, các screen luôn được bố trí theo một kiểu cấu trúc
phân cấp như hình dưới. Một screen là một tập hợp các Layout và các widget được
bố trí có thứ tự. Để thể hiện một screen thì trong hàm onCreate của mỗi Activity cần
20
phải được gọi một hàm là setContentView(R.layout.main)- hàm này sẽ load giao
diện từ file.
 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à 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 ràng buộc giữa các thành phần.
LinearLayout được trình bày theo 2 cách: Horizontal - nằm ngang hoặc
Vertical - thẳng đứng.
 RelativeLayout
Layout này cho phép bố trí các widget theo một trục đối xứng ngang hay
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 khác. Các ràng buộc này là các ràng buộc trái, phải, trên,
dưới so với một widget hoặc so với layout parent.
Ví dụ: Xem xét layout được xác định dưới đây. Nút “Cancel” được đặt tương
đối, ở bên phải song song với nút “Login”.
Hình ảnh minh họa
Hình 1.5. Ví dụ về RelativeLayout
 TableLayout
Layout này được sử dụng khi cần thiết kế một table chứa dữ liệu cần bố trí
các widget theo các dòng và cột.
21
Ví dụ như hình vẽ sau:
Hình 1.6. Ví dụ về TableLayout
b. Các control cơ bản.
 Button
Button là đối tượng có thể nói là được dùng nhiều nhất trong hầu hết các ứng
dụng Android.
Để thiết kế giao diện với một Button ta có cách đơn giản như sau:
<Button
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:id="@+id/cmdButton1"
Android:text="Touch me!"
/>
Ví dụ:
Hình 1.7: Ví dụ về Button
22
 EditText
EditText: Là đối tượng ta có thể nhập nội dung cho nó. Có nhiều dạng
EditText khác nhau như: Plain text, Person Name, Password, Email, Phone, ….
<EditText
android:id="@+id/nhap_id_o_day"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
 TextView
TextView có tác dụng là để hiển thị văn bản.
<TextView
Android:layout_width ="fill_parent"
Android:layout_height="wrap_content"
Android:text="Hello World! Demo TextView"
Android:textColor="#07a931"
Android:textSize ="20px"
Android:gravity ="center_horizontal"
/>
Trong đoạn mã trên, android:text="" dùng để ghi đoạn text muốn thể hiện,
android:textColor ="" để định dạng màu chữ, android:textSize ="" kích cỡ chữ,
android:gravity="" dùng để canh chỉnh cho đoạn text.
 RadioButton
Radiobutton là một control cho phép ta lựa chọn duy nhất một đối tượng
trong cùng một group.
Ví dụ:
<RadioGroup
android:id = “@+id/radioGroup1”
android:layout_width =”wrap_content”
android:layout_height =”wrap_content”
23
<RadioButton
android:id =”@+id/radio1”
android:layout_width =”wrap_content”
android:layout_height =”wrap_content”
android:text =”Male” />
<RadioButton
android:id=”@+id/radio2”
android:layout_height =”wrap_content”
android:layout_width =”wrap_content”
android:text =”Female />
</RadioGroup>
Hình 1.8. Ví dụ về RadioButton
- ListView
Được sử dụng để thể hiện một danh sách các thông tin theo từng cell. Mỗi
cell thông thường được load lên từ một file XML đã được cố định trên đó số lượng
thông tin và loại thông tin cần được thể hiện.
Để thể hiện được một list thông tin lên một screen thì cần phải có 3 yếu tố
chính:
Data Source: Data Source có thể là một ArrayList, HashMap hoặc bất kỳ
một cấu trúc dữ liệu kiểu danh sách nào.
Adapter: Adapter là một class trung gian giúp ánh xạ dữ liệu trong Data
Source vào đúng vị trí hiển thị trong ListView. Chẳng hạn, trong Data Source có
24
một trường name và trong ListView cũng có một TextView để thể hiện trường
name này. Tuy nhiên, ListView sẽ không thể hiển thị dữ liệu trong Data Source lên
được nếu như Adapter không gán dữ liệu vào cho đối tượng hiển thị.
ListView: ListView là đối tượng để hiển thị các thông tin trong Data Source
ra một cách trực quan và người dùng có thể thao tác trực tiếp trên đó.
- CheckBox
Nhận 2 giá trị true hoặc false. Đối tượng CheckBox cho phép chọn nhiều
item cùng một lúc.
Khai báo: CheckBox cb = new CheckBox(Context …);
Ví dụ:
<CheckBox
android:id="@+id/CheckBox01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Check me"
android:checked="true" />
1.1.4 Intent
a. Khái niệm 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 Windows Form.
Hình 1.9. Mô hình truyền dữ liệu với Intent
25
b. Dữ liệu của Intent:
Intent về cơ bản là một cấu trúc dữ liệu, được mô tả trong lớp
android.content.Intent
Các thuộc tính của một đối tượng Intent:
Hình 1.10. Các thuộc tính của một đối tượng Intent
c. Các Action được định nghĩa sẵn:
Dưới đây là những hằng String đã được định nghĩa sẵn trong lớp Intent. Đi
kèm với nó là các Activity hay Application được xây dựng sẵn sẽ được triệu gọi
mỗi khi Intent tương ứng được gửi (tất nhiên khi được cung cấp đúng data).
Hình 1.11. Các Action được định nghĩa sẵn
d. Tự định nghĩa action:
Về nguyên tắc chúng ta có thể đặt tên action của một intent là bất cứ thứ gì
theo chuẩn đặt tên thông thường, hay thậm chí dùng luôn hằng action đã định nghĩa
sẵn như ACTION_VIEW (hay “Android.intent.action.VIEW”). Cái tên VIEW thực
chất chỉ là một tên gợi tả, chúng ta có thể dùng nó với mục đích thực hiện một
26
activity để gửi mail! Tuy nhiên điều đó rõ ràng là rất “ngớ ngẩn”. Thay vào đó ta
hãy dùng ACTION_SEND hay ACTION_SENDTO.
Việc đặt tên action cho intent đúng tên gợi tả còn có một ý nghĩa khác đó là
app của chúng ta có thể được triệu gọi từ một app khác. Ví dụ chúng ta viết một app
có activity đáp ứng intent ACTION_SEND và để chia sẻ một bức ảnh lên trang web
của chúng ta (giống như ta làm với Facebook, Flickr etc.) Khi đó có thể app của
chúng ta sẽ là một lựa chọn chia sẻ ảnh của người dùng điện thoại.
e. Sử dụng Intents khởi động cho Activities:
Phổ biến nhất trong Intents là việc liên kết dữ liệu giữa các thành phần ứng
dụng, Intents được dùng để bắt đầu, dừng lại và chuyển tiếp giữa các Activities
trong ứng dụng.
Để mở một ứng dụng khác trong một ứng dụng có sẵn thì chúng ta gọi
startActivity như sau: startActivity(myIntent);
Để theo dõi thông tin phản hồi từ phương thức mở ta sử dụng phương thức :
startActivityForResult(Intent)
1.1.5 Định dạng Json
Json (JavaScript Object Notation) được định nghĩa dựa theo ngôn ngữ
javaScript, tiêu chuẩn ECMA-262 năm 1999, cấu trúc là một định dạng văn bản đơn
giản với các trường dữ liệu được lồng vào nhau. Json được sử dụng để trao đổi dữ
liệu giữa các thành phần của một hệ thống tương thích với hầu hết các ngôn ngữ C,
C++, C#, Java, JavaScript, Perl, Python…
Json được xây dựng dựa trên hai cấu trúc chính:
Tập hợp cặp giá trị name/values, trong nhiều ngôn ngữ khác nhau cặp giá trị
này có thể là object, record, struct, dictionary, hash table, keyed list…
27
Tập hợp danh sách các giá trị, có thể là array, vector, list hay sequence.
Và tùy thuộc vào dữ liệu cần trao đổi, Json có thể có nhiều dạng khác nhau,
tuy nhiên có thể tổng hợp ở hai dạng chính sau:
Một đối tượng Object chứa các cặp giái trị string/values không cần thứ tự,
được bao trong cặp “{}”, các cặp giá trị bên trong được định dạng “string:value” và
chia cách nhau bởi dấu “,”. Value ở đây có thể là chuỗi, số, true-false, null… có thể
xem mô tả cùng ví dụ sau:
Hình 1.12. Cấu trúc một đối tượng Object trong Json
data:
{ id_score: "61",
id_User: "39",
score: "27" }
Một đối tượng mảng có bao gồm nhều phần tử con có thứ tự. Các phần từ
con được bao trong cặp “[]” và chia cách nhau bởi dấu “,”. Mỗi phần tử con có thể
là một giá trị đơn lẻ như: số, chuỗi, true-false, null hoặc một object khác, thậm chí
có thể là một mảng.
Hình 1.13. Cấu trúc một đối tượng Array trong Json
28
{ data: [
{
id_question: "50",
id_content: "0",
id_User: "1",
question: "Is Susan ........... home?",
question_a: "in",
question_b: "at",
question_c: "on",
question_d: "under",
solution: "b",
explain: "b"
},
{
id_question: "51",
id_content: "0",
id_User: "1",
question: ""Do the children go to school every day?"
question_a: "Yes, they go",
question_b: "Yes, they do.",
question_c: "They go",
question_d: "No, they don't go.",
solution: "b",
explain: "b"
},
Việc đọc và ghi định dạng JSON được tích hợp sẵn trong Android SDK (nó
nằm trong thư viện org.json) hoặc có thể sử dụng thư viện độc lập ở trên mạng để
viết cho java thuần túy.
29
JSONObject: Đối tượng quản lý JSON ở dạng một Object.
JSONArray: Đối tượng quản lý JSON ở dạng tập hợn các Object hoặc
Array.
JSONStringer: Đối tượng chuyển dữ liệu JSON thành dạng chuỗi.
JSONTokener: Chuyển đổi đối tượng JSON (chuẩn RFC-4627) mã hoá
chuỗi một thành đối tượng tương ứng.
So với XML, định dạng JSON có một số ưu điểm:
Json có độ nén dữ liệu tốt hơn: cùng một dữ liệu, XML tốn nhiều dung
lượng hơn để đóng gói, do các thẻ (tag) trong XML có độ dài nhất định. Dung
lượng lớn ảnh hưởng xấu đến tốc độ truyền tải cũng như khả năng lưu trữ tài liệu.
Xử lý (phân tích) tài liệu XML tốn kém hơn so với JSON cả về bộ nhớ lẫn
tài nguyên CPU.
1.1.6 AsyncTask
AsyncTask là phương tiện khác để xử lý công việc sử dụng background
thread và giao tiếp với UI thread mà không dùng Thread hay Handler
Trong AsyncTask<Params, Progress, Result> có 3 đối số là các Generic
Type:
- Params: Là giá trị ((biến) được truyền vào khi gọi thực thi tiến trình và nó
sẽ được truyền vào doInBackground
- Progress: Là giá trị (biến) dùng để update giao diện diện lúc tiến trình thực
thi, biến này sẽ được truyền vào hàm onProgressUpdate.
- Result: Là biến dùng để lưu trữ kết quả trả về sau khi tiến trình thực hiện xong.
Những đối số nào không sử dụng trong quá trình thực thi tiến trình thì ta thay
bằng Void.
Thông thường trong 1 AsyncTask sẽ chứa 4 hàm, đó là :
+ onPreExecute() : Tự động được gọi đầu tiên khi tiến trình được kích hoạt.
+ doInBackground(): Được thực thi trong quá trình tiến trình chạy nền,
thông qua hàm này để ta gọi hàm onProgressUpdate để cập nhật giao diện (gọi
lệnh publishProgress). Ta không thể cập nhật giao diện trong
hàm doInBackground().
+ onProgressUpdate (): Dùng để cập nhật giao diện lúc runtime
30
+ onPostExecute(): Sau khi tiến trình kết thúc thì hàm này sẽ tự động sảy ra.
Ta có thể lấy được kết quả trả về sau khi thực hiện tiến trình kết thúc ở đây.
Trong 4 hàm trên thì hàm doInBackground() bắt buộc phải tồn tại, còn các
hàm khác có thể khuyết.
1.2 Web Service
1.2.1 Khái niệm
Theo định nghĩa của W3C (World Wide Web Consortium), Web service là
một hệ thống phần mềm được thiết kế để hỗ trợ khả năng tương tác giữa các ứng
dụng trên các máy tính khác nhau thông qua mạng Internet, giao diện chung và sự
gắn kết của nó được mô tả bằng XML.
Web service là tài nguyên phần mềm có thể xác định bằng địa chỉ URL, thực
hiện các chức năng và đưa ra các thông tin người dùng yêu cầu. Một Web service
được tạo nên bằng cách lấy các chức năng và đóng gói chúng sao cho các ứng dụng
khác dễ dàng nhìn thấy và có thể truy cập đến những dịch vụ mà nó thực hiện, đồng thời
có thể yêu cầu thông tin từ Web service khác. Nó bao gồm các mô đun độc lập cho hoạt
động của khách hàng và doanh nghiệp và bản thân nó được thực thi trên server.
1.2.2 Đặc điểm của Web service
a. Đặc điểm:
- Web service cho phép client và server tương tác với nhau ngay cả trong
những môi trường khác nhau. Ví dụ: đặt web server cho ứng dụng trên một máy chủ
chạy hệ điều hành Linux trong khi người dùng sử dụng máy tính chạy hệ điều hành
Windows, ứng dụng vẫn có thể chạy và xử lý bình thường.
- Phần lớn kỹ thuật của web service được xây dựng dựa trên mã nguồn mở và
được phát triển từ các chuẩn đã được công nhận như XML
- Một web service bao gồm có nhiều mo-dun và có thể công bố lên mạng
internet.
- Một ứng dụng khi được triển khai sẽ hoạt động theo mô hình client-server.
b. Ưu điểm và nhược điểm
 Ưu điểm:
- Web service cung cấp khả năng hoạt động rộng lớn với các ứng dụng phần
mềm khác nhau chạy trên những nền tảng khác nhau.
31
- Sử dụng các giao thức và chuẩn mở. Giao thức và định dạng dữ liệu dựa
trên văn bản, giúp các lập trình viên dễ dàng hiểu được.
- Nâng cao khả năng tái sử dụng
- Thúc đẩy đầu tư các hệ thống phần mềm đã tồn tại bằng cách cho phép các
tiến trình/ chức năng nghiệp vụ đóng gió trong giao diện web service.
- Giảm sự phức tạp của hệ thống
 Nhược điểm:
- Có quá nhiều chuẩn cho web service khiến người dùng khó nắm bắt.
- Phải quan tâm nhiều hơn đến vấn đề bảo mật.
- Các giao thức được thay đổi và nâng cấp đòi hỏi ứng dụng của client cũng
phải được nâng cấp và thay đổi.
b. Kiến trúc của Web service
Dịch vụ Web gồm có 3 chuẩn chính: SOAP (Simple Object Access
Protocol), WSDL (Web Service Description Language) và UDDI (Universal
Description, Discovery, and Integration). UDDI được sử dụng để đăng ký và khám
phá dịch vụ Web đã được miêu tả cụ thể trong WSDL.Giao tác UDDI sử dụng
SOAP để nói chuyện với UDDI server, sau đó các ứng dụng SOAP yêu cầu một
dịch vụ Web.Các thông điệp SOAP được gửi đi chính xác bởi HTTP và TCP/IP.
Hình 1.14. Cấu trúc của Web service
 Có 4 thành phần chính :
- Dịch vụ vận chuyển (Service Transport): có nhiệm vụ truyền thông điệp
giữa các ứng dụng mạng, bao gồm những giao thức như HTTP, SMTP, FTP, JSM
32
và gần đây nhất là giao thức thay đổi khổi mở rộng (Blocks Extensible Exchange
Protocol- BEEP).
- Thông điệp XML: có nhiệm vụ giải mã các thông điệp theo định dạng XML
để có thể hiểu được ở mức ứng dụng tương tác với người dùng. Hiện tại, những
giao thức thực hiện nhiệm vụ này là XML-RPC, SOAP và REST.
- Mô tả dịch vụ: được sử dụng để miêu tả các giao diện chung cho một dịch
vụ Web cụ thể. WSDL thường được sử dụng cho mục đích này, nó là một ngôn ngữ
mô tả giao tiếp và thực thi dựa trên XML.Dịch vụ Web sẽ sử dụng ngôn ngữ này để
truyền tham số và các loại dữ liệu cho các thao tác và chức năng mà dịch vụ Web
cung cấp.
Khám phá dịch vụ: tập trung dịch vụ vào trong một nơi được đăng ký, từ đó
giúp một dịch vụ Web có thể dễ dàng khám phá ra những dịch vụ nào đã có trên
mạng, tốt hơn trong việc tìm kiếm những dịch vụ khác để tương tác. Một dịch vụ
Web cũng phải tiến hành đăng ký để các dịch vụ khác có thể truy cập và giao tiếp.
Hiện tại, UDDI API thường được sử dụng để thực hiện công việc này.
Tải bản FULL (63 trang): bit.ly/2Ywib4t
Dự phòng: fb.com/KhoTaiLieuAZ
33
CHƯƠNG 2: KHẢO SÁT VÀ PHÂN TÍCH THIẾT KẾ HỆ THỐNG
2.1 Khảo sát hiện trạng
2.1.1 Giới thiệu về đơn vị khảo sát
 Tên công ty : EXP CO., Ltd
 Địa chỉ : Tổ 6, Phường Tân Thịnh, Thành phố Thái Nguyên, Việt Nam
 Số điện thoại : 0915 122 722
 Lĩnh vực hoạt động : Phát triển ứng dụng web và thiết bị di động
 Cơ cấu tổ chức của công ty
 Ban giám đốc: Điều hành công ty, quản lý các bộ phận bên dưới, định
hướng cho công ty phát triển vững mạnh.
 Bộ phận kinh doanh: Tiến hành định giá, tìm hiểu nhu cầu thị
trường…
 Bộ phận Phát triển: Xây dựng, phát triển các ứng dụng trên web và
thiết bị di động
 Bộ phận Kiểm thử : Kiểm thử ứng dụng trước khi bán
 Bộ phận Bán hàng: Quảng bá, bán sản phẩm của công ty trên các
trang web uy tín
 Bộ phận Kế toán: Thu thập các hóa đơn mua bán sản phẩm để tiến
hành báo cáo tổng kết tình hình tài chính của công ty.
 Tổng quan về công ty: EXP Co., Ltd là một công ty chuyên cung cấp dịch
vụ phát triển trên web và điện thoại di động. Công ty cũng cung cấp các sản phẩm
Wordpress, Joomla và Drupal. Sản phẩm của công ty đã được phê duyệt lần đầu
Tải bản FULL (63 trang): bit.ly/2Ywib4t
Dự phòng: fb.com/KhoTaiLieuAZ
34
tiên tại Themeforest vào năm 2012. Hiện tại, công ty có hàng trăm sản phẩm có sẵn
trên Themeforest, Mojo và các thị trường khác. Và những sản phẩm này phục vụ
hơn 20.000 khách hàng với sự hài lòng đến từ khắp nơi trên thế giới, và vẫn đang
phát triển.
2.1.2 Khảo sát thực tế bài toán quản lý tài chính tại công ty
 Bộ phận Kế toán ghi chép vào sổ sách những khoản thu chi của công ty
như doanh thu dự án, tiền lương trả cho nhân viên, các khoản chi tiêu khác . . .
 Báo cáo thường xuyên cho ban Giám đốc về tình hình tài chính của công
ty để ban Giám đốc nắm bắt được tình hình tài chính công ty và có kế hoạch kinh
doanh hợp lý.
2.1.3 Nhận xét, đánh giá thực trạng
 Ưu điểm:
 Cơ cấu quản lý của công ty chặt chẽ và logic, nếu thực hiện đúng các
nguyên tắc của quy trình quản lý thì công việc được tiến hành chính xác đảm bảo
yêu cầu.
 Bên cạnh đó phương tiện để quản lý là giấy tờ sổ sách nên có thể lấy và
xem, tra cứu sửa chữa được tiến hành không cần những điều kiện cầu kỳ như máy
móc, trang thiết bị hiện đại…
 Nhược điểm:
 Việc lưu trữ thông tin tài chính cũng như các thông tin khác trong việc
quản lý tài chính đều được tiến hành thủ công bằng sổ sách và các chứng từ với một
số lượng lớn, chính vì vậy gây ra nhiều khó khăn cho công tác quản lý, tốn nhiều
thời gian và công sức cho nhân viên quản lý với những công việc kiểm tra, tra cứu,
kiểm kê phức tạp.
 Khi lưu trữ thông tin bằng phương pháp này nếu cần tìm kiếm thì sẽ gặp
nhiều khó khăn.Chẳng hạn muốn tìm thông tin một khoản chi cách đây khác lâu thì
phải tìm trong sổ sách giấy tờ rất lâu.
 Vậy từ đây ta có thể nhận ra con đường quản lý chi tiêu trực tuyến thông
qua một ứng dụng trên thiết bị di động sẽ là giải pháp tối ưu cho việc quản lý và
phát triển công ty vì nó giải quyết hầu hết các tồn đọng các vấn đề về lưu trữ thông
tin. Việc quản lý chi tiêu được cập nhật nhanh chóng hơn hỗ trợ tối đa cho công ty.
4547062

More Related Content

What's hot

Đề tài: Nghiên cứu hành vi mua sắm trực tuyến của người tiêu dùng, HAY
Đề tài: Nghiên cứu hành vi mua sắm trực tuyến của người tiêu dùng, HAYĐề tài: Nghiên cứu hành vi mua sắm trực tuyến của người tiêu dùng, HAY
Đề tài: Nghiên cứu hành vi mua sắm trực tuyến của người tiêu dùng, HAYViết thuê trọn gói ZALO 0934573149
 
CÁC NHÂN TỐ ẢNH HƯỞNG ĐẾN GIÁ TRỊ THƯƠNG HIỆU CÁC DOANH NGHIỆP BÁN LẺ TRÊN ĐỊ...
CÁC NHÂN TỐ ẢNH HƯỞNG ĐẾN GIÁ TRỊ THƯƠNG HIỆU CÁC DOANH NGHIỆP BÁN LẺ TRÊN ĐỊ...CÁC NHÂN TỐ ẢNH HƯỞNG ĐẾN GIÁ TRỊ THƯƠNG HIỆU CÁC DOANH NGHIỆP BÁN LẺ TRÊN ĐỊ...
CÁC NHÂN TỐ ẢNH HƯỞNG ĐẾN GIÁ TRỊ THƯƠNG HIỆU CÁC DOANH NGHIỆP BÁN LẺ TRÊN ĐỊ...nataliej4
 
Bài giảng phương tiện dạy học
Bài giảng phương tiện dạy họcBài giảng phương tiện dạy học
Bài giảng phương tiện dạy họcnataliej4
 
Nghiên cứu tác động của cộng đồng trong việc bảo tồn đa dạng sinh học tại vườ...
Nghiên cứu tác động của cộng đồng trong việc bảo tồn đa dạng sinh học tại vườ...Nghiên cứu tác động của cộng đồng trong việc bảo tồn đa dạng sinh học tại vườ...
Nghiên cứu tác động của cộng đồng trong việc bảo tồn đa dạng sinh học tại vườ...https://www.facebook.com/garmentspace
 
Các yếu tố ảnh hưởng đến động lực làm việc của nhân viên, 9 ĐIỂM!
Các yếu tố ảnh hưởng đến động lực làm việc của nhân viên, 9 ĐIỂM!Các yếu tố ảnh hưởng đến động lực làm việc của nhân viên, 9 ĐIỂM!
Các yếu tố ảnh hưởng đến động lực làm việc của nhân viên, 9 ĐIỂM!Viết thuê trọn gói ZALO 0934573149
 
Đề tài: Nghiên cứu động cơ sử dụng dịch vụ lưu trú của khách du lịch, 9 ĐIỂM!
Đề tài: Nghiên cứu động cơ sử dụng dịch vụ lưu trú của khách du lịch, 9 ĐIỂM!Đề tài: Nghiên cứu động cơ sử dụng dịch vụ lưu trú của khách du lịch, 9 ĐIỂM!
Đề tài: Nghiên cứu động cơ sử dụng dịch vụ lưu trú của khách du lịch, 9 ĐIỂM!Viết thuê trọn gói ZALO 0934573149
 
Đề tài: Nghiên cứu nhận thức của người tiêu dùng đối với an toàn thực phẩm tr...
Đề tài: Nghiên cứu nhận thức của người tiêu dùng đối với an toàn thực phẩm tr...Đề tài: Nghiên cứu nhận thức của người tiêu dùng đối với an toàn thực phẩm tr...
Đề tài: Nghiên cứu nhận thức của người tiêu dùng đối với an toàn thực phẩm tr...Viết thuê trọn gói ZALO 0934573149
 
Báo Cáo Đồ Án Phần Mềm Quản lý chuỗi bất động sản FULL
Báo Cáo Đồ Án Phần Mềm Quản lý chuỗi bất động sản FULLBáo Cáo Đồ Án Phần Mềm Quản lý chuỗi bất động sản FULL
Báo Cáo Đồ Án Phần Mềm Quản lý chuỗi bất động sản FULLTuanNguyen520568
 
Tai lieu---hanh-vi-khach-hang
Tai lieu---hanh-vi-khach-hangTai lieu---hanh-vi-khach-hang
Tai lieu---hanh-vi-khach-hangkynguyenxam
 
Yếu tố ảnh hưởng đến ý định khởi nghiệp sinh viên Công nghệ thông tin, HAY
Yếu tố ảnh hưởng đến ý định khởi nghiệp sinh viên Công nghệ thông tin, HAYYếu tố ảnh hưởng đến ý định khởi nghiệp sinh viên Công nghệ thông tin, HAY
Yếu tố ảnh hưởng đến ý định khởi nghiệp sinh viên Công nghệ thông tin, HAYViết thuê trọn gói ZALO 0934573149
 
Bao cao tot nghiep
Bao cao tot nghiepBao cao tot nghiep
Bao cao tot nghiepcunghocnao89
 

What's hot (20)

Đề tài: Nghiên cứu hành vi mua sắm trực tuyến của người tiêu dùng, HAY
Đề tài: Nghiên cứu hành vi mua sắm trực tuyến của người tiêu dùng, HAYĐề tài: Nghiên cứu hành vi mua sắm trực tuyến của người tiêu dùng, HAY
Đề tài: Nghiên cứu hành vi mua sắm trực tuyến của người tiêu dùng, HAY
 
CÁC NHÂN TỐ ẢNH HƯỞNG ĐẾN GIÁ TRỊ THƯƠNG HIỆU CÁC DOANH NGHIỆP BÁN LẺ TRÊN ĐỊ...
CÁC NHÂN TỐ ẢNH HƯỞNG ĐẾN GIÁ TRỊ THƯƠNG HIỆU CÁC DOANH NGHIỆP BÁN LẺ TRÊN ĐỊ...CÁC NHÂN TỐ ẢNH HƯỞNG ĐẾN GIÁ TRỊ THƯƠNG HIỆU CÁC DOANH NGHIỆP BÁN LẺ TRÊN ĐỊ...
CÁC NHÂN TỐ ẢNH HƯỞNG ĐẾN GIÁ TRỊ THƯƠNG HIỆU CÁC DOANH NGHIỆP BÁN LẺ TRÊN ĐỊ...
 
Bài giảng phương tiện dạy học
Bài giảng phương tiện dạy họcBài giảng phương tiện dạy học
Bài giảng phương tiện dạy học
 
Luận án: Ngôn ngữ giới trẻ qua phương tiện truyền thông, HAY
Luận án: Ngôn ngữ giới trẻ qua phương tiện truyền thông, HAYLuận án: Ngôn ngữ giới trẻ qua phương tiện truyền thông, HAY
Luận án: Ngôn ngữ giới trẻ qua phương tiện truyền thông, HAY
 
Nghiên cứu tác động của cộng đồng trong việc bảo tồn đa dạng sinh học tại vườ...
Nghiên cứu tác động của cộng đồng trong việc bảo tồn đa dạng sinh học tại vườ...Nghiên cứu tác động của cộng đồng trong việc bảo tồn đa dạng sinh học tại vườ...
Nghiên cứu tác động của cộng đồng trong việc bảo tồn đa dạng sinh học tại vườ...
 
Các yếu tố ảnh hưởng đến động lực làm việc của nhân viên, 9 ĐIỂM!
Các yếu tố ảnh hưởng đến động lực làm việc của nhân viên, 9 ĐIỂM!Các yếu tố ảnh hưởng đến động lực làm việc của nhân viên, 9 ĐIỂM!
Các yếu tố ảnh hưởng đến động lực làm việc của nhân viên, 9 ĐIỂM!
 
Nhân tố ảnh hưởng đến quyết định chọn ngành nghề của học sinh
Nhân tố ảnh hưởng đến quyết định chọn ngành nghề của học sinhNhân tố ảnh hưởng đến quyết định chọn ngành nghề của học sinh
Nhân tố ảnh hưởng đến quyết định chọn ngành nghề của học sinh
 
Thực trạng công tác văn thư, lưu trữ tại trường THPT, CĐ, Đại học!
Thực trạng công tác văn thư, lưu trữ tại trường THPT, CĐ, Đại học!Thực trạng công tác văn thư, lưu trữ tại trường THPT, CĐ, Đại học!
Thực trạng công tác văn thư, lưu trữ tại trường THPT, CĐ, Đại học!
 
Luận văn: Yếu tố ảnh hưởng đến sự hài lòng của người nộp thuế
Luận văn: Yếu tố ảnh hưởng đến sự hài lòng của người nộp thuếLuận văn: Yếu tố ảnh hưởng đến sự hài lòng của người nộp thuế
Luận văn: Yếu tố ảnh hưởng đến sự hài lòng của người nộp thuế
 
Đề tài: Nghiên cứu động cơ sử dụng dịch vụ lưu trú của khách du lịch, 9 ĐIỂM!
Đề tài: Nghiên cứu động cơ sử dụng dịch vụ lưu trú của khách du lịch, 9 ĐIỂM!Đề tài: Nghiên cứu động cơ sử dụng dịch vụ lưu trú của khách du lịch, 9 ĐIỂM!
Đề tài: Nghiên cứu động cơ sử dụng dịch vụ lưu trú của khách du lịch, 9 ĐIỂM!
 
Đề tài: Nghiên cứu nhận thức của người tiêu dùng đối với an toàn thực phẩm tr...
Đề tài: Nghiên cứu nhận thức của người tiêu dùng đối với an toàn thực phẩm tr...Đề tài: Nghiên cứu nhận thức của người tiêu dùng đối với an toàn thực phẩm tr...
Đề tài: Nghiên cứu nhận thức của người tiêu dùng đối với an toàn thực phẩm tr...
 
Báo Cáo Đồ Án Phần Mềm Quản lý chuỗi bất động sản FULL
Báo Cáo Đồ Án Phần Mềm Quản lý chuỗi bất động sản FULLBáo Cáo Đồ Án Phần Mềm Quản lý chuỗi bất động sản FULL
Báo Cáo Đồ Án Phần Mềm Quản lý chuỗi bất động sản FULL
 
Tai lieu---hanh-vi-khach-hang
Tai lieu---hanh-vi-khach-hangTai lieu---hanh-vi-khach-hang
Tai lieu---hanh-vi-khach-hang
 
Yếu tố ảnh hưởng đến ý định khởi nghiệp sinh viên Công nghệ thông tin, HAY
Yếu tố ảnh hưởng đến ý định khởi nghiệp sinh viên Công nghệ thông tin, HAYYếu tố ảnh hưởng đến ý định khởi nghiệp sinh viên Công nghệ thông tin, HAY
Yếu tố ảnh hưởng đến ý định khởi nghiệp sinh viên Công nghệ thông tin, HAY
 
Luận án: Tác động của chính sách hỗ trợ khởi nghiệp đến cơ hội khởi nghiệp
Luận án: Tác động của chính sách hỗ trợ khởi nghiệp đến cơ hội khởi nghiệpLuận án: Tác động của chính sách hỗ trợ khởi nghiệp đến cơ hội khởi nghiệp
Luận án: Tác động của chính sách hỗ trợ khởi nghiệp đến cơ hội khởi nghiệp
 
Đề tài: Hệ thống quản lý ký túc xá đại học, HAY
Đề tài: Hệ thống quản lý ký túc xá đại học, HAYĐề tài: Hệ thống quản lý ký túc xá đại học, HAY
Đề tài: Hệ thống quản lý ký túc xá đại học, HAY
 
Đề tài: Công tác văn thư-lưu trữ tại văn phòng huyện Mỹ Đức, 9đ
Đề tài: Công tác văn thư-lưu trữ tại văn phòng huyện Mỹ Đức, 9đ  Đề tài: Công tác văn thư-lưu trữ tại văn phòng huyện Mỹ Đức, 9đ
Đề tài: Công tác văn thư-lưu trữ tại văn phòng huyện Mỹ Đức, 9đ
 
Bao cao tot nghiep
Bao cao tot nghiepBao cao tot nghiep
Bao cao tot nghiep
 
hoan-thien-cong-tac-danh-gia-ket-qua-lam-viec-va-dao-tao-can-bo-cap-xa-tai-hu...
hoan-thien-cong-tac-danh-gia-ket-qua-lam-viec-va-dao-tao-can-bo-cap-xa-tai-hu...hoan-thien-cong-tac-danh-gia-ket-qua-lam-viec-va-dao-tao-can-bo-cap-xa-tai-hu...
hoan-thien-cong-tac-danh-gia-ket-qua-lam-viec-va-dao-tao-can-bo-cap-xa-tai-hu...
 
Quy trình quản lý chất lượng phần mềm của công ty phần mềm, 9đ
Quy trình quản lý chất lượng phần mềm của công ty phần mềm, 9đQuy trình quản lý chất lượng phần mềm của công ty phần mềm, 9đ
Quy trình quản lý chất lượng phần mềm của công ty phần mềm, 9đ
 

Similar to Ứng dụng android xây dựng hệ thống quản lý chi tiêu cho doanh nghiệp

Hệ thống thông tin kế toán tiền lương tại công ty TAFCO Hà Nội, 9đ - Gửi miễn...
Hệ thống thông tin kế toán tiền lương tại công ty TAFCO Hà Nội, 9đ - Gửi miễn...Hệ thống thông tin kế toán tiền lương tại công ty TAFCO Hà Nội, 9đ - Gửi miễn...
Hệ thống thông tin kế toán tiền lương tại công ty TAFCO Hà Nội, 9đ - Gửi miễn...Dịch vụ viết bài trọn gói ZALO: 0909232620
 
Phân tích thiết kế hệ thống thông tin bán hàng cho công ty phần mềm quản trị ...
Phân tích thiết kế hệ thống thông tin bán hàng cho công ty phần mềm quản trị ...Phân tích thiết kế hệ thống thông tin bán hàng cho công ty phần mềm quản trị ...
Phân tích thiết kế hệ thống thông tin bán hàng cho công ty phần mềm quản trị ...Dịch vụ Làm Luận Văn 0936885877
 
Xây dựng chương trình quản lý các lớp học ngoại ngữ tại một trung tâm đào tạo.
Xây dựng chương trình quản lý các lớp học ngoại ngữ tại một trung tâm đào tạo.Xây dựng chương trình quản lý các lớp học ngoại ngữ tại một trung tâm đào tạo.
Xây dựng chương trình quản lý các lớp học ngoại ngữ tại một trung tâm đào tạo.Dịch vụ viết bài trọn gói ZALO: 0936 885 877
 
Chương trình dạy học từ xa dùng công nghệ http live streaming (hls) trên nền ...
Chương trình dạy học từ xa dùng công nghệ http live streaming (hls) trên nền ...Chương trình dạy học từ xa dùng công nghệ http live streaming (hls) trên nền ...
Chương trình dạy học từ xa dùng công nghệ http live streaming (hls) trên nền ...NOT
 
Chương trình dạy học từ xa dùng công nghệ http live streaming (hls) trên nền ...
Chương trình dạy học từ xa dùng công nghệ http live streaming (hls) trên nền ...Chương trình dạy học từ xa dùng công nghệ http live streaming (hls) trên nền ...
Chương trình dạy học từ xa dùng công nghệ http live streaming (hls) trên nền ...https://www.facebook.com/garmentspace
 
Khóa luận quản trị văn phòng.
Khóa luận quản trị văn phòng.Khóa luận quản trị văn phòng.
Khóa luận quản trị văn phòng.ssuser499fca
 
Xây dựng hệ thống quản lý dự án công ty cp tư vấn việt hà
Xây dựng hệ thống quản lý dự án công ty cp tư vấn việt hà Xây dựng hệ thống quản lý dự án công ty cp tư vấn việt hà
Xây dựng hệ thống quản lý dự án công ty cp tư vấn việt hà Nang Thu
 
Phân tích, thiết kế hệ thống thông tin quản lý nhân sự tại Công ty Du Lịch
Phân tích, thiết kế hệ thống thông tin quản lý nhân sự tại Công ty Du LịchPhân tích, thiết kế hệ thống thông tin quản lý nhân sự tại Công ty Du Lịch
Phân tích, thiết kế hệ thống thông tin quản lý nhân sự tại Công ty Du LịchDịch vụ Làm Luận Văn 0936885877
 
Khóa luận Thực trạng và giải pháp nâng cao hiệu quả công tác quản lý hành chí...
Khóa luận Thực trạng và giải pháp nâng cao hiệu quả công tác quản lý hành chí...Khóa luận Thực trạng và giải pháp nâng cao hiệu quả công tác quản lý hành chí...
Khóa luận Thực trạng và giải pháp nâng cao hiệu quả công tác quản lý hành chí...Thư viện Tài liệu mẫu
 
Luận văn: Thực trạng và giải pháp nâng cao hiệu quả công tác quản lý hành chí...
Luận văn: Thực trạng và giải pháp nâng cao hiệu quả công tác quản lý hành chí...Luận văn: Thực trạng và giải pháp nâng cao hiệu quả công tác quản lý hành chí...
Luận văn: Thực trạng và giải pháp nâng cao hiệu quả công tác quản lý hành chí...Viết thuê trọn gói ZALO 0934573149
 
Đề tài: Đo lường mức độ hài lòng của khách hàng và đại lý về sản phẩm BOLERO
Đề tài: Đo lường mức độ hài lòng của khách hàng và đại lý về sản phẩm BOLEROĐề tài: Đo lường mức độ hài lòng của khách hàng và đại lý về sản phẩm BOLERO
Đề tài: Đo lường mức độ hài lòng của khách hàng và đại lý về sản phẩm BOLERODịch vụ viết bài trọn gói ZALO: 0936 885 877
 
Khóa luận tốt nghiệp Phân tích thiết kế hệ thống thông tin quản lý ký túc xá ...
Khóa luận tốt nghiệp Phân tích thiết kế hệ thống thông tin quản lý ký túc xá ...Khóa luận tốt nghiệp Phân tích thiết kế hệ thống thông tin quản lý ký túc xá ...
Khóa luận tốt nghiệp Phân tích thiết kế hệ thống thông tin quản lý ký túc xá ...Duc Dinh
 
Luận văn: Sử dụng thuật toán Microsoft decision tree trong công tác quản lí n...
Luận văn: Sử dụng thuật toán Microsoft decision tree trong công tác quản lí n...Luận văn: Sử dụng thuật toán Microsoft decision tree trong công tác quản lí n...
Luận văn: Sử dụng thuật toán Microsoft decision tree trong công tác quản lí n...Viết thuê trọn gói ZALO 0934573149
 

Similar to Ứng dụng android xây dựng hệ thống quản lý chi tiêu cho doanh nghiệp (20)

Hệ thống thông tin kế toán tiền lương tại công ty TAFCO Hà Nội, 9đ - Gửi miễn...
Hệ thống thông tin kế toán tiền lương tại công ty TAFCO Hà Nội, 9đ - Gửi miễn...Hệ thống thông tin kế toán tiền lương tại công ty TAFCO Hà Nội, 9đ - Gửi miễn...
Hệ thống thông tin kế toán tiền lương tại công ty TAFCO Hà Nội, 9đ - Gửi miễn...
 
Phân tích thiết kế hệ thống thông tin bán hàng cho công ty phần mềm quản trị ...
Phân tích thiết kế hệ thống thông tin bán hàng cho công ty phần mềm quản trị ...Phân tích thiết kế hệ thống thông tin bán hàng cho công ty phần mềm quản trị ...
Phân tích thiết kế hệ thống thông tin bán hàng cho công ty phần mềm quản trị ...
 
Xây dựng chương trình quản lý các lớp học ngoại ngữ tại một trung tâm đào tạo.
Xây dựng chương trình quản lý các lớp học ngoại ngữ tại một trung tâm đào tạo.Xây dựng chương trình quản lý các lớp học ngoại ngữ tại một trung tâm đào tạo.
Xây dựng chương trình quản lý các lớp học ngoại ngữ tại một trung tâm đào tạo.
 
Luận văn: Hệ thống hỗ trợ học và giải bài tập, HOT
Luận văn: Hệ thống hỗ trợ học và giải bài tập, HOTLuận văn: Hệ thống hỗ trợ học và giải bài tập, HOT
Luận văn: Hệ thống hỗ trợ học và giải bài tập, HOT
 
Chương trình dạy học từ xa dùng công nghệ http live streaming (hls) trên nền ...
Chương trình dạy học từ xa dùng công nghệ http live streaming (hls) trên nền ...Chương trình dạy học từ xa dùng công nghệ http live streaming (hls) trên nền ...
Chương trình dạy học từ xa dùng công nghệ http live streaming (hls) trên nền ...
 
Chuyên đề dạy học từ xa dùng công nghệ live streaming, HOT, ĐIỂM 8
Chuyên đề dạy học từ xa dùng công nghệ live streaming, HOT, ĐIỂM 8Chuyên đề dạy học từ xa dùng công nghệ live streaming, HOT, ĐIỂM 8
Chuyên đề dạy học từ xa dùng công nghệ live streaming, HOT, ĐIỂM 8
 
Chương trình dạy học từ xa dùng công nghệ http live streaming (hls) trên nền ...
Chương trình dạy học từ xa dùng công nghệ http live streaming (hls) trên nền ...Chương trình dạy học từ xa dùng công nghệ http live streaming (hls) trên nền ...
Chương trình dạy học từ xa dùng công nghệ http live streaming (hls) trên nền ...
 
Khóa luận quản trị văn phòng.
Khóa luận quản trị văn phòng.Khóa luận quản trị văn phòng.
Khóa luận quản trị văn phòng.
 
Luận văn: Xây dựng hệ thống quản lý điểm trường phổ thông, HOT
Luận văn: Xây dựng hệ thống quản lý điểm trường phổ thông, HOTLuận văn: Xây dựng hệ thống quản lý điểm trường phổ thông, HOT
Luận văn: Xây dựng hệ thống quản lý điểm trường phổ thông, HOT
 
Luận văn: Khai phá dữ liệu; Phân cụm dữ liệu, HAY
Luận văn: Khai phá dữ liệu; Phân cụm dữ liệu, HAYLuận văn: Khai phá dữ liệu; Phân cụm dữ liệu, HAY
Luận văn: Khai phá dữ liệu; Phân cụm dữ liệu, HAY
 
Đề tài: Kế toán doanh thu bán hàng tại Công ty Thiết bị Y tế, HAY
Đề tài: Kế toán doanh thu bán hàng tại Công ty Thiết bị Y tế, HAYĐề tài: Kế toán doanh thu bán hàng tại Công ty Thiết bị Y tế, HAY
Đề tài: Kế toán doanh thu bán hàng tại Công ty Thiết bị Y tế, HAY
 
Xây dựng hệ thống quản lý dự án công ty cp tư vấn việt hà
Xây dựng hệ thống quản lý dự án công ty cp tư vấn việt hà Xây dựng hệ thống quản lý dự án công ty cp tư vấn việt hà
Xây dựng hệ thống quản lý dự án công ty cp tư vấn việt hà
 
Phân tích, thiết kế hệ thống thông tin quản lý nhân sự tại Công ty Du Lịch
Phân tích, thiết kế hệ thống thông tin quản lý nhân sự tại Công ty Du LịchPhân tích, thiết kế hệ thống thông tin quản lý nhân sự tại Công ty Du Lịch
Phân tích, thiết kế hệ thống thông tin quản lý nhân sự tại Công ty Du Lịch
 
Luận văn: Công tác quản lý hành chính văn phòng tại Công ty, 9đ
Luận văn: Công tác quản lý hành chính văn phòng tại Công ty, 9đLuận văn: Công tác quản lý hành chính văn phòng tại Công ty, 9đ
Luận văn: Công tác quản lý hành chính văn phòng tại Công ty, 9đ
 
Khóa luận Thực trạng và giải pháp nâng cao hiệu quả công tác quản lý hành chí...
Khóa luận Thực trạng và giải pháp nâng cao hiệu quả công tác quản lý hành chí...Khóa luận Thực trạng và giải pháp nâng cao hiệu quả công tác quản lý hành chí...
Khóa luận Thực trạng và giải pháp nâng cao hiệu quả công tác quản lý hành chí...
 
Luận văn: Thực trạng và giải pháp nâng cao hiệu quả công tác quản lý hành chí...
Luận văn: Thực trạng và giải pháp nâng cao hiệu quả công tác quản lý hành chí...Luận văn: Thực trạng và giải pháp nâng cao hiệu quả công tác quản lý hành chí...
Luận văn: Thực trạng và giải pháp nâng cao hiệu quả công tác quản lý hành chí...
 
Đề tài: Chương trình trợ giúp đăng ký và quản lý tour du lịch, HOT
Đề tài: Chương trình trợ giúp đăng ký và quản lý tour du lịch, HOTĐề tài: Chương trình trợ giúp đăng ký và quản lý tour du lịch, HOT
Đề tài: Chương trình trợ giúp đăng ký và quản lý tour du lịch, HOT
 
Đề tài: Đo lường mức độ hài lòng của khách hàng và đại lý về sản phẩm BOLERO
Đề tài: Đo lường mức độ hài lòng của khách hàng và đại lý về sản phẩm BOLEROĐề tài: Đo lường mức độ hài lòng của khách hàng và đại lý về sản phẩm BOLERO
Đề tài: Đo lường mức độ hài lòng của khách hàng và đại lý về sản phẩm BOLERO
 
Khóa luận tốt nghiệp Phân tích thiết kế hệ thống thông tin quản lý ký túc xá ...
Khóa luận tốt nghiệp Phân tích thiết kế hệ thống thông tin quản lý ký túc xá ...Khóa luận tốt nghiệp Phân tích thiết kế hệ thống thông tin quản lý ký túc xá ...
Khóa luận tốt nghiệp Phân tích thiết kế hệ thống thông tin quản lý ký túc xá ...
 
Luận văn: Sử dụng thuật toán Microsoft decision tree trong công tác quản lí n...
Luận văn: Sử dụng thuật toán Microsoft decision tree trong công tác quản lí n...Luận văn: Sử dụng thuật toán Microsoft decision tree trong công tác quản lí n...
Luận văn: Sử dụng thuật toán Microsoft decision tree trong công tác quản lí n...
 

More from nataliej4

đồ áN xây dựng website bán laptop 1129155
đồ áN xây dựng website bán laptop 1129155đồ áN xây dựng website bán laptop 1129155
đồ áN xây dựng website bán laptop 1129155nataliej4
 
Nghệ thuật chiến tranh nhân dân việt nam trong công cuộc xây dựng và bảo vệ t...
Nghệ thuật chiến tranh nhân dân việt nam trong công cuộc xây dựng và bảo vệ t...Nghệ thuật chiến tranh nhân dân việt nam trong công cuộc xây dựng và bảo vệ t...
Nghệ thuật chiến tranh nhân dân việt nam trong công cuộc xây dựng và bảo vệ t...nataliej4
 
Quản lý dịch vụ ô tô toyota 724279
Quản lý dịch vụ ô tô toyota 724279Quản lý dịch vụ ô tô toyota 724279
Quản lý dịch vụ ô tô toyota 724279nataliej4
 
Từ vựng tiếng anh luyện thi thpt quốc gia
Từ vựng tiếng anh luyện thi thpt quốc giaTừ vựng tiếng anh luyện thi thpt quốc gia
Từ vựng tiếng anh luyện thi thpt quốc gianataliej4
 
Công tác dược lâm sàng tại bv cấp cứu trưng vương
Công tác dược lâm sàng tại bv cấp cứu trưng vươngCông tác dược lâm sàng tại bv cấp cứu trưng vương
Công tác dược lâm sàng tại bv cấp cứu trưng vươngnataliej4
 
Bài giảng nghề giám đốc
Bài giảng nghề giám đốcBài giảng nghề giám đốc
Bài giảng nghề giám đốcnataliej4
 
đề Cương chương trình đào tạo trình độ trung cấp kế toán tin học
đề Cương chương trình đào tạo trình độ trung cấp kế toán   tin họcđề Cương chương trình đào tạo trình độ trung cấp kế toán   tin học
đề Cương chương trình đào tạo trình độ trung cấp kế toán tin họcnataliej4
 
Giáo trình kỹ thuật an toàn và bảo hộ lao động
Giáo trình kỹ thuật an toàn và bảo hộ lao độngGiáo trình kỹ thuật an toàn và bảo hộ lao động
Giáo trình kỹ thuật an toàn và bảo hộ lao độngnataliej4
 
Lựa chọn trong điều kiện không chắc chắn
Lựa chọn trong điều kiện không chắc chắnLựa chọn trong điều kiện không chắc chắn
Lựa chọn trong điều kiện không chắc chắnnataliej4
 
Thực trạng phân bố và khai thác khoáng sét ở đồng bằng sông cửu long 4857877
Thực trạng phân bố và khai thác khoáng sét ở đồng bằng sông cửu long 4857877Thực trạng phân bố và khai thác khoáng sét ở đồng bằng sông cửu long 4857877
Thực trạng phân bố và khai thác khoáng sét ở đồng bằng sông cửu long 4857877nataliej4
 
Sổ tay hướng dẫn khách thuê tòa nhà ree tower
Sổ tay hướng dẫn khách thuê   tòa nhà ree towerSổ tay hướng dẫn khách thuê   tòa nhà ree tower
Sổ tay hướng dẫn khách thuê tòa nhà ree towernataliej4
 
Phân tích tác động của thiên lệch hành vi đến quyết định của nhà đầu tư cá nh...
Phân tích tác động của thiên lệch hành vi đến quyết định của nhà đầu tư cá nh...Phân tích tác động của thiên lệch hành vi đến quyết định của nhà đầu tư cá nh...
Phân tích tác động của thiên lệch hành vi đến quyết định của nhà đầu tư cá nh...nataliej4
 
Bài giảng giáo dục hoà nhập trẻ khuyết tật
Bài giảng giáo dục hoà nhập trẻ khuyết tậtBài giảng giáo dục hoà nhập trẻ khuyết tật
Bài giảng giáo dục hoà nhập trẻ khuyết tậtnataliej4
 
đồ áN thiết kế quần âu nam 6838864
đồ áN thiết kế quần âu nam 6838864đồ áN thiết kế quần âu nam 6838864
đồ áN thiết kế quần âu nam 6838864nataliej4
 
Tài liệu hội thảo chuyên đề công tác tuyển sinh – thực trạng và giải pháp 717...
Tài liệu hội thảo chuyên đề công tác tuyển sinh – thực trạng và giải pháp 717...Tài liệu hội thảo chuyên đề công tác tuyển sinh – thực trạng và giải pháp 717...
Tài liệu hội thảo chuyên đề công tác tuyển sinh – thực trạng và giải pháp 717...nataliej4
 
Bài giảng dịch tễ học bệnh nhiễm trùng
Bài giảng dịch tễ học bệnh nhiễm trùngBài giảng dịch tễ học bệnh nhiễm trùng
Bài giảng dịch tễ học bệnh nhiễm trùngnataliej4
 
Bài giảng môn khởi sự kinh doanh
Bài giảng môn khởi sự kinh doanhBài giảng môn khởi sự kinh doanh
Bài giảng môn khởi sự kinh doanhnataliej4
 
Giới thiệu học máy – mô hình naïve bayes learning intro
Giới thiệu học máy – mô hình naïve bayes   learning introGiới thiệu học máy – mô hình naïve bayes   learning intro
Giới thiệu học máy – mô hình naïve bayes learning intronataliej4
 
Lý thuyết thuế chuẩn tắc
Lý thuyết thuế chuẩn tắcLý thuyết thuế chuẩn tắc
Lý thuyết thuế chuẩn tắcnataliej4
 
Bài giảng thuế thu nhập (cá nhân, doanh nghiệp)
Bài giảng thuế thu nhập (cá nhân, doanh nghiệp)Bài giảng thuế thu nhập (cá nhân, doanh nghiệp)
Bài giảng thuế thu nhập (cá nhân, doanh nghiệp)nataliej4
 

More from nataliej4 (20)

đồ áN xây dựng website bán laptop 1129155
đồ áN xây dựng website bán laptop 1129155đồ áN xây dựng website bán laptop 1129155
đồ áN xây dựng website bán laptop 1129155
 
Nghệ thuật chiến tranh nhân dân việt nam trong công cuộc xây dựng và bảo vệ t...
Nghệ thuật chiến tranh nhân dân việt nam trong công cuộc xây dựng và bảo vệ t...Nghệ thuật chiến tranh nhân dân việt nam trong công cuộc xây dựng và bảo vệ t...
Nghệ thuật chiến tranh nhân dân việt nam trong công cuộc xây dựng và bảo vệ t...
 
Quản lý dịch vụ ô tô toyota 724279
Quản lý dịch vụ ô tô toyota 724279Quản lý dịch vụ ô tô toyota 724279
Quản lý dịch vụ ô tô toyota 724279
 
Từ vựng tiếng anh luyện thi thpt quốc gia
Từ vựng tiếng anh luyện thi thpt quốc giaTừ vựng tiếng anh luyện thi thpt quốc gia
Từ vựng tiếng anh luyện thi thpt quốc gia
 
Công tác dược lâm sàng tại bv cấp cứu trưng vương
Công tác dược lâm sàng tại bv cấp cứu trưng vươngCông tác dược lâm sàng tại bv cấp cứu trưng vương
Công tác dược lâm sàng tại bv cấp cứu trưng vương
 
Bài giảng nghề giám đốc
Bài giảng nghề giám đốcBài giảng nghề giám đốc
Bài giảng nghề giám đốc
 
đề Cương chương trình đào tạo trình độ trung cấp kế toán tin học
đề Cương chương trình đào tạo trình độ trung cấp kế toán   tin họcđề Cương chương trình đào tạo trình độ trung cấp kế toán   tin học
đề Cương chương trình đào tạo trình độ trung cấp kế toán tin học
 
Giáo trình kỹ thuật an toàn và bảo hộ lao động
Giáo trình kỹ thuật an toàn và bảo hộ lao độngGiáo trình kỹ thuật an toàn và bảo hộ lao động
Giáo trình kỹ thuật an toàn và bảo hộ lao động
 
Lựa chọn trong điều kiện không chắc chắn
Lựa chọn trong điều kiện không chắc chắnLựa chọn trong điều kiện không chắc chắn
Lựa chọn trong điều kiện không chắc chắn
 
Thực trạng phân bố và khai thác khoáng sét ở đồng bằng sông cửu long 4857877
Thực trạng phân bố và khai thác khoáng sét ở đồng bằng sông cửu long 4857877Thực trạng phân bố và khai thác khoáng sét ở đồng bằng sông cửu long 4857877
Thực trạng phân bố và khai thác khoáng sét ở đồng bằng sông cửu long 4857877
 
Sổ tay hướng dẫn khách thuê tòa nhà ree tower
Sổ tay hướng dẫn khách thuê   tòa nhà ree towerSổ tay hướng dẫn khách thuê   tòa nhà ree tower
Sổ tay hướng dẫn khách thuê tòa nhà ree tower
 
Phân tích tác động của thiên lệch hành vi đến quyết định của nhà đầu tư cá nh...
Phân tích tác động của thiên lệch hành vi đến quyết định của nhà đầu tư cá nh...Phân tích tác động của thiên lệch hành vi đến quyết định của nhà đầu tư cá nh...
Phân tích tác động của thiên lệch hành vi đến quyết định của nhà đầu tư cá nh...
 
Bài giảng giáo dục hoà nhập trẻ khuyết tật
Bài giảng giáo dục hoà nhập trẻ khuyết tậtBài giảng giáo dục hoà nhập trẻ khuyết tật
Bài giảng giáo dục hoà nhập trẻ khuyết tật
 
đồ áN thiết kế quần âu nam 6838864
đồ áN thiết kế quần âu nam 6838864đồ áN thiết kế quần âu nam 6838864
đồ áN thiết kế quần âu nam 6838864
 
Tài liệu hội thảo chuyên đề công tác tuyển sinh – thực trạng và giải pháp 717...
Tài liệu hội thảo chuyên đề công tác tuyển sinh – thực trạng và giải pháp 717...Tài liệu hội thảo chuyên đề công tác tuyển sinh – thực trạng và giải pháp 717...
Tài liệu hội thảo chuyên đề công tác tuyển sinh – thực trạng và giải pháp 717...
 
Bài giảng dịch tễ học bệnh nhiễm trùng
Bài giảng dịch tễ học bệnh nhiễm trùngBài giảng dịch tễ học bệnh nhiễm trùng
Bài giảng dịch tễ học bệnh nhiễm trùng
 
Bài giảng môn khởi sự kinh doanh
Bài giảng môn khởi sự kinh doanhBài giảng môn khởi sự kinh doanh
Bài giảng môn khởi sự kinh doanh
 
Giới thiệu học máy – mô hình naïve bayes learning intro
Giới thiệu học máy – mô hình naïve bayes   learning introGiới thiệu học máy – mô hình naïve bayes   learning intro
Giới thiệu học máy – mô hình naïve bayes learning intro
 
Lý thuyết thuế chuẩn tắc
Lý thuyết thuế chuẩn tắcLý thuyết thuế chuẩn tắc
Lý thuyết thuế chuẩn tắc
 
Bài giảng thuế thu nhập (cá nhân, doanh nghiệp)
Bài giảng thuế thu nhập (cá nhân, doanh nghiệp)Bài giảng thuế thu nhập (cá nhân, doanh nghiệp)
Bài giảng thuế thu nhập (cá nhân, doanh nghiệp)
 

Recently uploaded

30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...hoangtuansinh1
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...Nguyen Thanh Tu Collection
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...Nguyen Thanh Tu Collection
 
Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................TrnHoa46
 
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...ThunTrn734461
 
powerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptxpowerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptxAnAn97022
 
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Nguyen Thanh Tu Collection
 
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líKiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líDr K-OGN
 
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIGIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIĐiện Lạnh Bách Khoa Hà Nội
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdfchuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdfVyTng986513
 
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhvanhathvc
 
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Nguyen Thanh Tu Collection
 
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...Nguyen Thanh Tu Collection
 
sách sinh học đại cương - Textbook.pdf
sách sinh học đại cương   -   Textbook.pdfsách sinh học đại cương   -   Textbook.pdf
sách sinh học đại cương - Textbook.pdfTrnHoa46
 
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfhoangtuansinh1
 

Recently uploaded (20)

30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
 
Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................
 
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
 
powerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptxpowerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptx
 
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
 
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líKiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
 
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIGIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdfchuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
 
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
 
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
 
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
 
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
 
sách sinh học đại cương - Textbook.pdf
sách sinh học đại cương   -   Textbook.pdfsách sinh học đại cương   -   Textbook.pdf
sách sinh học đại cương - Textbook.pdf
 
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
 

Ứng dụng android xây dựng hệ thống quản lý chi tiêu cho doanh nghiệp

  • 1. 1 LỜI CẢM ƠN Để hoàn thành tốt đồ án này, lời đầu tiên em xin cám ơn Ban Giám Hiệu trường Đại Học Công Nghệ Thông Tin & Truyền Thông đã tạo điều kiện cho em được học tập tại trường, và đặc biệt em xin gửi lời cám ơn chân thành nhất đến Thầy ThS. Nguyễn Quang Hiệp giảng viên Trường Công Nghệ Thông Tin & truyền thông đã trang bị cho em những kiến thức chuyên môn, quan tâm và tận tình hướng dẫn, giúp đỡ em hoàn thành một cách tốt nhất trong đợt làm đồ án này. Bên cạnh đó để hoàn thành tốt đồ án này em cũng đã nhận được nhiều sự giúp đỡ những lời động viên quý báu của bạn bè, các anh chị em xin chân thành cảm ơn. Tuy nhiên do thời gian hạn hẹp, cũng như lượng kiến thức còn hạn chế nên bài báo cáo của em sẽ khó tránh khỏi những thiếu sót. Em rất mong nhận được sự thông cảm và sự chỉ bảo tận tình của quý Thầy Cô và các bạn để thực hiện tốt đồ án này. Một lần nữa em xin chân thành cảm ơn.
  • 2. 2 LỜI CAM ĐOAN Đề tài của em được thực hiện trên cơ sở những kiến thức đã tích lũy được trong quá trình học tập, sự giúp đỡ tận tình của thầy cô, bạn bè cùng với một số tài liệu quý báu mà em sưu tầm được cũng như kho tàng tri thức Internet vô tận... Em xin cam đoan không sao chép nguyên bản bất cứ một đồ án tốt nghiệp hay đề tài nghiên cứu khoa học nào của bất kỳ ai. Em cũng xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện đồ án này đã được cảm ơn và các thông tin trích dẫn trong đồ án đã được chỉ rõ nguồn gốc. Nếu sai, em xin hoàn toàn chịu trách nhiệm trước mọi kỷ luật của trường đề ra. Thái Nguyên, ngày 05 tháng 05 năm 2017 Sinh Viên Trần Thị Hồng Tươi
  • 3. 3 MỤC LỤC LỜI CẢM ƠN .........................................................................................................1 LỜI CAM ĐOAN....................................................................................................2 MỤC LỤC ..............................................................................................................3 DANH MỤC HÌNH ẢNH.......................................................................................5 LỜI MỞ ĐẦU.........................................................................................................7 CHƯƠNG 1: CƠ SỞ LÝ THUYẾT ........................................................................8 1.1 Tổng quan về hệ điều hành và lập trình ứng dụng trên android. ....................8 1.1.1 Tổng quan về hệ điều hành android. .......................................................8 1.1.2. Hệ điều hành (HĐH) Android và lập trình ứng dụng. ...........................10 1.1.3. Các thành phần giao diện và control cơ bản trong android....................19 1.1.4 Intent ....................................................................................................24 1.1.5 Định dạng Json.....................................................................................26 1.1.6 AsyncTask............................................................................................29 1.2 Web Service.................................................................................................30 1.2.1 Khái niệm.............................................................................................30 1.2.2 Đặc điểm của Web service....................................................................30 CHƯƠNG 2: KHẢO SÁT VÀ PHÂN TÍCH THIẾT KẾ HỆ THỐNG..................33 2.1 Khảo sát hiện trạng .....................................................................................33 2.1.1 Giới thiệu về đơn vị khảo sát ................................................................33 2.1.2 Khảo sát thực tế bài toán quản lý tài chính tại công ty ..........................34 2.1.3 Nhận xét, đánh giá thực trạng ...............................................................34 2.1.4 Xác định các yêu cầu, chức năng của ứng dụng ....................................35 2.2 Phân tích thiết kế hệ thống..........................................................................37 2.2.1 Danh sách tác nhân...............................................................................37 2.2.2 Các chức năng ......................................................................................37 2.2.3 Biểu đồ UC...........................................................................................38 2.2.4 Chức năng F01 .....................................................................................38 2.2.5 Chức năng F02 .....................................................................................40 2.2.6 Chức năng F03 .....................................................................................42 2.2.7 Chức năng F04 .....................................................................................43
  • 4. 4 2.2.8 Chức năng F05 .....................................................................................46 2.3 Phân tích, thiết kế CSDL.............................................................................49 CHƯƠNG 3: XÂY DỰNG VÀ CÀI ĐẶT CHƯƠNG TRÌNH..............................50 3.1 Công nghệ và công cụ.................................................................................50 3.2 Một số hình ảnh giao diện ứng dụng ...........................................................50 KẾT LUẬN...........................................................................................................61 TÀI LIỆU THAM KHẢO .....................................................................................62
  • 5. 5 DANH MỤC HÌNH ẢNH Hình 1.1: Các phiên bản của Android......................................................................8 Hình 1.2. Cấu trúc của hệ điều hành Android ........................................................10 Hình 1.3. Mô hình Activity Atack .........................................................................16 Hình 1.4 Vòng đời của một Activity......................................................................17 Hình 1.5. Ví dụ về RelativeLayout ........................................................................20 Hình 1.6. Ví dụ về TableLayout ............................................................................21 Hình 1.7: Ví dụ về Button......................................................................................21 Hình 1.8. Ví dụ về RadioButton ............................................................................23 Hình 1.9. Mô hình truyền dữ liệu với Intent...........................................................24 Hình 1.10. Các thuộc tính của một đối tượng Intent...............................................25 Hình 1.11. Các Action được định nghĩa sẵn...........................................................25 Hình 1.12. Cấu trúc một đối tượng Object trong Json............................................27 Hình 1.13. Cấu trúc một đối tượng Array trong Json .............................................27 Hình 1.14. Cấu trúc của Web service.....................................................................31 Hình 2.1: Biểu đồ UC............................................................................................38 Hình 2.2: UC Quản lý nhân viên............................................................................38 Hình 2.3: Biểu đồ hoạt động – Quản lý nhân viên..................................................39 Hình 2.4: Biểu đồ cộng tác – Thêm nhân viên .......................................................39 Hình 2.5: Biểu đồ cộng tác – Sửa thông tin............................................................40 Hình 2.6: UC Quản lý thu chi................................................................................40 Hình 2.7: Biểu đồ hoạt động - Quản lý thu chi.......................................................41 Hình 2.8: Biểu đồ cộng tác – Thêm thu chi............................................................41 Hình 2.9: Biểu đồ cộng tác – Sửa thu chi...............................................................42 Hình 2.10: UC Tìm kiếm.......................................................................................42 Hình 2.11: Biểu đồ hoạt động – Tìm kiếm.............................................................43 Hình 2.12: Biểu đồ cộng tác – Tìm kiếm ...............................................................43 Hình 2.13: UC Quản lý chức vụ ............................................................................44 Hình 2.14: Biểu đồ hoạt động – Quản lý chức vụ...................................................44 Hình 2.15: Biểu đồ cộng tác – Thêm chức vụ ........................................................45 Hình 2.16: Biểu đồ cộng tác – Sửa chức vụ ...........................................................45
  • 6. 6 Hình 2.17: Biểu đồ cộng tác – Xóa chức vụ...........................................................46 Hình 2.18: UC Quản lý khoản mục........................................................................46 Hình 2.19: Biểu đồ hoạt động – Quản lý khoản mục..............................................47 Hình 2.20: Biểu đồ cộng tác – Thêm khoản mục ...................................................48 Hình 2.21: Biểu đồ cộng tác – Sửa khoản mục ......................................................48 Hình 2.22: Biểu đồ cộng tác – Xóa khoản mục......................................................49 Hình 2.23: Cơ sở dữ liệu........................................................................................49 Hình 3.1: Giao diện đăng nhập ..............................................................................50 Hình 3.2: Theo dõi tài chính ..................................................................................51 Hình 3.3: Quản lý tài khoản...................................................................................52 Hình 3.4 Thêm tài khoản .......................................................................................53 Hình 3.5: Quản lý chức vụ.....................................................................................54 Hình 3.6: Quản lý tài chính....................................................................................55 Hình 3.7: Giao diện trả lương................................................................................56 Hình 3.8: Quản lý khoản mục................................................................................57 Hình 3.9: Thêm bản ghi.........................................................................................58 Hình 3.10: Thêm khoản mục .................................................................................59 Hình 3.11: Sửa khoản mục ....................................................................................60
  • 7. 7 LỜI MỞ ĐẦU Trong những năm gần đây, khi nền khoa học công nghệ thông tin đang ngày càng phát triển như vũ bão thì vấn đề quản lí và khai thác dữ liệu đã trở thành một trong những hướng nghiên cứu chính trong lĩnh vực khoa học máy tính và công nghệ tri thức. Lĩnh vực này đã và đang ứng dụng thành công vào rất nhiều các lĩnh vực khác nhau như thương mại, tài chính, thị trường chứng khoán, y học, thiên văn học, sinh học, giáo dục và viễn thông. Không chỉ vậy, vấn đề khai thác dữ liệu và quản lí dữ liệu đang ngày càng trở nên thiết thực hơn đóng vai trò không nhỏ trong cuộc sống. Việc quản lý chi tiêu hiệu quả giữ vị trí vô cùng quan trọng đối với doanh nghiệp, công ty. Để tránh được những thất thoát mang lại sự phát triển hiệu quả bền vững của doanh nghiệp, công ty, sự nể phục của các đối tác về một công ty nghiêm túc và mở thêm nhiều cơ hội hợp tác cho công ty, doanh nghiệp. Vì vậy, cùng với những gợi ý của Thầy Nguyễn Quang Hiệp, em đã chọn đề tài: “Ứng dụng Android xây dựng hệ thống quản lý chi tiêu cho doanh nghiệp”. Trước tiên em xin gửi lời cảm ơn đến thầy Nguyễn Quang Hiệp, là giảng viên hướng dẫn em trong bài đồ án tốt nghiệp này. Cảm ơn thầy đã tạo cho em những điều kiện thuận lợi để em có thể hoàn thành tốt bài luận này. Bên cạnh những kết quả khiêm tốn mà em đạt được, chắc chắn không tránh khỏi những thiếu sót và hạn chế trong nội dung báo cáo và chương trình. Kính mong nhận được những ý kiến đóng góp của các thầy, cô để em có thể hoàn thiện hơn. Em xin chân thành cảm ơn ! Thái Nguyên, ngày tháng 05 năm 2017 Người viết báo cáo Trần Thị Hồng Tươi
  • 8. 8 CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 Tổng quan về hệ điều hành và lập trình ứng dụng trên android. 1.1.1 Tổng quan về hệ điều hành android. a. Lịch sử hình thành. Android hiện đang là hệ điều hành trên di động phổ biến nhất thế giới. Được sáng lập cách đây hơn 10 năm trước bởi 4 nhà phát triển Andy Rubin, Rich Miner, Nick Sears và Chris While. Hiện tại android đang có chỗ đứng vững trong tâm trí người tiêu dùng do lượng ứng dụng nhiều, đa dạng, dễ tùy biến cũng như các tính năng công nghệ đột phá. - Tháng 10/2003: Android Inc được thành lập bởi Andy Rubin, Rich Miner, Nick Sears và Chris While. - Tháng 8/2005: Google mua lại dự án Android do thấy được tiềm năng trong lĩnh vực di động. - Ngày 5/11/2007: Google chính thức ra mắt Android, từ đó đến nay ngày 5/11/2007 trở thành ngày sinh nhật của Android. - Ngày 23/9/2008: Android 1.0 chính thức ra đời. - Ngày 28/10/2008: HTC G1 ra mắt và là smartphone Android đầu tiên. Từ khi thành lập cho đến nay, Thị phần Android trên thị trường điện thoại di động ngày càng tăng lên mạnh mẽ, phần nào chứng tỏ những ưu thế và tính năng vượt trội của nền tảng này. Đồng thời khẳng định những nỗ lực của Android trong việc mang đến cho người tiêu dùng những sản phẩm tốt nhất. a. Quá trình phát triển Dưới đây là hình ảnh các phiên bản của Android trong quá trình phát triển. Hình 1.1: Các phiên bản của Android
  • 9. 9 - Ngày 30/4/2009: Android 1.5 Cupcake ra đời với chợ ứng dụng cùng cải thiện về giao diện. - Ngày 15/9/2009: Android 1.6 Donut ra đời với cải thiện về cảm ứng đa nhiệm, bàn phím ảo, cải thiện dung lượng pin và tính năng nhận diện giọng nói tích hợp. - Ngày 26/10/2009: Android Eclair ra đời với cải thiện về hiệu năng, hỗ trợ HTML 5 cũng như khả năng xử lý đồ họa. - Tháng 5/2010: Android 2.2 Froyo ra mắt với khả năng kết nối Bluetooth, wi-fi Hotspot, bàn phím đa ngôn ngữ, camera và hiệu năng được cải thiện. - Ngày 6/12/2010: Android 2.3 GingerBread ra mắt với giao diện, bàn phím cùng thời lượng pin cải thiện đáng kể, kết nối NFC bắt đầu được hỗ trợ từ phiên bản Android này. - Ngày 22/2/2011: Android 3.0 Honeycomb ra mắt và được thiết kế cho các thiết bị máy tính bảng với hiệu năng cải thiện và đây cũng là phiên bản Android đầu tiên cho phép phần cứng sử dụng chip xử lý đa lõi. - Ngày 19/10/2011, Android 4.0 IC ra mắt, đồng bộ với các thiết bị máy tính bảng và smartphone. Tính năng điều chỉnh kích cỡ Widget, folder ở màn hình chính cùng hàng loạt cải thiện xuất hiện. - Tháng 6/2012: Android 4.1 Jelly Bean ra mắt, cải thiện hiệu năng, tích hợp Google Now cũng như hàng loạt tiện ích giúp người dùng sử dụng hệ điều hành này đơn giản hơn hết. - Ngày 3/11/2014: Google chính thức ra mắt hệ điều hành mới nhất Android Lollipop 5.0. “Android L” đã tích hợp các yếu tố đồ họa đơn giản của ngôn ngữ phẳng với các hiệu ứng điều hướng rất trực quan để tạo ra Material Design vừa đẹp, vừa tiện dụng, hệ thống thông báo dạng thẻ, Project Volta giúp tìm kiếm pin, mã hóa dữ liệu được mặc định trên smartphone, đồ họa đẳng cấp. Các Smartphone trọng tâm: - Năm 2008: HTC Dream - Năm 2010: Samsung Galaxy S - Năm 2011: Motorola Xoom, Samsung Galaxy S2 - Năm 2012: HTC One X, Samsung Galaxy S3, Nexus 7, Nexus 4
  • 10. 10 - Năm 2013: Sony Xperia Z, HTC one, Samsung Galaxy S4. - Năm 2014: Zenphone 5, Samsung Galaxy Note 4, Galxy S5, Nexus 9 1.1.2. Hệ điều hành (HĐH) Android và lập trình ứng dụng. a. Cấu trúc của hệ điều hành. Mô hình sau mô tả tổng quát cấu trúc của HĐH Android. Hình 1.2. Cấu trúc của hệ điều hành Android - Tầng ứng dụng (Applications) Là tầng trên cùng của kiến trúc Android, nằm cách xa với phần cứng nhất, là nơi chứa các ứng dụng của lập trình viên. Hầu hết các ứng dụng được viết bằng ngôn ngữ java. - Tầng 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 và nhiều hơn nữa. Google xây dựng cho các developer để phát triển các ứng dụng của họ trên Android chỉ bằng cách gọi các API. 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: 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….
  • 11. 11 Content Provider: 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 chia sẻ dữ liệu giữa các ứng dụng đó. Resource Manager: Cung cấp truy xuất tới các tài nguyên không phải là mã nguồn, chẳng hạn như: graphics, image, music, video… Notification Manager: Cho phép tất cả các ứng dụng hiển thị thông báo của mình trên hệ điều hành. Activity Manager: Quản lý vòng đời của các ứng dụng và điều hướng các Activity. - Tầng Library Android bao gồm một tập hợp các thư viện C/C++ được sử dụng bởi nhiều thành phần khác nhau trong hệ thống Android. Các thư viện này sẽ được các lập trình viên phát triển ứng dụng Android thông qua tầng Android Framework. Có thể kể đến một vài thư viện quen thuộc như: android.app - Cung cấp truy cập đến các mô hình ứng dụng và là nền tảng của tất cả các ứng dụng Android. android.content - Tạo điều kiện truy cập nội dung, publishing và messaging giữa các ứng dụng và các thành phần ứng dụng. android.database - Được sử dụng để truy cập dữ liệu được công bố bởi các nhà cung cấp nội dung và bao gồm các lớp quản lý cơ sở dữ liệu SQLite. android.graphics - Một bản vẽ đồ họa 2D API cấp thấp bao gồm cả màu sắc, điểm, các bộ lọc, hình chữ nhật và bức tranh sơn dầu. android.hardware - Trình bày một API cung cấp quyền truy cập vào phần cứng như gia tốc và cảm biến ánh sáng. android.opengl - Một giao diện Java với đồ họa OpenGL ES dựng hình 3D API. android.os - Cung cấp các ứng dụng với quyền truy cập vào các dịch vụ hệ điều hành chuẩn bao gồm tin nhắn, các dịch vụ hệ thống và quá trình liên lạc. android.media - Cung cấp các lớp để cho phép phát âm thanh và video. android.net - Một tập các API cung cấp quyền truy cập vào các mạng stack. Bao gồm android.net.wifi, cung cấp truy cập không dây đến ngăn xếp của thiết bị.
  • 12. 12 android.text - Được sử dụng để thao tác văn bản trên màn hình điện thoại. android.util - Một tập các lớp tiện ích cho công việc biểu diễn chuỗi, chuyển đổi số lượng, xử lý XML, ngày tháng, thời gian. android.view - Các khối xây dựng cơ bản của giao diện người dùng của ứng dụng. android.widget - Một bộ sưu tập phong phú của các thành phần giao diện người dùng được xây dựng trước buttons, labels, list views, layout managers, radio buttons, vv. android.webkit - Một tập các lớp nhằm cho phép khả năng duyệt web được xây dựng vào các ứng dụng. - Tầng Android Runtime Đây là phần thứ 2 nằm ở tầng 3 của kiến trúc Android. Phần này cung cấp một thành phần quan trọng được gọi là Dalvik Virtual Machine - một loại máy ảo Java được thiết kế đặc biệt và tối ưu hóa cho Android. Máy ảo Dalvik: Dalvik là máy ảo trong hệ điều hành Android của Google. Nó là một loại JVM được sử dụng trong các thiết bị Android để chạy các ứng dụng và được tối ưu hóa cho sức mạnh xử lý thấp và môi trường bộ nhớ thấp. Đây là phần mềm chạy các ứng dụng trên thiết bị Android. Do đó Dalvik là một phần của Android, thường được sử dụng trên các thiết bị di động như điện thoại di động và máy tính bảng cũng như trên các thiết bị nhúng như TV thông minh và các dòng phương tiện truyền thông. Các chương trình thường được viết bằng Java và biên dịch thành bytecode. Sau đó được chuyển từ tệp tin .class của JVM tương thích sang tệp tin .dex (Dalvik Executable) trước khi cài đặt lên thiết bị. Tệp tin có định dạng Dalvik Exec nhỏ gọn được thiết kế phù hợp với hệ thống đang bị hạn chế về bộ nhớ và tốc độ xử lý. Ngoài ra Android runtime cũng cung cấp một tập các thư viện Core Java: có sự pha trộn của Java SE và Java ME. Tuy nhiên thư viện cung cấp hầu hết các chức năng được xác định trong thư viện Java SE. - Tầng Linux kernel. Là tầng dưới cùng của hệ điều hành Android. Bộ nhân này làm nhiệm vụ như một lớp trung gian kết nối phần cứng thiết bị và phần ứng dụng. Toàn bộ hệ thống
  • 13. 13 Android được xây dựng dựa trên Linux phiên bản 2.6 [2] với một vài thay đổi bởi Google. b. Cấu trúc của một project android. - Thư mục src (viết tắt của source): Nơi chứa các source code ứng dụng. Gồm các package và các class. Các file có đuôi ngầm định là *.java hoặc *.aidl - Thư mục gen (viết tắt của Generated Java File): Nơi chứa các file tự động phát sinh, hay chính là các file .java tạo ra bởi ADT plug-in, như là file R.java hoặc các giao diện tạo ra từ file AIDL. File R.java là một file tự động sinh ra ngay khi tạo ứng dụng, file này được sử dụng để quản lý các thuộc tính được khai báo trong file XML của ứng dụng và các tài nguyên hình ảnh. Mã nguồn của file R.java được tự động sinh khi có bất kì một sự kiện nào xảy ra làm thay đổi các thuộc tính trong ứng dụng. Chẳng hạn như, bạn kéo và thả một file hình ảnh từ bên ngoài vào project thì ngay lập tức thuộc tính đường dẫn đến file đó cũng sẽ được hình thành trong file R.java hoặc xoá một file hình ảnh thì đường dẫn tương ứng đến hình ảnh đó cũng tự động bị xoá. Có thể nói file R.java hoàn toàn không cần phải đụng chạm gì đến trong cả quá trình xây dựng ứng dụng. Dưới đây là nội dung của một file R.java: public static final class drawable { public static final int abc_ab_bottom_solid_dark_holo=0x7f020000; public static final int abc_ab_bottom_solid_light_holo=0x7f020001; public static final int abc_ab_share_pack_holo_light=0x7f020005; public static final int abc_ab_solid_dark_holo=0x7f020006; public static final int abc_ab_solid_light_holo=0x7f020007; public static final int abc_ab_stacked_solid_dark_holo=0x7f020008; public static final int abc_ab_stacked_solid_light_holo=0x7f020009; public static final int abc_ab_transparent_light_holo=0x7f02000d; - Thư mục res (viết tắt của resource-tài nguyên): Nơi chứa các resource dùng trong ứng dụng. Chẳng hạn như file hình ảnh, file layout, các chuỗi (string)…
  • 14. 14 Các thư mục con của res bao gồm: Anim/ : Chứa các file .xml dùng cho việc thiết lập các hiệu ứng động (animation) Color/ : chứa các file .xml dùng định nghĩa màu sắc. Drawable/ : Chứa file hình ảnh (png, jpeg, gif), file .xml định nghĩa cách vẽ các loại hình dạng khác nhau (shape). Layout/ : Chứa các file .xml dùng để dựng giao diện người dùng. Menu/ : Chứa file .xml qui định application menu. Raw/ : Chứa các file media, chẳng hạn như .mp3 hay .ogg Values/ : Chứa file .xml định nghĩa các giá trị. Khác với các resource trong các thư mục khác, resource ở thư mục này khi được định danh trong lớp R thì sẽ không sử dụng file name để định danh, mà sẽ được định danh theo qui định bên trong file .xml đó. - Thư mục assets: Chứa các resource file mà ứng dụng cần dùng (dưới dạng file). - File AndroidManifest.xml: Trong bất kì một project Android nào khi tạo ra đều có một file AndroidManifest.xml, file này được dùng để định nghĩa các screen sử dụng, các permission cũng như các theme cho ứng dụng. Đồng thời nó cũng chứa thông tin về phiên bản SDK cũng như main activity sẽ chạy đầu tiên. File này được tự động sinh ra khi tạo một Android project. Trong file Manifest bao giờ cũng có 3 thành phần chính đó là: application, permission và version. Dưới đây là nội dung của một file AndroidManifest.xml: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="thu.datn.englishstudy" android:versionCode="1" android:versionName="1.0" android:installLocation="preferExternal" > <uses-sdk android:minSdkVersion="11" android:targetSdkVersion="21" /> <uses-permission android:name="android.permission.INTERNET"/> <application
  • 15. 15 android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".ListLessonABCGrammar"></activity> <activity android:name=".MainContentLessonABCGrammar"></activity> </application> </manifest> Application: Thẻ <application>, bên trong thẻ này chứa các thuộc tính được định nghĩa cho ứng dụng android như: android:icon = “drawable resource” -> ở đây đặt đường dẫn đến file icon của ứng dụng khi cài đặt. Ví dụ: android:icon = “@drawable/icon”. android:name =”string” -> thuộc tính này để đặt tên cho ứng dụng android. Tên này sẽ được hiển thị lên màn hình sau khi cài đặt ứng dụng. android:theme = “drawable theme” -> thuộc tính này để đặt theme cho ứng dụng. Các theme là các cách để hiển thị giao diện ứng dụng. Ngoài ra còn nhiều thuộc tính khác…. Permission Bao gồm các thuộc tính chỉ định 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 loại tài nguyên nào đó thì trong file Manifest của ứng dụng cần phải khai báo các quyền truy xuất như sau: <uses-permission android:name="android.permission.INTERNET"/>
  • 16. 16 SDK version Thẻ xác định phiên bản SDK được khai báo như sau: <uses-sdk android:minSdkVersion="11" android:targetSdkVersion="21" /> Ở đây chỉ ra phiên bản SDK nhỏ nhất mà ứng dụng hiện đang sử dụng. c. Vòng đời của một ứng dụng android. - Vòng đời của mỗi thành phần Các thành phần ứng dụng có một vòng đời, tức là mỗi thành phần từ lúc bắt đầu khởi tạo và đến thời điểm kết thúc. Giữa đó, đôi lúc chúng có thể là active hoặc inactive, hoặc là trong trường hợp activies nó có thể visible hoặc invisible. chu kì sống của ứng dụng android active, inactive Start end. visible, invisible - Activity Stack Tương tự như các ngôn ngữ lập trình khác, Activity Stack hoạt động theo cơ chế LIFO (Last In First Out) - cơ chế ngăn xếp. Mỗi một Activity mới được mở lên nó sẽ ở bên trên Activity cũ, để trở về Activity thì chỉ cần nhấn nút “Back” để trở về hoặc viết lệnh. Tuy nhiên nếu nhấn nút “Home” rồi thì sẽ không thể dùng nút “Back” để quay lại màn hình cũ được. Hình 1.3. Mô hình Activity Atack
  • 17. 17 Có hai kiểu để mở Activity mới. Mở Activity mới lên làm che khuất toàn bộ Activity cũ (không nhìn thấy Activity cũ): Sảy ra sự kiện onPause rồi onStop đối với Activity cũ. Mở Activity mới lên làm che khuất một phần Activity cũ (vẫn nhìn thấy Activity cũ): Sảy ra sự kiện onPause với Activity cũ. Khi quay trở về Activity cũ thì sau khi thực hiện xong các hàm cần thiết, chắc chắn nó phải gọi hàm onResume để phục hồi lại trạng thái ứng dụng. Như vậy ta thường lưu lại trạng thái của ứng dụng trong sự kiện onPause và rồi đọc lại trạng thái của ứng dụng trong sự kiện onResume. - Các trạng thái của một vòng đời Hình 1.4 Vòng đời của một Activity Activity bao gồm 4 trạng thái. - Active (running): Activity đang hiển thị trên màn hình (foreground). - Paused: Activity vẫn hiển thị (visible) nhưng không thể tương tác (lost focus). Ví dụ: Một Activity mới xuất hiên hiển thị giao diện đè lên trên Activity cũ, nhưng giao diện này nhỏ hơn giao diện của Activity cũ, do đó ta vẫn thấy được một phần giao diện của Activity cũ nhưng lại không thể tương tác với nó. - Stop: Activity bị thay thế hoàn toàn bởi Activity mới sẽ tiến đến trạng thái Stop.
  • 18. 18 - Killed: Khi hệ thống bị thiếu bộ nhớ, nó sẽ giải phóng các tiến trình theo nguyên tắc ưu tiên. Các Activity ở trạng thái Stop hoặc Paused cũng có thể bị giải phòng và khi nó được hiển thị lại thì các Activity này phải khởi động lại hoàn toàn và phục hồi lại trạng thái trước đó. Giải thích về các phương thức trong vòng đời - onCreate(): Gọi khi Activity được bắt đầu khởi tạo. Đây là nơi thực hiện mọi các khai báo cũng như thiết lập giao diện. Luôn được theo sau bởi phương thức onStart(). - onStart(): Gọi khi Activity “restart” và đã sẵn sàng, nhưng chưa hiện ra với người dùng Được theo sau bởi onResume() nếu Activity đi ra foreground, hoặc onStop() nếu nó ẩn đi. - onResume(): Chỉ được gọi khi Activity bắt đầu tương tác với người dùng. Luôn được theo sau bởi phương thức onPause(). - onPause(): Gọi trước khi Activity bắt đầu vào trạng thái “paused”. Trong phương thức này ta thường sẽ giải phóng bộ nhớ, hoặc dừng các hành động nào đó có thể chiếm dụng nhiều RAM, CPU để cho Activity được kích hoạt tiếp theo làm việc trơn tru. Theo sau bởi phương thức onResume() nếu Activity được kích hoạt lại (quay về foreground) hoặc onStop() nếu nó ẩn đi. - onStop(): Gọi khi Activity không còn được sử dụng nữa. Nó có thể sẽ bị hủy bỏ hoặc có thể sẽ lại được kích hoạt lại từ một Activity khác. Theo sau bởi onRestart() nếu nó được kích hoạt lại, hoặc onDestroy() nếu nó bị hủy bỏ bởi hệ thống. - onDestroy(): Gọi trước khi Activity bị hủy khỏi hệ thống, đây là lời gọi cuối cùng mà Activity có thể thực hiện. Phương thức này có thể được gọi bởi vì ở đâu đó có lời gọi finish() hoặc finishActivity(), cũng có thể vì hệ thống cần phải hủy bỏ để giải phóng bộ nhớ. Không được theo sau bởi phương thức nào. - onRestart(): Gọi khai Activity từ trạng thái Stop khởi động trở lại.
  • 19. 19 Trong một ứng dụng của Android có chứa nhiều thành phần và mỗi thành phần đều có một vòng đời riêng và Android 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. Activity là một thành phần cho phép người dùng giao tiếp với ứng dụng. Tuy nhiên, khi tất cả các Activity kết thúc và người dùng không còn giao tiếp được với ứng dụng nữa nhưng không có nghĩa là ứng dụng đã kết thúc. Bởi vì ngoài Activity là thành phần có khả năng tương tác người dùng thì còn có các thành phần không có khả năng tương tác với người dùng như Service…. Có nghĩa là những thành phần không tương tác người dùng có thể chạy background dưới sự giám sát của hệ điều hành cho đến khi người dùng tự tắt chúng. Thời gian sống của ứng dụng. Bảy phương thức chuyển tiếp định nghĩa trong vòng đời của một Activity. Thời gian sống của một Activity diễn ra giữa lần đầu tiên gọi onCreate() đến trạng thái cuối cùng gọi onDestroy(). Một Activity khởi tạo toàn bộ trạng thái toàn cục trong onCreate(), và giải phóng các tài nguyên đang tồn tại trong onDestroy(). Thời gian hiển thị của Activity Visible lifetime của một activity diễn ra giữa lần gọi một onStart() cho đến khi gọi onStop(). Trong suốt khoảng thời gian này người dùng có thể thấy Activity trên màn hình, có nghĩa là nó không bị foreground hoặc đang tương tác với người dùng. Giữa 2 phương thức người dùng có thể duy trì tài nguyên để hiển thị Activity đến người dùng. 1.1.3. Các thành phần giao diện và control cơ bản trong android a. 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 một kiểu là một hậu duệ của class View và tất cả các kiểu đó được gọi là các Widget. Tất cả mọi widget đều có chung các thuộc tính cơ bản như là cách trình bày vị trí, background, kích thước, lề… Tất cả những thuộc tính chung này được thể hiện hết ở trong đối tượng View. Trong Android Platform, các screen luôn được bố trí theo một kiểu cấu trúc phân cấp như hình dưới. Một screen là một tập hợp các Layout và các widget được bố trí có thứ tự. Để thể hiện một screen thì trong hàm onCreate của mỗi Activity cần
  • 20. 20 phải được gọi một hàm là setContentView(R.layout.main)- hàm này sẽ load giao diện từ file.  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à 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 ràng buộc giữa các thành phần. LinearLayout được trình bày theo 2 cách: Horizontal - nằm ngang hoặc Vertical - thẳng đứng.  RelativeLayout Layout này cho phép bố trí các widget theo một trục đối xứng ngang hay 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 khác. Các ràng buộc này là các ràng buộc trái, phải, trên, dưới so với một widget hoặc so với layout parent. Ví dụ: Xem xét layout được xác định dưới đây. Nút “Cancel” được đặt tương đối, ở bên phải song song với nút “Login”. Hình ảnh minh họa Hình 1.5. Ví dụ về RelativeLayout  TableLayout Layout này được sử dụng khi cần thiết kế một table chứa dữ liệu cần bố trí các widget theo các dòng và cột.
  • 21. 21 Ví dụ như hình vẽ sau: Hình 1.6. Ví dụ về TableLayout b. Các control cơ bản.  Button Button là đối tượng có thể nói là được dùng nhiều nhất trong hầu hết các ứng dụng Android. Để thiết kế giao diện với một Button ta có cách đơn giản như sau: <Button Android:layout_width="wrap_content" Android:layout_height="wrap_content" Android:id="@+id/cmdButton1" Android:text="Touch me!" /> Ví dụ: Hình 1.7: Ví dụ về Button
  • 22. 22  EditText EditText: Là đối tượng ta có thể nhập nội dung cho nó. Có nhiều dạng EditText khác nhau như: Plain text, Person Name, Password, Email, Phone, …. <EditText android:id="@+id/nhap_id_o_day" android:layout_width="wrap_content" android:layout_height="wrap_content" />  TextView TextView có tác dụng là để hiển thị văn bản. <TextView Android:layout_width ="fill_parent" Android:layout_height="wrap_content" Android:text="Hello World! Demo TextView" Android:textColor="#07a931" Android:textSize ="20px" Android:gravity ="center_horizontal" /> Trong đoạn mã trên, android:text="" dùng để ghi đoạn text muốn thể hiện, android:textColor ="" để định dạng màu chữ, android:textSize ="" kích cỡ chữ, android:gravity="" dùng để canh chỉnh cho đoạn text.  RadioButton Radiobutton là một control cho phép ta lựa chọn duy nhất một đối tượng trong cùng một group. Ví dụ: <RadioGroup android:id = “@+id/radioGroup1” android:layout_width =”wrap_content” android:layout_height =”wrap_content”
  • 23. 23 <RadioButton android:id =”@+id/radio1” android:layout_width =”wrap_content” android:layout_height =”wrap_content” android:text =”Male” /> <RadioButton android:id=”@+id/radio2” android:layout_height =”wrap_content” android:layout_width =”wrap_content” android:text =”Female /> </RadioGroup> Hình 1.8. Ví dụ về RadioButton - ListView Được sử dụng để thể hiện một danh sách các thông tin theo từng cell. Mỗi cell thông thường được load lên từ một file XML đã được cố định trên đó số lượng thông tin và loại thông tin cần được thể hiện. Để thể hiện được một list thông tin lên một screen thì cần phải có 3 yếu tố chính: Data Source: Data Source có thể là một ArrayList, HashMap hoặc bất kỳ một cấu trúc dữ liệu kiểu danh sách nào. Adapter: Adapter là một class trung gian giúp ánh xạ dữ liệu trong Data Source vào đúng vị trí hiển thị trong ListView. Chẳng hạn, trong Data Source có
  • 24. 24 một trường name và trong ListView cũng có một TextView để thể hiện trường name này. Tuy nhiên, ListView sẽ không thể hiển thị dữ liệu trong Data Source lên được nếu như Adapter không gán dữ liệu vào cho đối tượng hiển thị. ListView: ListView là đối tượng để hiển thị các thông tin trong Data Source ra một cách trực quan và người dùng có thể thao tác trực tiếp trên đó. - CheckBox Nhận 2 giá trị true hoặc false. Đối tượng CheckBox cho phép chọn nhiều item cùng một lúc. Khai báo: CheckBox cb = new CheckBox(Context …); Ví dụ: <CheckBox android:id="@+id/CheckBox01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Check me" android:checked="true" /> 1.1.4 Intent a. Khái niệm 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 Windows Form. Hình 1.9. Mô hình truyền dữ liệu với Intent
  • 25. 25 b. Dữ liệu của Intent: Intent về cơ bản là một cấu trúc dữ liệu, được mô tả trong lớp android.content.Intent Các thuộc tính của một đối tượng Intent: Hình 1.10. Các thuộc tính của một đối tượng Intent c. Các Action được định nghĩa sẵn: Dưới đây là những hằng String đã được định nghĩa sẵn trong lớp Intent. Đi kèm với nó là các Activity hay Application được xây dựng sẵn sẽ được triệu gọi mỗi khi Intent tương ứng được gửi (tất nhiên khi được cung cấp đúng data). Hình 1.11. Các Action được định nghĩa sẵn d. Tự định nghĩa action: Về nguyên tắc chúng ta có thể đặt tên action của một intent là bất cứ thứ gì theo chuẩn đặt tên thông thường, hay thậm chí dùng luôn hằng action đã định nghĩa sẵn như ACTION_VIEW (hay “Android.intent.action.VIEW”). Cái tên VIEW thực chất chỉ là một tên gợi tả, chúng ta có thể dùng nó với mục đích thực hiện một
  • 26. 26 activity để gửi mail! Tuy nhiên điều đó rõ ràng là rất “ngớ ngẩn”. Thay vào đó ta hãy dùng ACTION_SEND hay ACTION_SENDTO. Việc đặt tên action cho intent đúng tên gợi tả còn có một ý nghĩa khác đó là app của chúng ta có thể được triệu gọi từ một app khác. Ví dụ chúng ta viết một app có activity đáp ứng intent ACTION_SEND và để chia sẻ một bức ảnh lên trang web của chúng ta (giống như ta làm với Facebook, Flickr etc.) Khi đó có thể app của chúng ta sẽ là một lựa chọn chia sẻ ảnh của người dùng điện thoại. e. Sử dụng Intents khởi động cho Activities: Phổ biến nhất trong Intents là việc liên kết dữ liệu giữa các thành phần ứng dụng, Intents được dùng để bắt đầu, dừng lại và chuyển tiếp giữa các Activities trong ứng dụng. Để mở một ứng dụng khác trong một ứng dụng có sẵn thì chúng ta gọi startActivity như sau: startActivity(myIntent); Để theo dõi thông tin phản hồi từ phương thức mở ta sử dụng phương thức : startActivityForResult(Intent) 1.1.5 Định dạng Json Json (JavaScript Object Notation) được định nghĩa dựa theo ngôn ngữ javaScript, tiêu chuẩn ECMA-262 năm 1999, cấu trúc là một định dạng văn bản đơn giản với các trường dữ liệu được lồng vào nhau. Json được sử dụng để trao đổi dữ liệu giữa các thành phần của một hệ thống tương thích với hầu hết các ngôn ngữ C, C++, C#, Java, JavaScript, Perl, Python… Json được xây dựng dựa trên hai cấu trúc chính: Tập hợp cặp giá trị name/values, trong nhiều ngôn ngữ khác nhau cặp giá trị này có thể là object, record, struct, dictionary, hash table, keyed list…
  • 27. 27 Tập hợp danh sách các giá trị, có thể là array, vector, list hay sequence. Và tùy thuộc vào dữ liệu cần trao đổi, Json có thể có nhiều dạng khác nhau, tuy nhiên có thể tổng hợp ở hai dạng chính sau: Một đối tượng Object chứa các cặp giái trị string/values không cần thứ tự, được bao trong cặp “{}”, các cặp giá trị bên trong được định dạng “string:value” và chia cách nhau bởi dấu “,”. Value ở đây có thể là chuỗi, số, true-false, null… có thể xem mô tả cùng ví dụ sau: Hình 1.12. Cấu trúc một đối tượng Object trong Json data: { id_score: "61", id_User: "39", score: "27" } Một đối tượng mảng có bao gồm nhều phần tử con có thứ tự. Các phần từ con được bao trong cặp “[]” và chia cách nhau bởi dấu “,”. Mỗi phần tử con có thể là một giá trị đơn lẻ như: số, chuỗi, true-false, null hoặc một object khác, thậm chí có thể là một mảng. Hình 1.13. Cấu trúc một đối tượng Array trong Json
  • 28. 28 { data: [ { id_question: "50", id_content: "0", id_User: "1", question: "Is Susan ........... home?", question_a: "in", question_b: "at", question_c: "on", question_d: "under", solution: "b", explain: "b" }, { id_question: "51", id_content: "0", id_User: "1", question: ""Do the children go to school every day?" question_a: "Yes, they go", question_b: "Yes, they do.", question_c: "They go", question_d: "No, they don't go.", solution: "b", explain: "b" }, Việc đọc và ghi định dạng JSON được tích hợp sẵn trong Android SDK (nó nằm trong thư viện org.json) hoặc có thể sử dụng thư viện độc lập ở trên mạng để viết cho java thuần túy.
  • 29. 29 JSONObject: Đối tượng quản lý JSON ở dạng một Object. JSONArray: Đối tượng quản lý JSON ở dạng tập hợn các Object hoặc Array. JSONStringer: Đối tượng chuyển dữ liệu JSON thành dạng chuỗi. JSONTokener: Chuyển đổi đối tượng JSON (chuẩn RFC-4627) mã hoá chuỗi một thành đối tượng tương ứng. So với XML, định dạng JSON có một số ưu điểm: Json có độ nén dữ liệu tốt hơn: cùng một dữ liệu, XML tốn nhiều dung lượng hơn để đóng gói, do các thẻ (tag) trong XML có độ dài nhất định. Dung lượng lớn ảnh hưởng xấu đến tốc độ truyền tải cũng như khả năng lưu trữ tài liệu. Xử lý (phân tích) tài liệu XML tốn kém hơn so với JSON cả về bộ nhớ lẫn tài nguyên CPU. 1.1.6 AsyncTask AsyncTask là phương tiện khác để xử lý công việc sử dụng background thread và giao tiếp với UI thread mà không dùng Thread hay Handler Trong AsyncTask<Params, Progress, Result> có 3 đối số là các Generic Type: - Params: Là giá trị ((biến) được truyền vào khi gọi thực thi tiến trình và nó sẽ được truyền vào doInBackground - Progress: Là giá trị (biến) dùng để update giao diện diện lúc tiến trình thực thi, biến này sẽ được truyền vào hàm onProgressUpdate. - Result: Là biến dùng để lưu trữ kết quả trả về sau khi tiến trình thực hiện xong. Những đối số nào không sử dụng trong quá trình thực thi tiến trình thì ta thay bằng Void. Thông thường trong 1 AsyncTask sẽ chứa 4 hàm, đó là : + onPreExecute() : Tự động được gọi đầu tiên khi tiến trình được kích hoạt. + doInBackground(): Được thực thi trong quá trình tiến trình chạy nền, thông qua hàm này để ta gọi hàm onProgressUpdate để cập nhật giao diện (gọi lệnh publishProgress). Ta không thể cập nhật giao diện trong hàm doInBackground(). + onProgressUpdate (): Dùng để cập nhật giao diện lúc runtime
  • 30. 30 + onPostExecute(): Sau khi tiến trình kết thúc thì hàm này sẽ tự động sảy ra. Ta có thể lấy được kết quả trả về sau khi thực hiện tiến trình kết thúc ở đây. Trong 4 hàm trên thì hàm doInBackground() bắt buộc phải tồn tại, còn các hàm khác có thể khuyết. 1.2 Web Service 1.2.1 Khái niệm Theo định nghĩa của W3C (World Wide Web Consortium), Web service là một hệ thống phần mềm được thiết kế để hỗ trợ khả năng tương tác giữa các ứng dụng trên các máy tính khác nhau thông qua mạng Internet, giao diện chung và sự gắn kết của nó được mô tả bằng XML. Web service là tài nguyên phần mềm có thể xác định bằng địa chỉ URL, thực hiện các chức năng và đưa ra các thông tin người dùng yêu cầu. Một Web service được tạo nên bằng cách lấy các chức năng và đóng gói chúng sao cho các ứng dụng khác dễ dàng nhìn thấy và có thể truy cập đến những dịch vụ mà nó thực hiện, đồng thời có thể yêu cầu thông tin từ Web service khác. Nó bao gồm các mô đun độc lập cho hoạt động của khách hàng và doanh nghiệp và bản thân nó được thực thi trên server. 1.2.2 Đặc điểm của Web service a. Đặc điểm: - Web service cho phép client và server tương tác với nhau ngay cả trong những môi trường khác nhau. Ví dụ: đặt web server cho ứng dụng trên một máy chủ chạy hệ điều hành Linux trong khi người dùng sử dụng máy tính chạy hệ điều hành Windows, ứng dụng vẫn có thể chạy và xử lý bình thường. - Phần lớn kỹ thuật của web service được xây dựng dựa trên mã nguồn mở và được phát triển từ các chuẩn đã được công nhận như XML - Một web service bao gồm có nhiều mo-dun và có thể công bố lên mạng internet. - Một ứng dụng khi được triển khai sẽ hoạt động theo mô hình client-server. b. Ưu điểm và nhược điểm  Ưu điểm: - Web service cung cấp khả năng hoạt động rộng lớn với các ứng dụng phần mềm khác nhau chạy trên những nền tảng khác nhau.
  • 31. 31 - Sử dụng các giao thức và chuẩn mở. Giao thức và định dạng dữ liệu dựa trên văn bản, giúp các lập trình viên dễ dàng hiểu được. - Nâng cao khả năng tái sử dụng - Thúc đẩy đầu tư các hệ thống phần mềm đã tồn tại bằng cách cho phép các tiến trình/ chức năng nghiệp vụ đóng gió trong giao diện web service. - Giảm sự phức tạp của hệ thống  Nhược điểm: - Có quá nhiều chuẩn cho web service khiến người dùng khó nắm bắt. - Phải quan tâm nhiều hơn đến vấn đề bảo mật. - Các giao thức được thay đổi và nâng cấp đòi hỏi ứng dụng của client cũng phải được nâng cấp và thay đổi. b. Kiến trúc của Web service Dịch vụ Web gồm có 3 chuẩn chính: SOAP (Simple Object Access Protocol), WSDL (Web Service Description Language) và UDDI (Universal Description, Discovery, and Integration). UDDI được sử dụng để đăng ký và khám phá dịch vụ Web đã được miêu tả cụ thể trong WSDL.Giao tác UDDI sử dụng SOAP để nói chuyện với UDDI server, sau đó các ứng dụng SOAP yêu cầu một dịch vụ Web.Các thông điệp SOAP được gửi đi chính xác bởi HTTP và TCP/IP. Hình 1.14. Cấu trúc của Web service  Có 4 thành phần chính : - Dịch vụ vận chuyển (Service Transport): có nhiệm vụ truyền thông điệp giữa các ứng dụng mạng, bao gồm những giao thức như HTTP, SMTP, FTP, JSM
  • 32. 32 và gần đây nhất là giao thức thay đổi khổi mở rộng (Blocks Extensible Exchange Protocol- BEEP). - Thông điệp XML: có nhiệm vụ giải mã các thông điệp theo định dạng XML để có thể hiểu được ở mức ứng dụng tương tác với người dùng. Hiện tại, những giao thức thực hiện nhiệm vụ này là XML-RPC, SOAP và REST. - Mô tả dịch vụ: được sử dụng để miêu tả các giao diện chung cho một dịch vụ Web cụ thể. WSDL thường được sử dụng cho mục đích này, nó là một ngôn ngữ mô tả giao tiếp và thực thi dựa trên XML.Dịch vụ Web sẽ sử dụng ngôn ngữ này để truyền tham số và các loại dữ liệu cho các thao tác và chức năng mà dịch vụ Web cung cấp. Khám phá dịch vụ: tập trung dịch vụ vào trong một nơi được đăng ký, từ đó giúp một dịch vụ Web có thể dễ dàng khám phá ra những dịch vụ nào đã có trên mạng, tốt hơn trong việc tìm kiếm những dịch vụ khác để tương tác. Một dịch vụ Web cũng phải tiến hành đăng ký để các dịch vụ khác có thể truy cập và giao tiếp. Hiện tại, UDDI API thường được sử dụng để thực hiện công việc này. Tải bản FULL (63 trang): bit.ly/2Ywib4t Dự phòng: fb.com/KhoTaiLieuAZ
  • 33. 33 CHƯƠNG 2: KHẢO SÁT VÀ PHÂN TÍCH THIẾT KẾ HỆ THỐNG 2.1 Khảo sát hiện trạng 2.1.1 Giới thiệu về đơn vị khảo sát  Tên công ty : EXP CO., Ltd  Địa chỉ : Tổ 6, Phường Tân Thịnh, Thành phố Thái Nguyên, Việt Nam  Số điện thoại : 0915 122 722  Lĩnh vực hoạt động : Phát triển ứng dụng web và thiết bị di động  Cơ cấu tổ chức của công ty  Ban giám đốc: Điều hành công ty, quản lý các bộ phận bên dưới, định hướng cho công ty phát triển vững mạnh.  Bộ phận kinh doanh: Tiến hành định giá, tìm hiểu nhu cầu thị trường…  Bộ phận Phát triển: Xây dựng, phát triển các ứng dụng trên web và thiết bị di động  Bộ phận Kiểm thử : Kiểm thử ứng dụng trước khi bán  Bộ phận Bán hàng: Quảng bá, bán sản phẩm của công ty trên các trang web uy tín  Bộ phận Kế toán: Thu thập các hóa đơn mua bán sản phẩm để tiến hành báo cáo tổng kết tình hình tài chính của công ty.  Tổng quan về công ty: EXP Co., Ltd là một công ty chuyên cung cấp dịch vụ phát triển trên web và điện thoại di động. Công ty cũng cung cấp các sản phẩm Wordpress, Joomla và Drupal. Sản phẩm của công ty đã được phê duyệt lần đầu Tải bản FULL (63 trang): bit.ly/2Ywib4t Dự phòng: fb.com/KhoTaiLieuAZ
  • 34. 34 tiên tại Themeforest vào năm 2012. Hiện tại, công ty có hàng trăm sản phẩm có sẵn trên Themeforest, Mojo và các thị trường khác. Và những sản phẩm này phục vụ hơn 20.000 khách hàng với sự hài lòng đến từ khắp nơi trên thế giới, và vẫn đang phát triển. 2.1.2 Khảo sát thực tế bài toán quản lý tài chính tại công ty  Bộ phận Kế toán ghi chép vào sổ sách những khoản thu chi của công ty như doanh thu dự án, tiền lương trả cho nhân viên, các khoản chi tiêu khác . . .  Báo cáo thường xuyên cho ban Giám đốc về tình hình tài chính của công ty để ban Giám đốc nắm bắt được tình hình tài chính công ty và có kế hoạch kinh doanh hợp lý. 2.1.3 Nhận xét, đánh giá thực trạng  Ưu điểm:  Cơ cấu quản lý của công ty chặt chẽ và logic, nếu thực hiện đúng các nguyên tắc của quy trình quản lý thì công việc được tiến hành chính xác đảm bảo yêu cầu.  Bên cạnh đó phương tiện để quản lý là giấy tờ sổ sách nên có thể lấy và xem, tra cứu sửa chữa được tiến hành không cần những điều kiện cầu kỳ như máy móc, trang thiết bị hiện đại…  Nhược điểm:  Việc lưu trữ thông tin tài chính cũng như các thông tin khác trong việc quản lý tài chính đều được tiến hành thủ công bằng sổ sách và các chứng từ với một số lượng lớn, chính vì vậy gây ra nhiều khó khăn cho công tác quản lý, tốn nhiều thời gian và công sức cho nhân viên quản lý với những công việc kiểm tra, tra cứu, kiểm kê phức tạp.  Khi lưu trữ thông tin bằng phương pháp này nếu cần tìm kiếm thì sẽ gặp nhiều khó khăn.Chẳng hạn muốn tìm thông tin một khoản chi cách đây khác lâu thì phải tìm trong sổ sách giấy tờ rất lâu.  Vậy từ đây ta có thể nhận ra con đường quản lý chi tiêu trực tuyến thông qua một ứng dụng trên thiết bị di động sẽ là giải pháp tối ưu cho việc quản lý và phát triển công ty vì nó giải quyết hầu hết các tồn đọng các vấn đề về lưu trữ thông tin. Việc quản lý chi tiêu được cập nhật nhanh chóng hơn hỗ trợ tối đa cho công ty. 4547062