Professional Documents
Culture Documents
2D Two Dimensional
3D Three Dimensional
ADT Android Development Tools
API Application Programming Interface
AVD Android Virtual Device
BSD Berkeley Software Distribution
DBMS Database Management System
IDE Integrated Development Enveronment
JDK Java Development Kit
PFM Personal Financial Management
SDK Software Development Kit
SMS Short Message Services
SOAP Simple Object Access Protocol
XML eXtensible Markup Language
TÓM TẮT
Ngày nay, với sự phát triển bùng nổ củ công nghệ thông tin nhằm phục vụ yêu cầu củ
cuộc sống, nhiều công nghệ mới r đời liên tục nhƣ website, công nghệ di động, điện toán
đám mây Trong số đó thì công nghệ di động ngày càng phát triển vô cùng mạnh mẽ. Có
thể nói công nghệ này sẽ là xu hƣớng trong tƣơng lai trên toàn thế giới.
Một trong số các hệ điều hành di động đ ng thịnh hành hiện n y thì Android đ ng phát
triển với tốc độ rất c o, chiếm thị phần c o về hệ điều hành đƣợc ƣ thích từ phí ngƣời
dùng trên toàn thế giới Chính vì thế ngày càng có nhiều nhà phát triển ứng dụng di động
dành cho Android với hàng ngàn sản phẩm r đời
Nhằm góp phần làm phong phú thêm kho ứng dụng củ Google Pl y cũng nhƣ phục vụ
yêu cầu củ cuộc sống, đề tài “Nghiên cứu lập trình di đ ng v x y d ng ứng d ng u n
l tài chính cá nhân” sẽ giúp cho ngƣời dùng có thể quản lý tài chính với các gi o dịch
thu chi hằng ngày rõ ràng. Từ đó giúp ngƣời dùng có kế hoạch chi tiêu, tiết kiệm cho phù
hợp Đặc biệt ứng dụng sẽ giúp ngƣời dùng sẽ xem lại đƣợc toàn bộ quá trình mình thu
chi thế nào theo thời gi n
Ứng dụng “ u n l tài chính cá nhân” đƣợc xây dựng dành riêng cho hệ điều hành
Android. Ứng dụng này có thể cài đặt ở phiên bản thấp nhất 3 0 và phiên bản c o nhất là
4.4.2 Jelly Bean.
Từ khóa: Android, lập trình di đ ng t i ch nh c nh n .
ABSTRACT
Ngày n y với sự phát triển nh nh chóng củ công nghệ đặc biệt về công nghệ di động
đ ng đƣợc xem là xu hƣớng củ tƣơng l i Di động đã phát triển một cách vƣợt bậc với
nhiều nền tảng phần mềm nổi tiếng nhƣ Symbian, Window Mobile, Window Phone 8,
Android iOS … Trong những nền tảng trên thì Android đ ng phát triển không ngừng và
đƣợc đông đảo các nhà phát triển phần mềm nghiên cứu- xây dựng các ứng dụng Với
hàng trăm nghìn sản phẩm ứng dụng, g me… rất đ dạng đƣợc cộng đồng Android chi
sẻ trên Google Pl y (https://play. google. com/store) cả h i hình thức có phí và miễn phí
Vì s o Android lại đƣợc đông đảo các nhà phát triển phần mềm ƣ chuộng làm việc trên
hệ điều hành này?
Thứ nhất: Sự thân thiện, ngôn ngữ lập trình dự trên J v là chủ yếu. Ngoài ra
Android là một hệ điều hành dạng mở nên tất cả mọi ngƣời có quyền c n thiệp phát
triển sản phẩm mà không cần phải chịu sự ràng buộc nào cả.
Thứ h i: Tuy r đời s u các hệ điều hành khác dành cho di động nhƣng Android có
cộng đồng phát triển rất mạnh
Hằng ngày để quản lý việc thu chi cá nhân, ngƣời dùng thƣờng ít ghi lại để theo dõi hoặc
tổng kết. Ngƣời dùng có thể ghi lại, theo dõi và lên kế hoạch cho chi tiêu để có cách quản
lý hiệu quả hợp lý nhất thông qu n sản phẩm ứng dụng PFM. Lợi ích củ phần mềm giúp
ngƣời dùng quản lí chặt chẽ đƣợc quá trình thu chi hằng ngày theo thời gi n Việc xây
dựng ứng dụng di động nhƣ thế góp phần giải quyết yêu cầu thực tế củ cuộc sống.
Nghiên cứu lập trình di động và xây dựng ứng dụng quản lý tài chính cá nhân là một bƣớc
tiến trong việc nghiên cứu công nghệ mới, nó sẽ góp phần th y thế phƣơng pháp quản lý
thu chi cá nhân trên giấy tờ mất thời gi n và hiệu quả không c o Bên cạnh đó ứng dụng
di động này sẽ giúp cho ngƣời dùng có thể sử dụng một cách hiệu quả và nh nh chóng
nhất ở mọi lúc mọi nơi
Mục tiêu chính củ đề tài này là xây dựng ứng dụng “ u n l t i ch nh cá nhân” để phục
vụ cho ngƣời dùng có một sản phẩm tiện ích trên mobile hoặc trên tablet, giúp ngƣời
dùng có thêm lự chọn những sản phẩm tiện ích cho cuộc sống ngày n y. Thông qua sản
phẩm này giúp quản lý tài chính chặt chẽ, ghi chú lại các gi o dịch hằng ngày củ cá
nhân, thống kê báo cáo cho ngƣời dùng biết thu chi hằng tháng
1
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
Xây dựng ứng dụng “ u n l t i ch nh c nh n” là một đề tài không hoàn toàn mới, đã
có một vài ứng dụng liên qu n tới lĩnh vực này Đây là một đề tài mới mà các luận văn
trƣớc đây chƣ giải quyết ở các khó trƣớc.
Về cơ s thuyết:
Nghiên cứu lịch sử hình thành và phát triển củ các công nghệ lập trình di động
Trên cơ sở đó, lự chọn một hệ điều hành di động yêu thích để phát triển ứng dụng
Cụ thể trong đề tài này sử dụng hệ điều hành Android củ Google để xây dựng ứng
dụng
Nghiên cứu và vận dụng lý thuyết phân tích hệ thống để tìm hiểu xây dựng hệ
thống hiện tại, xây dựng các mô hình thực thể kết hợp, các biểu đồ nhƣ usec se,
ctivity để phục vụ cho đề tài nghiên cứu.
Tìm hiểu các thành phần củ một Android project, cách xây dựng và liên kết các
Activity hoặc Intent trong Android Xử lí sự kiện trong Android thế nào
Tìm hiểu hệ quản trị cơ sở dữ liệu SQLite.
Về chức năng:
Đề tài “Nghiên cứu về lập trình di đ ng v x y d ng ứng d ng u n l tài chính c
nhân” phải đảm bảo các chức năng (một phần củ hƣớng đề tài) sau:
V i Ng i qu n tr Admin :
Tạo mới d nh sách tài sản cần quản lý (tài sản chung, tài sản cá nhân).
Cập nhật thông tin tài sản.
Xó một tài sản bất kì khỏi ứng dụng
Thêm mới, chỉnh sử , xó một gi o dịch thu/chi hằng ngày
Thêm mới, chỉnh sử , xó một sự kiện cho một i đó v y nợ
Thêm mới, chỉnh sử , xó một sự kiện thiếu nợ i đó.
Thêm mới, chỉnh sử , xó khi thêm một kế hoạch chi tiêu hằng ngày
Thêm mới, chỉnh sử , xó khi thêm một kế hoạch tiết kiệm
Cho phép thêm tiền vào một sự kiện tiết kiệm để tích lũy theo thời gi n
2
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
Cho phép rút tiền r từ một quỹ tiết kiệm nào đó để chi tiêu.
Cho phép thêm mới d nh mục gi o dịch thƣờng sử dụng hằng ngày cả thu/chi
Cập nhật mật khẩu
Thêm mới, xó tài khoản ngƣời dùng khác khi th o tác với ứng dụng.
V i Ng i s d ng User :
Xem thông tin d nh sách các tài sản chung.
Xem các gi o dịch thu chi trên các tài sản chung
Xem các khoản cho v y trên các tài sản chung
Xem các khoản nợ trên các tài sản chung
Xem các khoản kế hoạch chi tiêu trên các tài sản chung
Xem các khoản kế hoạch tiết kiệm trên các tài sản chung
Xem các d nh mục gi o dịch trên các tài sản chung
Cập nhật mật khẩu
Về kỹ thuật:
Đảm bảo tính chính xác, kiểm tr toàn vẹn dữ liệu, kiểm trả lỗi phát sinh từ ngƣời
dùng, đảm bảo n toàn dữ liệu, bảo mật
Gi o diện thân thiện với ngƣời dùng
Tốc độ truy xuất dữ liệu nh nh
Chƣơng trình mềm dẻo, dễ mở rộng và phát triển
Hệ quản trị cơ sở dữ liệu SQLite.
Ngôn ngữ lập trình Android.
Một số kỹ thuật hỗ trợ: XML, lập trình hƣớng đối tƣợng J v …
Môi trƣờng cài đặt AVD.
Phát triển ứng dụng chạy trên máy thật
Với Ng ời quản tr d in :
Ngƣời quản trị cần phải đăng nhập vào hệ thống để thực hiện các chức năng quản lý s u:
Quản lý tài khoản ngƣời dùng: thêm tài khoản mới, đổi mật khẩu, quản lý d nh sách
tài khoản, xem thông tin đăng ký củ các ngƣời dùng khác.
Quản lý d nh mục tài sản: thêm, sử , xó một tài sản nào đó Ngoài r có thể
chuyển tiền từ tài sản này s ng tài sản khác nếu đồng nhất về thể loại tiền tệ
3
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
Quản lý gi o dịch: thêm mới, sử , xó bất kì một gi o dịch thuộc chi h y thu
Quản lý khoản cho v y: thêm, sử , xó một khoản v y nào đó
Quản lý khoản mƣợn nợ: thêm, sử , xó một khoản nợ nào đó.
Quản lý kế hoạch chi tiêu: thêm mới, sử , xó một kế hoạch chi tiêu nào đó trong
tháng hoặc bất kì
Quản lý kế hoạch tiết kiệm: thêm mới, sử , xó một kế hoạch chi tiêu nào đó
Quản lý các d nh mục gi o dịch: thêm mới, sử , xó một d nh mục bất kì
Với Ng ời s dụng User :
Ngƣời dùng bình thƣờng đƣợc ngƣời quản trị phân quyền, và cần phải đăng nhập vào ứng
dụng để thực hiện các chức năng:
Xem thông tin các tài sản chung củ gi đình
Xem các gi o dịch thu chi hằng ngày
Xem các khoản cho v y h y khoản mƣợn nợ từ ngƣời khác
Xem kế hoạch mu h y tiết kiệm
Xem các d nh mục gi o dịch củ từng tài sản,
Xem hƣớng dẫn sử dụng
Phân chi thời gi n, công việc hợp lý cho từng quá trình thực hiện đề tài luận văn Lên kế
hoạch và báo cáo tiến độ làm việc từ đó xem xét và điều chỉnh tiến độ cho phù hợp
1.5.1 Lý thuyết
Về mặt cơ sở lý thuyết, với bƣớc đầu tìm hiểu công nghệ di động cần tìm hiểu các yêu
cầu s u để có thể phục vụ việc xây dựng ứng dụng nhƣ s u:
Tìm hiểu yêu cầu thực tiễn, cũng nhƣ làm quen với các ứng dụng di động phổ biến
trên những nền tảng hệ điều hành khác nh u Xem xét, chọn đề tài có tính áp dụng
thực tiễn cho cuộc sống ngày n y.
Tìm các tài liệu giới thiệu về lập trình di động trên nền tảng Android
Xây dựng hệ thống thông tin cho ứng dụng (phân tích và thiết kế hệ thống)
Tìm hiểu các thành phần, cách xây dựng ứng dụng Android: Activity, Android
SDK, AVD, Java- OOP, XML, Intent…
Công cụ để lƣu trữ và truy xuất dữ liệu trên mobile đƣợc dùng phổ biến SQLite
Tìm hiểu thêm về cơ sở dữ liệu SQLite.
Để có thể xác lập môi trƣờng lập trình ứng dụng di động trên Android. Chúng tôi cần có 2
thành phần cơ bản nhất đó là: Android SDK (Software Development Kit) chứ các
phiên bản Android, các hàm API cần thiết cũng nhƣ các công cụ hỗ trợ lập trình khác
và JDK (Java Development Kit) dùng để tạo r môi trƣờng thực thi máy ảo cho hệ điều
hành mà chúng tôi đ ng sử dụng
Tải Android SDK tại đị chỉ http://developer.android.com/sdk/index.html. Khi tải
về Android SDK sẽ có định dạng *.exe trên môi trƣờng Windows và ZIP đối với
Linux và MacOS.
Đối với JDK chúng tôi truy cập vào tr ng http://www.oracle.com/index.html để tải
và cài đặt phiên bản mới nhất để tăng tính ổn định và hỗ trợ tốt nhất
Một công cụ lập trình IDE (Integrated development environment) sẽ rất hữu ích và tiện
lợi Eclipse phiên bản 4 2 1 (Juno – Eclipse Classic) đƣợc xem là một trong những công
cụ hỗ trợ rất tốt trong việc lập trình ứng dụng Android
Để có thể tạo cầu nối cho Eclipse với bộ Android SDK làm việc với nh u, chúng
tôi cần phải sử dụng thêm plugin ADT (Android Development Tool) cho Eclipse.
Công cụ thiết kế hệ thống PowerDesigner 16 củ Syb se dùng để tạo r các mô
hình Usecase, Activity, Sequence, Class …
5
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
Viết báo cáo kết quả thực hiện trong suốt quá trình tìm hiểu nghiên cứu xây dựng ứng
dụng
Đề tài b o gồm ba chƣơng: Chƣơng 1: Tổng Qu n Chƣơng này chủ yếu giới thiệu sơ lƣợc
về đề tài luận văn đƣợc thực hiện, khái quát về toàn bộ quá trình nghiên cứu; Chƣơng 2:
Cơ sở lý thuyết, Chƣơng này trình bày về cơ sở lý thuyết lập trình di động và các thành
phần qu n trọng trong lập trình di động trên hệ điều hành Android; Chƣơng 3: Phân tích
và thiết kế hệ thống, ở chƣơng này trình bày về mô tả đề tài một cách chi tết, các biểu đồ
củ hệ thống, kết quả nghiên cứu đề tài; Kết luận và hƣớng phát triển củ đề tài, Trong
phần này sẽ đánh giá lại ý nghĩ củ đề tài, đƣ r lời khẳng định thông qu kết quả thực
nghiệm, hƣớng mở rộng phát triển đề tài về mặt nội dung và ý nghĩ thực tiễn.
6
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
CHƢƠNG 2: CƠ SỞ LÝ THUYẾT
B n đầu, Android là hệ điều hành dành cho các thiết bị di động có màn hình cảm ứng và
máy tính bảng dự trên lõi Linux do công ty Android Inc (C liforni , Mỹ) thiết kế Công
ty này s u đó đƣợc Google mu lại vào năm 2005 và bắt đầu xây dựng Android Pl tform
Đến năm 2007 Android tuyên bố thành lập “Liên minh thi t cầm tay mở”- một hiệp hội
gồm các công ty phần cứng, phần mềm và viễn thông với mục tiêu đẩy mạnh các tiêu
chuẩn mở cho thiết bị di động Các thành viên chủ chốt tại ở Android Inc gồm có: Andy
Rubin, Rich Miner, Nick Sears and Chris White.
Vào cuối năm 2007, thuộc về Liên minh Thiết bị Cầm tôiy Mã Nguồn mở (Open H ndset
Alli nce) gồm các thành viên nổi bật trong ngành viễn thông và thiết bị cầm tay nhƣ:
Texas Instruments, Google, HTC, Intel, LG,Samsung Electronics, T-Mobile, Sony
Ericsson Toshi a Corp and Vodafone Group …
Mục tiêu củ Liên minh này là nh nh chóng đổi mới để đáp ứng tốt hơn cho nhu cầu
ngƣời tiêu dùng và kết quả đầu tiên củ nó chính là nền tảng Android Android đƣợc thiết
kế để phục vụ nhu cầu củ các nhà sản xuất thiết bị, các nhà kh i thác và các lập trình
viên thiết bị cầm tay.
Phiên bản SDK lần đầu tiên phát hành vào tháng 11 năm 2007, hãng T-Mobile cũng công
bố chiếc điện thoại Android đầu tiên đó là chiếc T-Mobile G1, chiếc sm rt phone đầu tiên
dự trên nền tảng Android Một vài ngày s u đó, Google lại tiếp tục công bố sự r mắt
phiên bản Android SDK rele se C ndid te 1 0 Trong tháng 10 năm 2008, Google đƣợc
cấp giấy phép mã nguồn mở cho Android Platform.
Khi Android đƣợc phát hành thì một trong số các mục tiêu qu n trọng trong kiến trúc củ
nó chính là cho phép các ứng dụng có thể tƣơng tác đƣợc với nh u và có thể sử dụng lại
các thành phần từ những ứng dụng khác Việc tái sử dụng không chỉ đƣợc áp dụng cho
các dịch vụ mà nó c n đƣợc áp dụng cho cả các thành phần dữ liệu, gi o diện ngƣời dùng
Vào cuối năm 2008, Google cho phát hành một thiết bị cầm tay đƣợc gọi là Android Dev
Phone 1 có thể chạy đƣợc các ứng dụng Android mà không bị ràng buộc vào các nhà
cung cấp mạng điện thoại di động Mục tiêu củ thiết bị này là cho phép các nhà phát
triển thực hiện các cuộc thí nghiệm trên một thiết bị thực có thể chạy hệ điều hành
Android mà không phải ký một bản hợp đồng nào Vào khoảng cùng thời gi n đó thì
Google cũng cho phát hành một phiên bản vá lỗi 1 1 củ hệ điều hành này Ở cả h i phiên
bản 1 0 và 1 1 Android chƣ hỗ trợ soft-keybo rd mà đ i hỏi các thiết bị phải sử dụng bàn
7
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
phím vật lý Android cố định vấn đề này bằng cách phát hành SDK 1 5 vào tháng tƣ năm
2009, cùng với một số tính năng khác Chẳng hạn nhƣ nâng c o khả năng ghi âm truyền
thông, vật dụng
MỘT SỐ PHIÊN BẢN CỦ HỆ ĐIỀU HÀNH NDROID
Từ lúc r mắt phiên bản đầu tiên cho tới n y, Android đã có rất nhiều bản nâng cấp đ số
tập trung vào vá lỗi, nâng cấp, thêm các tính năng mới. Android những phiên bản đầu tiên
1.0 (9/2008) và 1.1 (02/2009) chƣ có tên gọi chính thức. Từ những phiên bản tiếp theo,
mỗi phiên bản mới đƣợc đặt với những tên riêng dự theo các món ăn hấp dẫn theo thứ tự
bảng chữ cái “C- D- E- F- G- H- I”. Hiện tại các phiên bản chính củ Android b o gồm:
nhiều ảnh cùng một lúc, nâng cấp Voice Se rch, nâng cấp khả năng tìm kiếm bookm rks,
contôict, history và web trên màn hình chủ, hỗ trợ độ phân giải WVGA.
2.0- 2.1 (Eclair): R mắt vào tháng 10/2009. Phiên bản này có sự cải thiện rõ rệt trong
gi o diện ngƣời dùng, tối ƣu hó tốc độ phần cứng, hỗ trợ nhiều kích cỡ và độ phân giải
màn hình hơn, th y đổi gi o diện duyệt web và hỗ trợ chuẩn HTML5, Exchange
ActiveSync 2.5, nâng cấp Google M p 3.1.2, camera zoom kĩ thuật số tích hợp đèn fl sh,
nâng cấp bàn phím ảo và nâng cấp Bluetooth 2.1
2.2 (Froyo): R mắt vào tháng 05/2010. Phiên bản này chú trọng đến nâng cấp tốc độ xử
lí, hỗ trợ Adobe Fl sh 10.1, giới thiệu engine Chrome V8 J v script, thêm tính năng tạo
điểm truy cập wifi. Hỗ trợ chuyển đổi nh nh chóng giữ các ngôn ngữ và từ điển trên bàn
phím đồng thời cho phép cài đặt và cập nhật ứng dụng ở các thiết bị mở rộng bộ nhớ.
2.3 (Gingerbread): R mắt vào tháng 12/2010. Phiên bản này đã nâng cấp đáng kể giao
diện ngƣời dùng, cải thiện bàn phím ảo, thêm tính năng copy/p ste, hỗ trợ chuẩn video
WebM và nâng c o tính năng copy- paste. Cùng với phiên bản Gingerbre d, Google cũng
r mắt điện thoại đầu tiên củ hãng sử dụng nền tảng này là Google Nexus S.
Hình 2.3: Chức năng cắt dán trên bàn phím và trình duyệt
3.0 (Honeycomb): R mắt vào tháng 02/2011. Phiên bản này dành riêng cho máy tính
bảng tôiblet với gi o diện tối ƣu hó cho tablet, từ các th o tác đều phụ thuộc vào màn
hình cảm ứng (lƣớt web, duyệt em il…. . ). Honeycomb hỗ trợ bộ xử lý đ nhân và xử lý
đồ họ đồng thời hỗ trợ nhiều màn hình home khác nh u, cho phép ngƣời dùng dễ dàng
tùy biến gi o diện nếu muốn. Các phiên bản Android 3.1 và 3.2 s u đó vẫn lấy tên mã là
Honeycomb, bổ sung một số tính năng mới nhƣ khả năng th y đổi kích cỡ widget, hỗ trợ
các thiết bị ngoại vi nhƣ bàn phím và t y cầm chơi g me.
9
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
Số lƣợng máy tính bảng chạy Honeycomb không nhiều nhƣ Motorol Xoom, Asus Eee
Pad Transformer, Samsung Galaxy Tab 10.1 và hầu hết chúng đều đƣợc nâng cấp lên các
phiên bản mới hơn.
4.0 Ice Cream Sandwich (ICS): Là sự kết hợp giữ Gingerbre d và Honeycomb và sẽ
chạy trên tất cả các thiết bị nhƣ điện thoại, máy tính bảng…. Android 4.0 với tên mã Ice
Cre m S ndwich r mắt vào tháng 11/2011 cùng với chiếc G l xy Nexus, là thiết bị thứ
h i Google hợp tác với S msung trong chƣơng trình Nexus. Đây là phiên bản Android
đầu tiên đƣợc thiết kế chung cho cả sm rtphone và máy tính bảng, vì vậy khá nhiều tính
năng mới và các yếu tố thiết kế củ Ice Cre m S ndwich đƣợc kế thừ từ Honeycomb
nhƣ các phím ảo, điều chỉnh kích cỡ widget, chức năng đ tác vụ h y gi o diện 3D.
4.1 Android Jelly Bean: Đƣợc giới thiệu vào tháng 7/2012 tại hội nghị dành cho các nhà
phát triển củ Google (Google I/O), Android 4.1 Jelly Be n là bản nâng cấp bổ sung củ
Ice Cream Sandwich. Phiên bản này không có nhiều th y đổi về gi o diện bên ngoài mà
hầu hết những th y đổi qu n trọng ẩn chứ bên trong hệ điều hành.
Một trong những th y đổi qu n trọng nằm sâu bên trong hệ điều hành là Project Butter mà
theo Google là nó giúp cải thiệu rất nhiều hiệu năng cảm ứng và tốc độ xử lý đồ họ trên
điện thoại và máy tính bảng.
Tính năng mới qu n trọng thứ h i phải kể đến là Google Now cùng với khả năng điều
khiển bằng giọng nói hoạt động không cần kết nối mạng 3G h y WiFi. Tuy vậy, các tính
năng này không đƣợc ngƣời dùng Việt N m qu n tâm do chúng chƣ hỗ trợ tiếng Việt.
4.2 Android Jelly Bean: 4 tháng s u khi r mắt Android 4.1 Google tiếp tục công bố bản
cập nhật Android 4.2 vẫn sử dụng tên mã là Jelly Bean. H i thiết bị đầu tiên đƣợc giới
thiệu cùng với Android 4.2 là chiếc Nexus 4 và máy tính bảng Nexus 10.
Mặc dù chỉ là bản cập nhật nhỏ nhƣng Android 4.2 cũng có một số tính năng mới gồm
chế độ chụp ảnh 3600 PhotoSphere, hỗ trợ nhiều ngƣời dùng, chi sẻ nội dung trên điện
thoại lên các màn hình lớn, điều chỉnh các thiết lập (Wifi, độ sáng màn hình, chế độ máy
b y…) ng y trên th nh thông báo, chức năng D ydre m hiển thị thông tin khi điện thoại ở
chế độ màn hình khó , phóng to thu nhỏ trên Gm il và bàn phím ảo có thêm chức năng gõ
phím bằng cử chỉ giống nhƣ bàn phím Swype.
4.4 Android KitKat: Hiện n y Google đã tung bản Android 4.4 r thị trƣờng. Còn phiên
bản Android 5.0 với tên mã Key Lime Pie dự kiến sẽ là một bản nâng cấp lớn và r mắt
vào năm tới.
10
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
D lvik là máy ảo giúp các ứng dụng j v chạy đƣợc trên các thiết bị động Android. Nó
chạy các ứng dụng đã đƣợc chuyển đổi thành một file thực thi D lvik (dex).
Nó sẽ đƣợc biên dịch s ng các bytecode củ J v , tuy nhiên để thực thi đƣợc ứng dụng
này trên Android thì nhà phát triển phải thực thi một công cụ có tên là dx. Đây là công cụ
dùng để chuyển đổi bytecode s ng một dạng gọi là dex bytecode. "Dex" là từ viết tắt củ
"Dalvik executable" đóng v i tr nhƣ cơ chế ảo thực thi các ứng dụng Android.
Mô hình s u thể hiện một cách tổng quát các thành phần củ hệ điều hành Android. Mỗi
thành phần đƣợc đặc tả chi tiết bên dƣới.
Hệ điều hành Android tích hợp sẵn một số ứng dụng cơ bản nhƣ: em il client, SMS, lịch
điện tử, contacts, browser, Phone và một số ứng dụng khác. Ngoài r tầng này cũng chính
là tầng chứ các ứng dụng.
Tầng này củ hệ điều hành Android cung cấp một nền tảng phát triển ứng dụng mở qu
đó cho phép nhà phát triển ứng dụng có khả năng tạo r các ứng dụng vô cùng sáng tạo và
phong phú. Những nhà phát triển ứng dụng đƣợc tự do sử dụng các tính năng c o cấp củ
thiết bị phần cứng nhƣ: thông tin định vị đị lý, dịch vụ chạy nền, thiết lập đồng hồ báo
thức, thêm notification vào status b r củ màn hình thiết bị…Ngƣời phát triển ứng dụng
đƣợc phép sử dụng đầy đủ bộ API đƣợc dùng trong các ứng dụng tích hợp sẵn củ
Android. Kiến trúc ứng dụng củ Android đƣợc thiết kế nhằm mục đích đơn giản hó việc
tái sử dụng các thành phần (component). Qu đó bất kì ứng dụng nào cũng có thể công bố
các tính năng mà nó muốn chi sẻ cho các ứng dụng khác (Ví dụ: Ứng dụng em il có
muốn các ứng dụng khác có thể sử dụng tính năng gởi m il củ nó). Phƣơng pháp tƣơng
tự cho phép các thành phần có thể đƣợc th y thế bởi ngƣời sử dụng.
Cơ bản tất cả các ứng dụng là một tập các dịch vụ và các thành phần b o gồm:
View System: tập hợp rất nhiều các đối tƣợng View đƣợc dùng để xây dựng ứng
dụng nhƣ: listview, gridview, text box, button, tableview, …và thậm chí là một
trình duyệt web có thể nhúng vào ứng dụng.
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 chi sẽ dữ liệu củ chúng.
Resource Manager: Cung cấp khả năng truy xuất các tài nguyên không phải là mã
nguồn (non-code) nhƣ: loc lized Texts, graphics, layout files.
Notification Manager: Cung cấp khả năng hiển thị custom lerts trên th nh status
bar.
Activity Manager: Giúp quản lý v ng đời củ một ứng dụng và điều hƣớng các
activity.
2.3.3 Library
Android b o 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 nh u trong hệ thống Android. Điều này đƣợc thể hiện thông qu nền tảng ứng dụng
Android. Một số các thƣ viện cơ bản đƣợc liệt kê dƣới đây:
12
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
System C library: một implementation đƣợc xây dựng từ BSD củ bộ thƣ viện hệ
thống C chuẩn (libc) đƣợc điều chỉnh để tối ƣu hó cho các thiết bị chạy trên nền
Linux.
Media Libraries: bộ thƣ viện hỗ trợ trình diễn và ghi các định dạng âm th nh-hình
ảnh phổ biến nhƣ: MPEG4, MP3, AAC, AMR, JPG, và PNG.
Surface Manager: Quản lí hiển thị nội dung 2D và 3D.
LibWebCore: Một web browser engine hiện đại đƣợc sử dụng trong trình duyệt
củ Android.
SGL: Engine hỗ trợ đồ họ 2D.
3D libraries: một implementation đƣợc xây dựng dự trên nền OpenGL ES 1.0
APIs, những thƣ viện này sử dụng các tăng tốc 3D b o gồm cả phần cứng lẫn phần
mềm để tối ƣu hó hiển thị 3D.
FreeType: bitmap and vector font rendering.
SQLite: một DBMS nhỏ gọn và mạnh mẽ.
2.3.4 Android runtime
Android b o gồm một tập hợp các thƣ viện cơ bản mà cung cấp hầu hết các chức năng có
sẵn trong các thƣ viện lõi củ ngôn ngữ lập trình J v . Tất cả các ứng dụng Android đều
chạy trong tiến trình riêng. Máy ảo D lvik đã đƣợc xây dựng để cho các thiết bị di động
có thể chạy nhiều máy ảo hiệu quả Trƣớc khi thực thi, bất kì ứng dụng Android nào cũng
đƣợc convert thành file thực thi với định dạng nén D lvik Executable (.dex). Định dạng
này đƣợc thiết kế để phù hợp với các thiết bị hạn chế về bộ nhớ cũng nhƣ tốc độ xử lý.
Các Virtu l M chine D lvik dự vào nhân Linux cho các chức năng cơ bản nhƣ luồng
(thre d) và quản lý bộ nhớ thấp (low- level memory management).
2.3.5 Linux kernel
Android dự trên Linux phiên bản 2.7 cho hệ thống dịch vụ cốt lõi nhƣ security, memory
management, process management, network stack. Linux Kernel hoạt động nhƣ một lớp
trung gi n kết nối phần cứng và phần mềm ứng dụng.
13
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
Android SDK và Plugin Eclipse đƣợc gọi là một Android Deverloper Tool (ADT). Các
nhà lập trình Android sẽ cần phải sử dụng công cụ IDE (Integr ted Development
Environment) này để phát triển, debugging và testing cho ứng dụng. Tuy nhiên, các lập
trình viên cũng có thể không cần phải sử dụng IDE mà th y vào đó là sử dụng comm nd
line để biên dịch và tất nhiên là vẫn có Emul tor nhƣ thƣờng.
Android Emul tor đƣợc tr ng bị đầy đủ hầu hết các tính năng củ một thiết bị thật. Tuy
nhiên, một số đã bị giới hạn nhƣ là kết nối qu cổng USB, camera và video, nghe phone,
nguồn điện giả lập và bluetooth.
Trong bất kì một project Android nào khi tạo r đều có một file AndroidManifest. xml, file
này đƣợc dùng để định nghĩ các screen sử dụng, các (quyền) permission cũng nhƣ các
themes cho ứng dụng. Đồng thời nó cũng chứ 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 r khi tạo một Android project. Trong file m nifest b o giờ
cũng có 3 thành phần chính đó là: pplic tion, permission và version.
Dƣới đây là nội dung củ một file AndroidManifest. xml:
<?xml version="1. 0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas. android. com/apk/res/android"
package="com. pack1. app"
android:versionCode="1"
android:versionName="1. 0" >
<uses-sdk
android:minSdkVersion="7"
android:tôirgetSdkVersion="19" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@Text/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com. pack1. app. MainActivity"
android:label="@Text/app_name" >
<intent-filter>
<action android:name="android. intent. action. MAIN" />
15
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
16
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
Activity: hiểu một cách đơn giản thì Activity là nền củ một ứng dụng. Khi khởi
động một ứng dụng Android nào đó thì b o giờ cũng có một m in Activity đƣợc
gọi, hiển thị màn hình gi o diện củ ứng dụng cho phép ngƣời dùng tƣơng tác.
Service: thành phần chạy ẩn trong Android. Service sử dụng để upd te dữ liệu, đƣ
r các cảnh báo (Notific tion) và không b o giờ hiển thị cho ngƣời dùng thấy.
Content Provider: kho dữ liệu chi sẻ. Content Provider đƣợc sử dụng để quản lý
và chi sẻ dữ liệu giữ các ứng dụng.
Intent: nền tảng để truyền tải các thông báo. Intent đƣợc sử dụng để gửi các thông
báo đi nhằm khởi tạo một Activity h y Service để thực hiện công việc bạn mong
muốn. Ví dụ: khi mở một tr ng web, bạn gửi một intent đi để tạo một ctivity mới
hiển thị tr ng web đó.
Broadcast Receiver: thành phần thu nhận các Intent bên ngoài gửi tới. Ví dụ: bạn
viết một chƣơng trình th y thế cho phần gọi điện mặc định củ Android, khi đó bạn
cần một Bro dc st Receiver để nhận biết các Intent là các cuộc gọi tới.
Notification: đƣ r các cảnh báo mà không làm cho các Activity phải ngừng hoạt
động.
Activity, Service, Bro dc st Receiver và Content Provider mới là những thành phần chính
cấu thành nên ứng dụng Android, bắt buộc phải kh i báo trong AndroidM nifest.
Vòng đời của ột ứng dụng ndroid
Android có cơ chế quản lý các tiến trình (process) theo chế độ ƣu tiên. Các process có
quyền ƣu tiên (priority) thấp sẽ bị Android giải phóng mà không hề cảnh báo trƣớc nhằm
đảm bảo tài nguyên
Foreground process: là tiến trình củ ứng dụng hiện thời đ ng đƣợc ngƣời dùng
tƣơng tác.
Visible process: là tiến trình củ ứng dụng mà ctivity đ ng hiển thị đối với ngƣời
dùng (onPaused ( ) củ ctivity đƣợc gọi).
Service process: là Service đ ng chạy.
Background process: là tiến trình củ ứng dụng mà các ctivity củ nó không hiển
thị với ngƣời dùng (onStop ( ) củ ctivity đƣợc gọi).
Empty process: tiến trình không có bất cứ một thành phần nào ctive.
Theo chế độ ƣu tiên thì khi cần tài nguyên, Android sẽ tự động kill process, trƣớc
tiên là các empty process.
17
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
Các thành phần ứng dụng có một chu kỳ sống, 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ữ đó, đôi lúc chúng có thể là kích hoạt ( ctive) hoặc
không kích hoạt (inactive), hoặc là trong trƣờng hợp kích hoạt (activites) nó có thể là hiển
thị(visible) hoặc không hiển thị (invisible).
Bên trong hệ thống các ctivity đƣợc quản lý nhƣ một ctivity stack. Khi một Activity
mới đƣợc start, nó đƣợc đặt ở đỉnh củ stack và trở thành ctivity đ ng chạy ctivity trƣớc
sẽ ở bên dƣới ctivity mới và sẽ không thấy trong suốt quá trình ctivity mới tồn tại. Nếu
ngƣời dùng nhấn nút B ck thì ctivity kết tiếp củ stack sẽ di chuyển lên và trở thành
active.
Nếu một Activity đƣợc tạm dừng hoặc dừng hẳn, hệ thống có thể bỏ thông tin khác củ
nó từ vùng nhớ bởi việc finish( ) (gọi hàm finish ( ) củ nó), hoặc đơn giản kết thúc tiến
trình củ nó. Khi nó đƣợc hiển thị lần nữ với ngƣời dùng, nó phải đƣợc hoàn toàn restart
là phục hồi lại trạng thái trƣớc. Khi một Activity chuyển qu chuyển lại giữ các trạng
thái, nó phải báo việc chuyển củ nó bằng việc gọi hàm tr nsition.
Các phƣơng thức (trên hình 2.10) chuyển tiếp định nghĩ trong chu kỳ sống củ một
Activity. Thời gi n sống củ một Activity diễn r giữ 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 đ ng tồn tại trong onDestroy( ).
Thời gi n hiển thị củ một ctivity diễn r giữ lần gọi một onStart( ) cho đến khi gọi
onStop( ). Trong suốt khoảng thời gi n này ngƣời dùng có thể thấy ctivity trên màn hình,
có nghĩ là nó không bị foreground hoặc đ ng tƣơng tác với ngƣời dùng. Giữ h i phƣơng
thức ngƣời dùng có thể duy trì tài nguyên để hiển thị ctivity đến ngƣời dùng.
Phƣơng thức này gửi qu một đối tƣợng Bundle chứ đựng từ trạng thái trƣớc củ
Activity.
Luôn theo s u bởi onStart( ).
Ph ơng thức: onStart( )
Đƣợc gọi trƣớc khi một ctivity visible với ngƣời dùng.
Theo s u bởi onResume( ) nếu ctivity đến trạng thái foreground hoặc onStop( )
nếu nó trở nên ẩn.
Ph ơng thức: onRestart( )
Đƣợc gọi s u khi ctivity đã đƣợc dừng, chỉ một khoảng đ ng khởi động lần nữ
(stôired again).
Luôn theo s u bởi onStart( ).
Ph ơng thức: onResu e )
Đƣợc gọi trƣớc khi ctivity bắt đầu tƣơng tác với ngƣời dùng.
Tại thời điểm này ctivity ở trên đỉnh củ stack activity.
Luôn theo s u bởi onP use( ).
Ph ơng thức: onPause )
Đƣợc gọi khi hệ thống đ ng resuming ctivity khác.
Phƣơng thức này là điển hình việc giữ lại không đổi dữ liệu.
Nó nên đƣợc diễn r một cách nh nh chóng bởi vì ctivity kế tiếp sẽ không đƣợc
resumed ng y cho đến khi nó trở lại.
Theo s u bởi onResume ( ) nếu ctivity trở về từ ở trƣớc, hoặc bởi onStop ( ) nếu
nó trở nên visible với ngƣời dùng.
Trạng thái củ ctivity có thể bị vô hiệu hó bởi hệ thống.
Ph ơng thức: onStop )
Đƣợc gọi khi ctivity không thuộc tầm nhìn củ ngƣời dùng.
Nó có thể diễn r bởi vì nó đ ng bị hủy, hoặc bởi vì ctivity khác vừ đƣợc resume
và b o phủ nó.
Đƣợc theo s u bởi onRestart ( ) nếu ctivity đ ng trở lại để tƣơng tác với ngƣời
dùng, hoặc onDestroy ( ) nếu ctivity đ ng bỏ.
Trạng thái củ ctivity có thể bị vô hiệu hó bởi hệ thống.
21
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
2.8.1 View
Trong một ứng dụng Android, gi o 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ệ
(descend nt) củ cl ss 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 màn hình (screen) là một tập hợp các L yout và các widget đƣợc bố trí có
thứ tự. Để thể hiện một screen thì trong hàm onCre te củ mỗi Activity cần phải đƣợc gọi
một hàm là setContentView (R.layout.main). Hàm này sẽ lo d gi o diện từ file XML lên
để phân tích thành mã bytecode.
2.8.2 Viewgroup
ViewGroup thực r chính là các view h y chính xác là các widget L yout đƣợc dùng để
bố trí các đối tƣợng khác trong một screen. Có một số loại ViewGroup s u:
Line rL yout đƣợc dùng để bố trí các thành phần gi o diện theo chiều ng ng hoặc chiều
dọc nhƣng trên một d ng duy nhất.
Line rL yout làm cho các thành phần trong nó không bị phụ thuộc vào kích thƣớc củ
màn hình. Các thành phần trong Line rL yout đƣợc dàn theo những tỷ lệ cân xứng dự
vào các ràng buộc giữ các thành phần.
2.8.2.2 TableLayout
L yout này đƣợc sử dụng khi cần thiết kế một bảng chứ dữ liệu hoặc cần bố trí các
widget theo các d ng và cột. Chẳng hạn nhƣ, gi o diện củ một chiếc máy tính đơn giản
hoặc một d nh sách dữ liệu.
Fr meL yout đƣợc dùng để bố trí các đối tƣợng theo kiểu giống nhƣ là các L yer trong
Photoshop. Những đối tƣợng nào thuộc L yer bên dƣới thì sẽ bị che khuất bởi các đối
tƣợng thuộc L yer nằm trên. Fr meL yout thƣờng đƣợc sử dụng khi muốn tạo r các đối
tƣợng có khung hình bên ngoài chẳng hạn nhƣ contôict image button.
23
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
Rel tive L yout đƣợc dùng để bố trí các đối tƣợng con với các vị trí tƣơng đối. Vị trí củ
View có thể đƣợc xác định so với các view khác hoặc với thành phần ch củ chúng. Có
thể sắp xếp View s ng bên phải, bên trái h y bên dƣới một View khác, giữ màn hình,
etc…Để định nghĩ vị trí cho các View con cần sử dụng nhiều thuộc tính có sẵn từ
Relative Layout. LayoutParams
2.8.2.5 ScrollView
ScrollView là một kiểu đặc biệt củ Fr meL yout, cho phép ngƣời dùng có thể cuộn
thông qua listView. ScrollView chỉ có thể chứ duy nhất một đối tƣợng View con hoặc
View Group. Tất cả các đối tƣợng này sẽ nằm trong Line r L yout.
2.8.3.1 TextView
TextView ngoài tác dụng là để hiển thị văn bản thì nó c n cho phép định dạng nội dung.
Nội dung TextView cũng có thể đƣợc định dạng ng y trong XML
<TextView android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="T i kho n : " />
Với Edit Text ngƣời dùng sẽ đƣợc phép nhập thông tin thông qu nó. Từ đó chƣơng trình
xử lý theo yêu cầu Trong Android đối tƣợng EditText đƣợc sử dụng nhƣ một TextField
hoặc một TextBox.
<EditText
android:id="@+id/txtMk"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="12"
android:inputType="text ật kh u"
android:singleLine="true" />
Các thuộc tính cần chú ý sử dụng EditText đó là: android:inputType = “…” sử dụng để
xác định phƣơng thức nhập cho EditText. Chẳng hạn nhƣ khi bạn muốn một ô để nhập
mật khẩu h y một ô để nhập Em il thì thuộc tính này sẽ làm điều đó. android:singleLine
= “true” EditText củ bạn sẽ trở thành một TextField, ngƣợc lại sẽ là TextBox.
2.8.3.3 Button
Sở dĩ widget button đƣợc giới thiệu đầu tiên trong số các widget khác là vì đây 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ế
gi o diện với một button tôi có hai cách nhƣ s u:
25
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
26
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
Cũng tƣơng tự nhƣ Button, ImageButton chỉ có thêm một thuộc tính android:src =
“@drawa le/icon” để thêm hình ảnh vào và không có thẻ text
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/btnSave"
android:src="@drawable/icon"
android:onClick=" save_category"/>
ContextMenu đƣợc sử dụng để hiển thị các tuỳ chọn khi ngƣời dùng nhấn dài vào một
cell nào đó trong ListView. Để tạo một ContextMenu tôi cũng có h i cách giống nhƣ tạo
MenuOptions ở trên chỉ khác tên phƣơng thức. Khi nhấn dài vào một ô trong ListView thì
phƣơng thức:
@Override
public void onCreateContextMenu(ContextMenumenu, View v, ContextMenuInfo info) {
super. onCreateContextMenu(menu, v, info);
getactivity(). getMenuInflater(). inflate(R. menu. context_menu_taisan,
menu);
}
sẽ đƣợc gọi và truyền vào 3 th m số là:
ContextMenu: đối tƣợng để dd các context menu item
View: Đối tƣợng nơi mà xảy r sự kiện
ContextMenuInfo: Cho biết vị trí xảy r sự kiện trong ListView.
@Override
public boolean onContextItemSelected(MenuItem item) {
final AdapterContextMenuInfo info = (AdapterContextMenuInfo) item
. getMenuInfo();
final int position = info. position;
switch (item. getItemId()) {
case R. id. TaiSan_Edit:
if (Login_System. maUser == 1) {
27
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
2.8.4.1 ListView
Đƣợc sử dụng để thể hiện một d nh sách các thông tin theo từng ô. Mỗi ô thông thƣờng
đƣợc lo d 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 d nh sách 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, H shM p hoặc bất kỳ một cấu
trúc dữ liệu kiểu d nh sách nào.
Adapter: Ad pter là một cl ss trung gi n giúp ánh xạ dữ liệu trong D ta Source vào
đúng vị trí hiển thị trong ListView. Chẳng hạn, trong Data Source có một trƣờng
name và trong ListView cũng có một TextView để thể hiện trƣờng tên này. Tuy
nhiên, ListView sẽ không thể hiển thị dữ liệu trong D ta Source lên đƣợc nếu nhƣ
Ad pter 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 D ta Source r một
cách trực qu n và ngƣời dùng có thể th o tác trực tiếp trên đó.
Picker View có hai loại thƣờng dùng phổ biến khi tƣơng tác trên các ứng dụng di động:
TimePicker và DatePicker.
TimePicker: cho phép ngƣời dùng chọn thời gi n trong ngày.
30
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
2.8.5.1 Activity
Activity là một thành chính củ một ứng dụng Android, đƣợc dùng để hiển thị một màn
hình và nắm bắt các hoạt động xảy r trên màn hình đó. Khi làm việc với Activity cần
nắm bắt đƣợc một số kiến thức cơ bản nhƣ s u:
Chu kỳ sống củ một Activity (Xem chu kỳ ứng dụng củ Android mục 2.7)
Tạo menu và di log
Khởi động một Activity
Để khởi động một Activity tôi sử dụng Intent sẽ tìm hiểu kỹ hơn ở phần (2.8.5.2). Tuy
nhiên, trong phần này tôi sẽ hƣớng dẫn cách chuyển giữ các Intent theo hai loại:
Kh i báo không tƣờng minh:
Cung cấp chính xác thông tin củ ctivity cần gọi bằng cách truyền vào tên cl ss củ
Activity đó. Ví dụ: Từ Activity A muốn chuyển qu Activity B tôi kh i báo một Intent
trong Activity A:
Intend intend = new Intend(this, B. class);
startactivity(intend);
Kh i báo không tƣờng minh
Cung cấp các th o tác cần làm gì với loại dữ liệu nào, hệ thống sẽ tìm đến ctivity tƣơng
ứng để khởi động. Ví dụ: Để xem thông tin một contôict nào đó trong Activity củ ứng
dụng Contact trong Android tôi chỉ đến dữ liệu contact và chỉ đến Activity View contact
nhƣ s u:
Intent i = new Intent();
i. setaction(Intent. ACTION_VIEW);
i. setData(Uri. withAppendedPath(
android. provider. Contacts. People. CONTENT_URI, "1));
startactivity(i);
Tính liên lạc giữ 2 ctivity
Khi chuyển s ng một Activity khác tôi có thể gửi kèm dữ liệu trong intent đó nhƣ s u:
intent = new Intent(getôictivity(), List_TSFragment_Edit. class);
Bundle bundle = new Bundle();
bundle. putInt("KEY", 1);
31
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
2.8.5.2 Intent
Intent về cơ bản là một cấu trúc dữ liệu, đƣợc mô tả trong lớp ndroid. content. Intent.
Các thuộc tính củ một đối tƣợng Intent:
Bảng 2. 1: Các thuộc tính củ Intent
Thuộc tính chính Thuộc tính phụ
Action Category
Thông tin về nhóm củ ction
Tên (String) củ ction mà Intent sẽ
Type
yêu cầu thực hiện.
Định dạng kiểu dữ liệu (chuẩn
Có thể là ction đƣợc Android định MIME).
nghĩ sẵn (built- in standard action)
Thƣờng đƣợc tự động xác định
hoặc do ngƣời lập trình định nghĩ .
Data Component
Dữ liệu mà Activity đƣợc gọi sẽ xử Chỉ định cụ thể lớp sẽ thực thi
lý. Activity
Định dạng Uri (thông qu hàm Uri. Khi đƣợc xác định, các thuộc tính
parse(data)) khác trở thành không bắt buộc
(optional)
Extras
Chứ tất cả các cặp (key v lue) do ứng
dụng thêm vào để truyền qu Intent (cấu
trúc Bundle)
http://developer. android. com/reference/android/content/Intent. Html
Các ction đ ợc đ nh nghĩa sẵn:
Dƣới đây là những hằng String đã đƣợc định nghĩ sẵn trong lớp Intent. Đi kèm với nó là
các Activity h y Applic tion đƣợ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).
Ví dụ: Gọi tới một số điện thoại:
Intent dialIntent = new Intent(Intent. ACTION_DIAL, Uri. parse("tel:123456"));
startactivity(dialIntent);
SQLite là một dạng CSDL tƣơng tự nhƣ Mysql, PostgreSQL. . . Đặc điểm củ SQLite là
gọn, nhẹ, đơn giản. Chƣơng trình gồm một file duy nhất vỏn vẹn chƣ đến 500kB, không
cần cài đặt, không cần cấu hình h y khởi động mà có thể sử dụng ng y. Dữ liệu d tabase
33
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
cũng đƣợc lƣu ở một file duy nhất. Không có khái niệm user, mật khẩu h y quyền hạn
trong SQLite database.
SQLite không thích hợp với những hệ thống lớn nhƣng ở quy mô vừ tầm thì SQLite phát
huy uy lực và không hề yếu kém về mặt chức năng h y tốc độ. Với các đặc điểm trên
SQLite đƣợc sử dụng nhiều trong việc phát triển, thử nghiệm… và là sự lƣ chọn phù
hợp cho những ngƣời bắt đầu học d tabase. Hiện n y thì SQLite đã đƣợc ứng dụng vào
sm rtphone nhƣ iPhone và Android để lƣu trữ dữ liệu. Để có thể dễ dàng th o tác với
SQLite chúng tôi có thể sử dụng trình duyệt FireFox và tải về plugin SQLite tại link
sau:https://code. google. com/p/sqlite-manager/
S u khi tải về file xpi, kéo file này vào cử sổ firefox để cài đặt plugin.
S u khi cài đặt plugin xong thì vào Menu_tools trong firefox sẽ có chức năng SQLite
Manager. Gi o diện củ SQLite m n ger trong firefox nhƣ s u:
34
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
3.1 MÔ TẢ HỆ THỐNG
Ngƣời dùng sẽ quản lý thông tin các tài sản hiện có củ bản thân với h i hình thức: tài sản
chung và tài sản riêng. Các tài sản phân biệt với nh u bởi mã tài sản, tên tài sản, loại tài
sản, giá trị hiện hành, loại tiền, ghi chú, loại hình tài sản. Hằng ngày ngƣời dùng sẽ thực
hiện các gi o dịch thu/ chi hằng ngày dự trên các tài sản củ mình. Bên cạnh việc ghi lại
các thông tin gi o dịch hằng ngày đó, ngƣời dùng cũng có thể lên kế hoạch chi tiêu theo
từng gi i đoạn có thể là theo tuần trong tháng, hoặc theo tháng. Lên kế hoạch tiết kiệm để
dùng cho mục đích gì đó nhƣ mua xe, h y mu một món hàng…. . Hệ thống sẽ giúp
ngƣời dùng thực hiện chức năng lên kế hoạch tiết kiệm một cách dễ dàng.
Ngoài r ngƣời dùng cũng có thể lên ghi lại những khoản cho v y hoặc mƣợn nợ từ bạn
bè hoặc cá nhân, tổ chức bất kì. Tiện việc theo dõi nợ nần để truy thu hoặc chi trả đúng
hạn định.
Hằng tháng, ngƣời dùng có thể xem báo cáo thu/ chi trong tháng theo từng mục con nhƣ
theo thể loại, hoặc theo hình thức…. Từ đó giúp ngƣời dùng có cái nhìn tổng qu n về toàn
bộ quá trình thu/ chi củ chính mình.
Bên cạnh đó ngƣời dùng có thể thêm các d nh mục gi o dịch theo từng loại tài sản để tiện
việc gi o dịch s u này. Thông tin chi tiết từng loại thực thể trong ứng dụng:
Thông tin tài sản: mã tài sản, tên tài sản, loại tài sản, giá trị hiện hành, loại tiền, ghi
chú, loại hình tài sản.
D nh mục gi o dịch: mã gi o dịch, tên gi o dịch, hình thức, thuộc tài sản.
Giao dịch: mã gi o dịch, tên gi o dịch, số tiền gi o dịch, với i, ghi chú, ngày giao
dịch.
Kế hoạch mu : mã kế hoạch, tên kế hoạch, mã tài sản, số tiền chi tiêu, số tiền đã
chi, số tiền c n lại, số tiền bội chi, ngày lên kế hoạch, ngày kết thúc kế hoạch
Kế hoạch tiết kiệm: mã kế hoạch, tên kế hoạch, số tiền tiết kiệm, số tiền bắt đầu tiết
kiệm, số tiền cần thêm, thuộc tài sản
D nh mục gi o dịch: mã d nh mục, tên d nh mục, thuộc lại tài sản, hình thức, chỉnh
sử
Loại tiền: mã loại tiền, tên loại tiền, kí hiệu
Công nợ: mã công nợ, tên công nợ, số tiền v y, giá trị, ghi chú, ngày mƣợn, ngày
trả, lãi suất, chủ nợ, loại hình
35
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
Mô tả chức năng:
Cho phép ngƣời dùng đăng nhập vào hệ thống để tƣơng tác với các chức năng củ chƣơng
trình.
Mô tả hoạt động:
Đọc tất cả các yếu tố đầu vào từ Edit Text, …. do ngƣời dùng nhập vào
Kiểm tr ràng buộc thông tin, và ràng buộc với cơ sở dữ liệu
S u khi kiểm tr tính hợp lệ thông tin, sẽ cho phép ngƣời dùng th o tác các chức
năng trên hệ thống theo quyền định sẵn.
Mô tả chức năng:
Với cấp độ quản trị (Admin): cho phép xem d nh sách tài sản, thêm mới, sử thông tin tài
sản , xó tài sản. Cho phép thực hiện chuyển khoản giữ các tài sản có chung đơn vị tiền
tệ, đồng nhất về định dạng.
Với cấp độ ngƣời dùng (user): (do Admin cung cấp mã số mật khẩu để dùng chung ứng
dụng): chỉ cho phép xem thông tin những tài sản chung. Không cho phép thêm mới, sử ,
xó h y chuyển khoản.
Mô tả chức năng:
Với cấp độ quản trị (Admin): cho phép xem d nh sách gi o dịch tùy chọn, thêm mới giao
dịch, sử thông tin gi o dịch , xóa gi o dịch. Cho phép lọc các gi o dịch theo tùy chọn mà
hệ thống hỗ trợ (tháng, theo thể loại…).
Với cấp độ ngƣời dùng (user): (do Admin cung cấp mã số mật khẩu để dùng chung ứng
dụng): chỉ cho phép xem thông tin những gi o dịch trên các tài sản chung. Không cho
phép thêm mới, sử , xóa.
36
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
Mô tả chức năng:
Với cấp độ quản trị (Admin): cho phép xem danh sách các khoản cho v y, thêm mới, sử
thông tin các khoản v y, xóa khoản vay. Xem lại lịch sử cho v y theo thời gi n…
Với cấp độ ngƣời dùng (user): (do Admin cung cấp mã số mật khẩu để dùng chung ứng
dụng): chỉ cho phép xem thông tin những khoản v y trên các tài sản chung. Không cho
phép thêm mới, sử , xóa khoản v y.
3.2.5 Quản lý nợ
Mô tả chức năng:
Với cấp độ quản trị (Admin): cho phép xem danh sách các khoản nợ đ ng mƣợn, thêm
mới, sử thông tin khoản nợ, xóa khoản nợ. Bên cạnh cho phép xem lại lịch sử mƣợn nợ.
Với cấp độ ngƣời dùng (user): (do Admin cung cấp mã số mật khẩu để dùng chung ứng
dụng): chỉ cho phép xem thông tin những khoản nợ trên các tài sản chung. Không cho
phép thêm mới, sử , xóa các khoản nợ.
Mô tả chức năng:
Với cấp độ quản trị (Admin): cho phép xem danh sách các kế hoạch chi tiêu đ ng áp dụng
trong tháng, thêm mới, sử thông kế hoạch chi tiêu, xóa kế hoạch. Ngoài ra, cho phép
xem lại lịch sử những kế hoạch chi tiêu đã thực hiện theo thời gi n trong quá khứ.
Với cấp độ ngƣời dùng (user): (do Admin cung cấp mã số mật khẩu để dùng chung ứng
dụng): chỉ cho phép xem thông tin những kế hoạch chi tiêu trên các tài sản chung. Không
cho phép thêm mới, sử , xóa các kế hoạch chi tiêu.
Mô tả chức năng:
Với cấp độ quản trị (Admin): cho phép xem danh sách các khoản dự định tiết kiệm, thêm
mới, sử thông tin các kế hoạch tiết kiệm , xóa kế hoạch tiết kiệm. Bên cạnh đó, cho phép
xem lại lịch sử những kế hoạch tiết kiệm đã thực hiện đƣợc trong quá khứ.
37
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
Với cấp độ ngƣời dùng (user): (do Admin cung cấp mã số mật khẩu để dùng chung ứng
dụng): chỉ cho phép xem thông tin những kế hoạch tiết kiệm trên các tài sản chung.
Không cho phép thêm mới, sử , xóa các kế hoạch tiết kiệm. .
Mô tả chức năng:
Với cấp độ quản trị (Admin): cho phép xem danh sách các mục gi o dịch trên từng tài
sản, thêm mới, sử thông tin mục gi o dịch, xó mục gi o dịch.
Với cấp độ ngƣời dùng (user): (do Admin cung cấp mã số mật khẩu để dùng chung ứng
dụng): chỉ cho phép xem thông tin những d nh mục gi o dịch trên các tài sản chung.
Không cho phép thêm mới, sử , xóa các d nh mục gi o dịch.
Mô tả chức năng:
Với cấp độ quản trị (Admin): cho phép xem danh sách các user mà Admin cung cấp, thêm
mới, xóa user. Cho phép quản trị th y đổi thông tin đăng xuất củ chính mình.
Với cấp độ ngƣời dùng (user): (do Admin cung cấp mã số mật khẩu để dùng chung ứng
dụng): chỉ cho phép cập nhật lại thông tin, ngƣời dùng đăng nhập và mật khẩu khi sử
dụng chƣơng trình. Không cho phép thêm mới h y xó ngƣời dùng.
3.3 CƠ SỞ DỮ LIỆU
38
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
40
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
gi o dịch thuộc loại thu nhập h y chi tiêu. Mỗi mục gi o dịch chỉ thuộc duy nhất một và
chỉ một tài sản. Mỗi tài sản có ít nhất một hoặc nhiều mục gi o dịch.
Mối thực thể Kehoachmua, DanhmucTS:
Thực thể th m gi : Kehoachmua, DanhmucTS.
Diễn giải: Mỗi khi ngƣời dùng muốn lên kế hoạch tiết kiệm sẽ điền các thông tin đến kế
hoạch tiết kiệm S u đó đối tƣợng sẽ đƣợc lƣu vào trong thực thể Keho chmu Mỗi kế
hoạch tiết kiệm sẽ chỉ thuộc duy nhất trên một tài sản Mỗi tài sản có thể không có hoặc
nhiều kế hoạch tiết kiệm đƣợc áp dụng
Mối thực thể GiaoDich, DanhmucGD, DanhmucTS:
Thực thể th m gi : GiaoDich, DanhmucGD.
Diễn giải: Mỗi khi ngƣời dùng thực hiện một gi o dịch thì thông tin gi o dịch đó sẽ đƣợc
lƣu trong thực thể Gi oDich, Mỗi gi o dịch chỉ thuộc duy nhất trên một tài sản Mỗi tài
sản có thể không có hoặc có nhiều gi o dịch thu chi hằng ngày
Mối thực thể Congno, DanhmucTS, DanhmucGD:
Thực thể th m gi : Congno, DanhmucGD.
Diễn giải: Khi ngƣời dùng cho ngƣời khác v y nợ hoặc mƣợn nợ từ i đó thì thông tin về
công nợ sẽ đƣợc lƣu trong thực thể Congno Tùy theo công nợ đó là cho v y h y là mƣợn
42
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
Mô hình sau (sơ đồ tổng quát usec se) thể hiện ngƣời dùng có quyền th o tác trực tiếp
trên hệ thống ứng dụng nhƣ s u:
Hình 3.1: Biểu đồ Usec se thể hiện tƣơng tác củ User Admin và User thƣờng
43
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
Mô hình usecase s u thể hiện cơ chế ngƣời dùng đăng nhập trên hệ thống nhƣ s u:
Mô hình usecase s u thể hiện ngƣời dùng quản lí tài sản trên hệ thống ứng dụng nhƣ s u:
44
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
Mô hình usecase s u thể hiện ngƣời dùng quản lí gi o dịch trên hệ thống nhƣ s u:
Mô hình usecase s u thể hiện ngƣời dùng quản lí khoản v y trên hệ thống nhƣ s u:
Mô hình usecase s u thể hiện ngƣời dùng quản lí khoản nợ trên hệ thống nhƣ s u:
Mô hình usecase s u thể hiện ngƣời dùng quản lí kế hoạch mu trên hệ thống nhƣ s u:
Mô hình usecase s u thể hiện ngƣời dùng quản lí kế hoạch tiết kiệm trên hệ thống ứng
dụng nhƣ s u:
Mô hình usecase s u thể hiện ngƣời dùng quản lí tài sản trên hệ thống ứng dụng nhƣ s u:
Mô hình usecase s u thể hiện ngƣời dùng quản lí tài khoản trên hệ thống nhƣ s u:
Sơ đồ hình bên dƣới thể hiện sơ đồ cl ss củ thực thể Gi o dịch với các phƣơng thức xử lí
cùng các thuộc tính củ lớp
49
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
Sơ đồ hình bên dƣới thể hiện sơ đồ cl ss củ thực thể Quản lý v y với các phƣơng thức
xử lí cùng các thuộc tính củ lớp
50
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
Sơ đồ hình bên dƣới thể hiện sơ đồ cl ss củ thực thể Kế hoạch tiết kiệm với các phƣơng
thức xử lí cùng các thuộc tính củ lớp
51
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
Sơ đồ tuần tự (sequence) hình bên dƣới thể hiện thứ tự các bƣớc đăng nhập vào hệ thống
nhƣ s u:
B c : Nhập vào usern me và mật khẩu đƣợc cung cấp;
B c : Hệ thống sẽ kiểm tr xem usern me có tồn tại trong hệ thống không?
B c : Hệ thống sẽ kiểm tr tính hợp lệ củ dự liệu đầu vào;
B c : Thông báo với ngƣời dùng trạng thái đăng nhập thành công h y thất bại
52
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
Sơ đồ tuần tự (sequence) hình bên dƣới thể hiện thứ tự các bƣớc thêm tài sản mới vào hệ
thống nhƣ s u:
B c : Nhập vào thông tin tài sản mới theo các dữ liệu đầu vào từ form yêu cầu;
B c : Kiểm tr tính hợp lệ củ dữ liệu đầu vào
B c : Hệ thống sẽ kiểm tr xem có tồn tại tài sản đó trong cơ sở dữ liệu không? Nếu
hợp lệ thì tiến hành thêm mới vào cơ sở dữ liệu
B c , 5: Thông báo cho ngƣời biết về trạng thái thêm mới tài sản S u đó tắt màn hình
thêm mới tài sản
53
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
Sơ đồ tuần tự (sequence) hình bên dƣới thể hiện thứ tự các bƣớc thêm gi o dịch mới vào
hệ thống nhƣ s u:
B c : Nhập vào thông tin gi o dịch mới theo các dữ liệu đầu vào từ form yêu cầu;
B c : Kiểm tr tính hợp lệ củ dữ liệu đầu vào
B c : Hệ thống sẽ kiểm tr xem có tồn tại gi o dịch đó trong cơ sở dữ liệu không? Nếu
hợp lệ thì tiến hành thêm mới vào cơ sở dữ liệu
B c , 5: Thông báo cho ngƣời biết về trạng thái thêm mới gi o dịch. S u đó tắt màn
hình thêm mới gi o dịch
54
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
Sơ đồ tuần tự (sequence) hình bên dƣới thể hiện thứ tự các bƣớc thêm khoản v y vào hệ
thống nhƣ s u:
B c : Nhập vào thông tin khoản v y theo các dữ liệu đầu vào từ form yêu cầu;
B c : Kiểm tr tính hợp lệ củ dữ liệu đầu vào
B c : Hệ thống sẽ kiểm tr xem có tồn tại khoản v y đó trong cơ sở dữ liệu không?
Nếu hợp lệ thì tiến hành thêm mới vào cơ sở dữ liệu
B c , 5: Thông báo cho ngƣời biết về trạng thái thêm mới khoản v y S u đó tắt màn
hình thêm khoản v y.
55
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
Sơ đồ tuần tự (sequence) hình bên dƣới thể hiện thứ tự các bƣớc thêm kế hoạch tiết kiệm
vào hệ thống nhƣ sau:
B c : Nhập vào thông tin kế hoạch tiết kiệm theo các dữ liệu đầu vào từ form yêu cầu;
B c : Kiểm tr tính hợp lệ củ dữ liệu đầu vào
B c : Hệ thống sẽ kiểm tr xem có tồn tại khoản kế hoạch tiết kiệm đó trong cơ sở dữ
liệu không? Nếu hợp lệ thì tiến hành thêm mới vào cơ sở dữ liệu
B c , 5: Thông báo cho ngƣời biết về trạng thái thêm mới khoản tiết kiệm S u đó tắt
màn hình thêm kế hoạch tiết kiệm.
Hình 3.19: Biểu đồ sequence chức năng thêm kế hoạch tiết kiệm
56
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
Sơ đồ tuần tự (sequence) hình bên dƣới thể hiện thứ tự các bƣớc xó tài sản từ hệ thống
nhƣ s u:
B c :Chọn tài sản muốn xó từ d nh sách tài sản;
B c : Kiểm tr tính hợp lệ củ dữ liệu trong cơ sở dữ liệu;
B c : Nếu có tồn tại trong sơ sở dữ liệu thì tiến hành xó tài sản khỏi hệ thống;
B c : Thông báo cho ngƣời biết về trạng thái xó tài sản có thành công h y không S u
đó tắt màn hình di log xó tài sản
57
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
Sơ đồ tuần tự (sequence) hình bên dƣới thể hiện thứ tự các bƣớc cập nhật tài sản từ hệ
thống nhƣ s u:
B c :Chọn tài sản muốn cập nhật thông tin từ d nh sách tài sản;
B c : Kiểm tr tính hợp lệ củ dữ liệu trong cơ sở dữ liệu;
B c : Nếu có tồn tại trong sơ sở dữ liệu thì tiến hành cập nhật lại thông tin vào cơ sở dữ
liệu từ thông tin ngƣời dùng cung cấp;
B c ,5: Thông báo cho ngƣời biết về trạng thái cập nhật tài sản có thành công h y
không. S u đó tắt màn hình cập nhật tài sản
Hình 3.21: Biểu đồ sequence chức năng cập nhật tài sản
58
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
Sơ đồ tuần tự (sequence) hình bên dƣới thể hiện thứ tự các bƣớc cập nhật gi o dịch từ hệ
thống nhƣ s u:
B c :Chọn gi o dịch muốn cập nhật thông tin từ d nh sách gi o dịch;
B c : Kiểm tr tính hợp lệ củ dữ liệu trong cơ sở dữ liệu;
B c : Nếu có tồn tại trong sơ sở dữ liệu thì tiến hành cập nhật lại thông tin vào cơ sở dữ
liệu từ thông tin ngƣời dùng cung cấp;
B c ,5: Thông báo cho ngƣời biết về trạng thái cập nhật gi o dịch có thành công h y
không S u đó tắt màn hình cập nhật gi o dịch
59
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
Sơ đồ Activity bên dƣới thể hiện tổng qu n cách thức hoạt động củ việc đăng nhập vào
hệ thống ứng dụng nhƣ s u:
60
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
Sơ đồ Activity bên dƣới thể hiện tổng qu n cách thức hoạt động củ việc thêm tài sản vào
hệ thống ứng dụng nhƣ s u:
61
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
Sơ đồ Activity bên dƣới thể hiện tổng qu n cách thức hoạt động củ việc đăng nhập vào
hệ thống ứng dụng nhƣ s u:
62
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
Sơ đồ Activity bên dƣới thể hiện tổng qu n cách thức hoạt động củ việc thêm kế hoạch
chi tiêu vào hệ thống ứng dụng nhƣ s u:
63
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
Sơ đồ Activity bên dƣới thể hiện tổng qu n cách thức hoạt động củ việc xó tài sản vào
hệ thống ứng dụng nhƣ s u:
64
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
Sơ đồ Activity bên dƣới thể hiện tổng qu n cách thức hoạt động củ việc cập nhật tài sản
vào hệ thống ứng dụng nhƣ s u:
65
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
Sơ đồ Activity bên dƣới thể hiện tổng qu n cách thức hoạt động củ việc cập nhật kế
hoạch tiết kiệm vào hệ thống ứng dụng nhƣ s u:
66
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
Sơ đồ Activity bên dƣới thể hiện tổng qu n cách thức hoạt động củ việc đổi mật khẩu hệ
thống ứng dụng nhƣ s u:
67
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
Để th o tác với ứng dụng đầu tiên ngƣời dùng sẽ đăng nhập vào hệ thống Hình trên chính
là gi o diện cho phép ngƣời dùng đăng nhập với tài khoản và mật khẩu định sẵn Với
ngƣời dùng thƣờng do dmin cung cấp, vẫn có thể đăng nhập vào ứng dụng để th o tác
với những quyền mình đƣợc cấp
68
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
Hình 3 32 cho thấy các menu gi o diện củ ứng dụng, với cơ chế trƣợt từ trái qu phải rất
tiện sử dụng Tất cả các chức năng chính đƣợc quản lý tại màn hình gi o diện này
69
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
Hình bên trái chính là gi o diện tổng qu n về việc quản lý tài sản, với các thông tin cơ
bản củ loại tài sản cần đƣợc quản lý Màn hình sẽ hiển thị những thông tin cần thiết củ
tài sản nhƣ tên, loại tiền, số tiền hiện c n lại…
70
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
Màn hình thêm mới một tài sản với những thông số đầu vào cho phép ngƣời dùng nhập
giá trị vào…S u khi điền đầy đủ thông tin ngƣời dùng sẽ lƣu vào ứng dụng
71
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
Màn hình cập nhật tài sản, s u khi click chọn một tài sản cần cập nhật thì thông tin củ tài
sản đó sẽ đƣợc hiện thị tại đây Ở màn hình này có một số thông số đầu vào ngƣời dùng
có thể cập nhật lại, một số yếu tố sẽ không thể cập nhật S u khi điền xong thông tin
ngƣời dùng sẽ lƣu lại thông tin vừ cập nhật
72
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
73
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
Qu quá trình nghiên cứu và xây dựng ứng dụng giúp rút r đƣợc một số kinh nghiệm:
Có kiến thức tổng quát về nền tảng công nghệ di động;
Hiểu biết đƣợc qui trình làm một dự án phần mềm di động;
Hiểu biết cách lập trình căn bản dành cho Android, làm quen với môi trƣờng- công
cụ lập trình dành cho Android
Biết thêm về công nghệ XML, OOP…
Cách th o tác với dữ liệu ứng dụng trong SQLite nhƣ thêm, sử , xó …. .
Củng cố thêm kiến thức về lập trình hƣớng đối tƣợng
Ưu điể :
Chƣơng trình giải quyết yêu cầu thực tế về bài toán trong cuộc sống hằng ngày.
Gi o diện chƣơng trình thân thiện với ngƣời dùng
Xây dựng các chức năng sát với thực tế Ứng dụng dễ bảo trì và nâng cấp hơn trong
tƣơng l i
Hạn chế:
Gi o diện chƣơng trình c n khá đơn giản, chƣ tùy chọn theo sở thích củ ngƣời
dùng
Độ phân giải màn hình dành cho ứng dụng chỉ ở một số d ng máy, do đó cần có
thời gi n kiểm thử và sử lỗi thêm để hỗ trợ tốt cho tất cả các d ng máy chạy
ndroid có thể sử dụng ứng dụng tốt trong tƣơng l i
Để các chức năng củ ứng dụng đƣợc hoàn thiện và sinh động cần thêm một số chức năng
mới nhƣ:
S o lƣu dữ liệu ph ng trƣờng hợp ngƣời cài đặt lại ứng dụng, đảm bảo dữ liệu trƣớc
đó không bị mất
Hỗ trợ thêm tính năng chuyển đổi tiền tệ, qui đổi tự động khi chuyển khoản
Hỗ trợ thêm các phiên bản có thể cài đặt ứng dụng trong tƣơng l i
74
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
Đề tài nghiên cứu về lập trình di động và xây dựng ứng dụng “ u n l tài chính” đã cung
cấp và demo, xây dựng tài liệu, cách xây dựng ứng dụng di động. Qu đó cung cấp tài liệu
hỗ trợ cho các cá nhân muốn tìm hiểu về công nghệ di động cũng nhƣ mong muốn xây
dựng một ứng dụng dự trên công nghệ này.
Ngoài ra, với ứng dụng “ u n l t i ch nh” sẽ giúp cho ngƣời dùng có thể quản lý tài
chính cá nhân, các gi o dịch thu chi hằng ngày. Từ đó giúp bạn có thể kiểm soát đƣợc tài
chính và nhìn lại cách thức thu chi củ cá nhân theo thời gi n.
Phát triển thêm các module khác nhƣ: gi o dịch định kì có thông báo cho ngƣời dùng biết
đƣợc thông báo, s o chép đồng bộ dữ liệu trên SD c rd hoặc lƣu trữ trực tuyến.
Phát triển ứng dụng hỗ trợ chạy trên server th y vì chạy cục bộ trên từng chiếc điện thoại
hay tablet.
Khảo sát ý kiến ngƣời dùng để hoàn thiện, mở rộng thêm các chức năng cần thiết cho hệ
thống trong tƣơng l i. Bên cạnh đó cố gắng phát triển ứng dụng đƣ lên Google Play.
75
X y d ng ứng d ng “ u n l t i ch nh c nh n” trên thi t di đ ng
76