(Đồ án tốt nghiệp)(Đồ án tốt nghiệp)(Đồ án tốt nghiệp)(Đồ án tốt nghiệp)(Đồ án tốt nghiệp)(Đồ án tốt nghiệp)(Đồ án tốTìm hiểu SQLite và xây dụng chương trình ứng dụng (Đồ án tốt nghiệp)Tìm hiểu SQLite và xây dụng chương trình ứng dụng (Đồ án tốt nghiệp)Tìm hiểu SQLite và xây dụng chương trình ứng dụng (Đồ án tốt nghiệp)Tìm hiểu SQLite và xây dụng chương trình ứng dụng (Đồ án tốt nghiệp)Tìm hiểu SQLite và xây dụng chương trình ứng dụng (Đồ án tốt nghiệp)Tìm hiểu SQLite và xây dụng chương trình ứng dụng (Đồ án tốt nghiệp)t nghiệp)(Đồ án tốt nghiệp)(Đồ án tốt nghiệp)
Trang 1
-o0o -Ngành: C
Trang 4B GIÁO D T O C ng hoà xã h i ch t Nam
-o0o -NHI M V THI T K T T NGHI P
Sinh viên: Nguy n Hoàng Long Mã s : 101432
tài: Tìm hi u SQLite và xây d ng d ng
Trang 5- Tìm hi u v h qu n tr d li u cho thi t b ng SQLite
- Xây d ng d ng th nghi m qu n lý chi tiêu cá nhân
b Các yêu c u c n gi i quy t:
- N c m t s khái ni n c a h u hành Android
- C t, c u hình ng l p trình ng d ng cho thi t b ng Android Studio
- t, c u hình thi t b ng o cho ch y th nghi
- Th c hi n c các thao tác n v i d li u trên h qu n tr d li u SQLite
cài và ch y trên thi t b ng Android th t
2 Các s li u c n thi thi t k , tính toán
- S li u gi l p
m th c t p
i h c Dân l p H i Phòng
Trang 6- Tìm hi u v h qu n tr d li u cho thi t b ng SQLite
- Xây d ng d ng th nghi m qu n lý chi tiêu cá nhâ t và
ch y trên thi t b android th t
n nhi m vCán b ng d
Trang 7PH N NH N XÉT TÓM T T C A CÁN B NG D N
- Có nhi u c g ng trong vi c tìm ki m, nghiên c u tài li u ph c v cho n i dung c tài t t nghi p
- Ch i t t các yêu c u c a cán b ng d n
- Kh c l p còn nhi u h n ch trong thu t toán và k
l p trình
ng c tài t t nghi p (so v i n i dung yêu c
ra trong nhi m v tài t t nghi p)
- Hoàn thành các yêu c ra trong nhi m v t t nghi p
thi t b ng android th t
t i ch l p trình v d li u trên thi t b ng android
t t nghi p
m c a cán b ng d n:
Trang 8PH N NH N XET DANH GIA C A CAN B CH M PH N
( Ký, ghi rõ h tên )
Trang 9M c L c
L I C 11
U HÀNH ANDROID 12
1.1 Gi i thi 12
1.2 L ch s phát tri n 13
1.3 ng d ng Android 14
1.4 Giao di n Android 15
1.5 Nhân Linux 16
1.6 B nh Android 18
1.7 B o m t c a Android 18
NG L P TRÌNH ANDROID STUDIO 21
c v Android Studio 21
21
2.3 C u trúc d án android studio 26
35
41
41
43
47
49
Trang 1066
66
66
67
69
69
71
72
74
C NGHI M 80
80
80
81
82
86
K T LU N 87
TÀI LI U THAM KH O 88
Trang 11L I C
nhi ch c, cá nhân V i tình c m sâu s c, chân thành, cho phép em
ki trong quá trình h c t p và nghiên c c h t em xin
g i t i các th y cô khoa Công ngh - i h c Dân L p H i Phòng l i chào trân tr ng, l i chúc s c kh e và l i c c V i s quan
án: "Tìm hi u SQLite và xây d ng d ng c bi t
em xin g i l i c t t i th y giáo Ths Phùng Anh Tu
ng d n em hoàn thành t án này trong th i gian qua
o, các Khoa Phòng ban ch c ti p và gián ti p giúp
em trong su t quá trình h c t p t ng V u ki n th
kinh nghi m còn h n ch c a m án này không th c
nh ng thi u sót Em r t mong nh c s ch b n c a các
th u ki n b sung, nâng cao ý th c c a mình, ph c v t
công vi c th c t sau này
Xin chân thành c
Sinh viên
Trang 12U HÀNH ANDROID
Android là m t h u hành d a trên n n t c thi t k dành cho các thi t b ng có màn hình c m n tho i thông minh và máy tính b c phát tri n b i T ng công ty Android, v i
2005 Android ra m i tuyên b thành l p Liên minh thi t b 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 y m nh các tiêu chu n m cho các thi t b ng Chi n tho u tiên ch
Android có mã ngu n m và Google phát hành mã ngu n theo Gi y phép Apache Chính mã ngu n m cùng v i m t gi y phép không có nhi u ràng bu c
n thi t b , m ng và các l p trình viên nhi t huy u ch nh và phân ph i Android m t cách t do Ngoài ra, Android
r ng ch a thi t b , b ng m t lo i ngôn ng l p trình Java có s i
ng 700.000 ng d ng trên Android, và s t
t i ng d ng t Google Play, c a hàng ng d ng chính c c tính kho ng 25 t t
các công ty công ngh l a ch n khi h c n m t h u hành không n ng n , có
kh nh, và giá r ch y trên các thi t b công ngh cao thay vì t o
d ng t u K t qu là m c thi t k ch n tho i và máy
Trang 13nó tr thành m c tiêu trong các v ki n b ng phát minh, góp m t trong cái g i là "cu c chi n tho i thông minh" gi a các công ty công ngh
ng sáng l p công ty
ng sáng l p T ng công ty Vi n thông Wildfire),
giao di n t phát tri n, theo l i c a Rubin, "các thi t b ng
bi c v trí và s thích c i dùng" Dù nh ng
Android ho ng m t cách âm th m, ch ti t l r ng h n m m
m i b n thân c a Rubin, mang cho ông 10.000 USD ti n m
ch i tham gia vào công ty
Google mua l i T ng công ty Android vào ngày 17 tháng 8 n
nó thành m t b ph n tr c thu c Google Nh ng nhân viên c a ch ch t c a
T ng công ty Android, g m Rubin, Miner và White, v n ti p t c l i công ty
Trang 14Motorola, Nvidia, Qualcomm, Samsung Electronics, Sprint Nextel và T-Mobile
c thành l p v i m n các tiêu chu n m cho thi t b ng
c ra m t v i vai trò là s n ph u tiên c a Liên minh, m t n n t ng thi t b c xây d ng trên nhân Linux phiên b n 2.6 Chi n tho i ch c bán ra là HTC Dream, phát
a h u hành Android m i là
m t con rôb t màu xanh lá cây do hãng thi t k Irina Blok t i California v
M i b n nâng c t tên l t theo th t b ng ch cái, theo tên c a
m n tráng mi ng; ví d n 1.5 Cupcake (bánh bông lan nh
có kem) ti p n i b ng phiên b n 1.6 Donut (bánh vòng) Phiên b n m i nh t
m t dòng s n ph m bao g n tho i thông minh và máy tính b ng ch y h
i tác ph n c ng s n xu p tác v i
nhi u thi t b m p vào dòng s n ph n tho i Nexus 4 và máy tính b ng Nexus 10, l t do LG và Samsung s n xu t
n tho i và máy tính b ng Nexus là nh ng thi t b Android ch
Trang 15và c p nh t các ng d ng do Google và các nhà phát tri n th ba phát hành C a
t s n trên các thi t b th u ki n a Google ng d ng s t ng l c ra m t danh sách các ng d
v i thi t b c i dùng, và nhà phát tri n có th gi i h n ng d ng c a h
ch dành cho nh ng nhà m ng c nh ho c nh ng qu c gia c nh vì lý do kinh doanh N i dùng mua m t ng d ng mà h c m th y không thích,
h c hoàn tr ti n sau 15 phút k t lúc t i v , và m t vài nhà m ng còn có
d ng hàng tháng c i dùng
675.000 ng d ng dành cho Android, và s ng ng d ng t i v t C a hàng
t 25 t Các ng d c phát tri n b ng ngôn ng Java s d ng
B phát tri n ph n m m Android (SDK) SDK bao g m m t b các công
c phát tri n, g m có công c g l n ph n m m, b gi l p
n tho i d a trên QEMU, tài li ng d n, mã ngu n m ng d n
t ng phát tri n tích h c h tr chính th c là Eclipse s d ng ph n b sung Android Development Tools (ADT) Các công cphát tri n, g m có B phát tri n g c dành cho các ng d ng
ho c ph n m r ng vi t b ng C ho c C++, Google App Inventor, m t môi
Trang 16Các thi t b Android sau khi kh ng s hi n th m
kh u v i các thông tin chính trên thi t b m desktop
nhi u bi ng (icon) và ti n ích (widget); bi ng ng d ng s m ng
d ng, còn ti n ích hi n th nh ng n i dung s ng, c p nh t t
báo th i ti t, h i dùng, ho c nh ng m u tin th i sngay trên màn hình chính Màn hình chính có th g m nhi c
b ng cách vu c ho c sau, m c dù giao di n màn hình chính c a Android
h phân bi t v i các hãng c nh tranh
phía trên cùng màn hình là thanh tr ng thái, hi n th thông tin v thi t b
và tình tr ng k t n i Thanh tr ng thái này có th "kéo" xu xem màn hình thông báo g m thông tin quan tr ng ho c c p nh t c a các ng d
c m th y b t ti n Trong các phiên b u, i dùng có th nh n vào
m ra ng d ng, v sau này các thông tin c p nh c
Harmony Android s d ng máy o Dalvik v i m t trình biên d ch y 'mã dex' (Dalvik Executable) c c biên d ch sang Java bytecode N n t ng ph n c ng chính c a Android là ki i ta
Trang 17tr x86 thông qua d d ng m t phiên b c bi t c a Android.
Kroah- i b o trì nhân Linux hi n t i c a nhánh
ng ông ta lo ng i r ng Google không còn mu
nh i c a mình vào Linux dòng chính n a M t s l p trình viên Android c a Google t ý r ng "nhóm Android th y chán v
nhóm h không có nhi i và có nhi u vi c kh n c p c n làm v i Android
ng "r t cu c thì Android và
thông báo kích ho t D án Dòng chính Android, nh m t i vi t s
ngh ho ng) và wakelocks vào nhân 3.5, sau nhi u n l c ph i tr n
v n hi n th c trên Linux dòng chính cho phép hai ch ngh : b
nh (d ng ngh truy n th ng mà Android s d
bàn) Vi c tr n s hoàn t t k t
B flash trên các thi t b c chia thành nhi u phân vùng,
Trang 18Vi c xem là m t b n phân ph i Linux hay không v n còn
nhóm mã ngu n m Google, ng h M t s khác, -magazine.com thì
ng ý, do Android không không h tr nhi u công c
c n danh b n tho i Sau khi xem xét các quy i dùng có th ch n
ng ý ho c t ch i chúng, ng d ng ch t khi ng ng ý
Trang 19H th ng h p cát và h i quy n làm gi m b t ng c a l i b o m t
tài li ng d n còn h n ch n t i nh ng ng d i nh ng quy n không c n thi u qu c a h th ng này M t scông ty b o m
ng ph n m m di t virus cho các thi t b Android
Ph n m m này không có hi u qu h p cát v n áp d ng vào các ng
Google v n gi m r ng ph n m m ác ý th t s nguy hi m là c c k
hi m, và m t cu u tra do F-Secure th c hi n cho th y ch có 0,5% s ph n
dõi và quét các ng d ng trên C a hàng Google Play Nó s u các ph n
khi h t i nó v máy Android phiên b
Trang 21NG L P TRÌNH ANDROID STUDIO
Google cung c p m t công c phát tri n ng d ng Android trên Website chính th c d a trên n n t ng IntelliJ IDEA g i là Android Studio Androidstudio d a vào IntelliJ IDEA, là m t IDE t t cho nh t Java hi n nay DoAndroid Studio s là môi ng phát tri n ng d ng t t nh t cho Android
Microsoft® Windows® 8/7 (32 or 64-bit)
Trang 22Ti p t c ch n next và agree cho n khi hoàn t t.
là màn hình kh i ng
Máy o Android là m t ph n không th thi u khi chúng ta l p trình ng
d ng cho h u hành Android, nó giúp chúng ta ch y th ng d ngngay trên máy tính Và công c máy o ti n d ng hi n gi làGenymotion
cài t máy o Genymotion ta truy c p vào ng d n :
https://www.genymotion.com/download/
Trang 23Ta ph i t o m t tài kho n r i nh p vào m i th y c m c này.
ta nên t i phiên b n with VirtuaBox , vì trình tích h p s nVirtuaBox cho chúng ta vì máy o này ph i có VirtuaBox m i ch yc
Sau khi cài xong s có giao di n sau :
Chúng ta c n nh p vào t o m t cái máy o tôi
nh p v i tài kho n User :longsmile
Trang 24Sau ch n m t ho c nhi u thi t b theo ý mu n tôi ch nSamsung Galaxy S3 -4.1.1 - API 16 - 720x1280 ) :
-B n ch n thi t b sau nh n Next s có giao di n thông tin thi t b :
Sau ti p t c nh n Next và Finish hoàn thành cài máy o
Trang 25Ta ti p t c nh n vào thi t b và nh n Start kh i ng máy o
Trang 26Application Name: Tên ng d ng mu n t
Company Domain: Tên domain công ty, ng c dùng k t h p
v i tên Application t o thành Package (chú ý vi t ng h t và có ít
Trang 27h p tho i trên cho phép ta l a ch n là ng d ng s c vi t cho nh ngthi t b nào (Phone and Tablet, TV, Wear).
m c Minium SDK, quy nh phiên b n android t i thi u ch y ng
d ng
Hi n nay b n API14 Android 4.0 (IceCreamSandwich) v n ng u v
s ng thi t b s d ng chi m t i 90%) nên ng l a ch n Màn hình
này hi n th cho phép ch n lo i Activity m c nh
Ch n Blank Activity r i b m Next:
Trang 28Layout Name: Tên file XML làm giao di n cho Activity Name.
Title: Tiêu hi n th khi kích ho t Activity trên thi t b
Menu Resource Name: Tên file xml t o menu cho ph n m m
Sau khi c u hình xong, b m Finish, Màn hình Build Gradle project hi n th :
Trang 29Khi build xong m c nh có màn hình i
Theo m c nh Android Studio hi n th các files trong project theo gócnhìn Android Góc nhìn này Android Studio s t ch c các files theo 3module:
manifests: ch a file AndroidManifest.xml
java: ch a các file mã ngu n Java
res: ch a t t c các file layout, xml, giao di n i dùng(UI), nh
M Project m c nh activity_main.xml s c ch n ta có màn hìnhsau:
Trang 30trên t m th i chia làm 6 vùng làm vi c mà l
- Vùng 1.
u trúc h th ng thông tin c a ng d ng, Ta có th i c u trúc hi n th m nh là Android).
Màn hình ch Android:
Trang 31Ta có AndroidManifest.xml File này vô cùng quan
Trang 32Tab Text là tab cho phép ta giao Tag XML:
- Vùng 3.
Là vùng giao di n thi t b , cho phép các Control kéo th ng
th i cho ta hi u chính control
Vùng 3 ta có th ch n cách hi n th theo n m ngang n ng, phóng to thu nh control, l a ch n lo i thi t b hi n th
- Vùng 4.
Khi màn hình có nhi u control thì vùng 4 này tr lên h u ích, nó cho phép
hi n th giao di n theo d ng c u trúc cây, nên ta d dàng quan sát và l a ch n control khi chúng b ch ng l p trên giao di n (vùng 3)
Trang 33- Vùng 5.
Vùng này r t quan tr t l p tr ng thái hay thu c tính cho các Control trên giao di n
Trang 34Qu n lý Android SDK Manager ng dùng c p nh t).
Trang 35Qu n lý Android Device Manager
a các control lên giao di n và m i layout có m t cách
s p x p các control khác nhau, vì v y v i m i c u trúc giao di n khác nhau ta
k giao di n
FrameLayout
Là lo n nh t, nó s c dùng nhi u khi ta s d ng v giao
di n nâng cao sau này Khi ta kéo các control vào thì m nh các control s
n m v trí trên cùng bên trái Cá c kéo vào framelayout s
Trang 39tìm th y cách thu n ti b sung OnClickListener
t ph n Activity Ví d :
Trang 41SQLite là 1 h qu n tr d li u thu nh , không có server, thao táctrên file và có th s d ng trong h u h t các h c RichardHipp vi i d n b ng ngôn ng l p trình C Phiên b n m i nh t là3.8.6 (15/8/2014)
m
không gây l i khi x y ra s c ph n c ng
Tuân theo chu n SQL92 (ch có m m không h tr )
Trang 42ALTER TABLE Ch h tr các bi n th v RENAME TABLE và
ADD COLUMN c a l nh ALTER TABLE Không h tr v DROP COLUMN, ALTER COLUMN, ADD CONSTRAINT
Trigger support Ch h tr phát bi
tr phát bi u FOR EACH STATEMENTVIEWs VIEWs trong SQLite có d ng là read-only B n
không th th c thi các phát biINSERT ho c UPDATE trong view
d li u do SQLite t o ra s private, t c là ch s d ng cho b n thân
Trang 43S d ng trong gi ng d y cho nh i m i làm quen v i ngôn ngtruy v ng h p trên, t t là b n s d ng SQL
DDL - Data Definition Language
DQL - Data Query Language
B1 : Truy c p trang http://www.sqlite.org/download.html
B2 : Tìm và download 2 file nén: sqlite-shell-win32-*.zip và win32-*.zip
Trang 44sqlite-dll-B3 : Gi i nén 2 file v d qu n lý (không b t bu c), b n nên t o folder v i tên sqlite trong cùng folder v i eclipse và SDK, r i gi i
t qu s c 3 file sqlite3.def, sqlite3.dll và
ng d s d ng cho c k ti p
B4: ng d n vào bi ng PATH c a Windows:
- B4.1: Right Click vào icon c a Computer trên desktop, ch n Properties.
- B4.2: Trong h p tho i System, ch n Advanced system settings.
Trang 45- B4.3: Trong h p tho i System Properties, ch n tab Advanced, ch n button
m ti p h p tho i Environment Variables
- B4.4: Trong h p tho i Environment Variables, trong vùng System
Edit Environment Variables
Trang 46- B4.5: Click mouse vào textbox Di chuy n v cu i, b sung d u ch m
th y c a s sau:
Trang 47Tuy r t ti n ích trong vi c qu u này không
Là giá tr nguyên, có d trong 1, 2, 3, 4,
6, ho c 8 bytes tùy thu l n c a d li u
Trang 48UNSIGNED BIG INT, INT2, INT8
BOOLEAN, DATE, DATETIME
SQLite không có class riêng cho ki u d li u lu
giá tr lu i d ng s nguyên v i 0 là false và 1 là true.
riêng cho ki u d li u ngày/gi
B n có th ch n ki u ngày/gi b t k nh d ng trên Khi s d ng SQLite s cung c p 1 s hàm giúp chuy i gi nh d ng
Trang 49Case Sensitivity : SQLite có phân bi t ch ng(case insensitive)
S d ng ghi chú trong SQLite :
- Giúp gi i thích ho c ghi chú 1 v nh
- N i dung ghi chú có th ch a kho ng tr ng ho c các kí t khác nhau
t các ghi chú l ng vào nhau
Trang 50Hi n th tên c a t t c các ch m c N u tên TABLE
c ch ra, ch li t kê ch m c có trong TABLE load FILE
- insert SQLite insert statements for TABLE
- line One value per line