Mô tả:
Báo cáo thực tập kết nối database với android
Mục lục
I.
Giới thiệu................................................................................................................2
1.
Tên đề tài và nhiệm vụ.......................................................................................2
2.
Thời gian thực hiện và các công việc cần thực hiện..........................................2
II.
Thực hiện................................................................................................................2
1.
Cơ sở dữ liệu MySQL và cách kết nối android với MySQL.............................2
1.1 MySQL là gì?...................................................................................................2
1.2
1.3
2.
Cơ sở dữ liệu sử dụng trong đề tài này:.......................................................2
Cách giao tiếp của android với cơ sở dữ liệu...............................................2
Viết ứng dụng android:......................................................................................2
2.1 Thiết kế giao diện:............................................................................................2
3.
Viết xử lý............................................................................................................2
3.1 Khai báo............................................................................................................2
3.2 Chương trình chính...........................................................................................2
III.
Kết quả và phương hướng phát triển.....................................................................4
1.
Kết quả:..............................................................................................................4
2.
Phương hướng phát triển....................................................................................7
1
I.
Giới thiệu
1. Tên đề tài và nhiệm vụ
Ứng dụng hiển thị dữ liệu từ database mySQL.
Nhiệm vụ đề tài
Thiết kế ứng dụng android với những yêu cầu sau:
Về giao diện:
-
Có thể chạy trên đa số các phiên bản android, đặc biệt hoạt động trên được các
thiết bị chạy trên hệ điều hành android mới nhất.
Phù hợp với mọi loại kích thước màn hình và kiểu màn hình (dọc hoặc ngang).
Về chức năng:
-
Ứng dụng khi lấy được dữ liệu trên database đã cho và hiển thị trên màn hình
các thông tin đó theo dạng bảng.
Cập nhật dữ liệu hiển thị khi dữ liệu trên database thay đổi.
2. Thời gian thực hiện và các công việc cần thực hiện.
Đề tài được thực hiện trong khoảng 3 tuần ( từ 17/7 đến ngày 7/8). Các công việc
được thực hiện trong bảng:
Công việc
Tuần thứ
nhất
(17/7 –
23/7)
Tìm hiểu về cơ sở dữ liệu
mySQL, các cách giao
tiếp với cơ sở dữ liệu.
Thiết kế giao diện phù hợp
với những yêu cầu.
Thiết kế phần mềm để ứng
dụng thực hiện được yêu
cầu và phù hợp với giao
diện đã thiết kế.
2
Tuần thứ
hai
(24/7 –
30/7)
Thời gian
(31/7 – 7/8)
II.
Thực hiện
Cơ sở dữ liệu MySQL và cách kết nối android với MySQL
1.1 MySQL là gì?
MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và
được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. Vì
MySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển,
hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích
rất mạnh. Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng
dụng có truy cập CSDL trên internet. MySQL miễn phí hoàn toàn cho nên bạn
có thể tải về MySQL từ trang chủ. Nó có nhiều phiên bản cho các hệ điều hành
khác nhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac
OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS,...
1.
1.2
Cơ sở dữ liệu sử dụng trong đề tài này:
Gồm các cột Hostname, Interface, Status, Time.
1.3 Cách giao tiếp của android với cơ sở dữ liệu.
3
Đề tài này sử dụng cách truy vấn dữ liệu (Read) từ MySQL thông qua
PHP từ ứng dụng Android. Ứng dụng android sẽ thông qua PHP để thực hiện
các thao tác trên dữ liệu. Điều đó có nghĩa là PHP sẽ thực hiện kết nối với
MySQL và xử lý dữ liệu theo yêu cầu từ ứng dụng android. Dữ liệu trả về
dưới dạng JSON.
Để kết nối với cơ sở dữ liệu, chúng ta cần có những thông tin sau:
– IP address hoặc tên Server : thường là 127.0.0.1 hoặc localhost.
– Tên cơ sở dữ liệu (MySQL database name) : Tên dữ liệu mà các bạn muốn kết
nối.
– Username và password : Các bạn cần có thông tin tài khoản sử dụng để kết nối
đến dữ liệu.
Trong đề tài này, những thông số như sau :
– MySQL database server : ” localhost ”
– Tên dữ liệu : “id2353566_vnpt”
– user : “id2353566_admin” và pass là : “admin”
Viết file php xuất dữ liệu từ database sang dạng JSON:
4
Lưu file này với tên connect.php và lưu lên server cơ sở dữ liệu. Và khi nhập
địa chỉ dẫn tới file này (trong đề tài này thì địa chỉ là
https://maihiep.000webhostapp.com/vnpt.php) ta thu được kết quả:
Kết quả này thu được dưới dạng json và để kiểm tra xem có giống database
hay không ta chuyển json qua dạng:
5
[
{
"Hostname":"R7609-TBI-UPE_01 (123.29.50.144)",
"Interface":"(Gi7\/19) DES MANG-TTKINHDOANH-2HUNGVUONG-LINK2",
"Status":"Down",
"Time":"2017-07-21 13:59:10"
},
{
"Hostname":"R7609-TBI-UPE-01 (123.29.50.144)",
"Interface":"(Gi7\/19) VMS-3G-CORE-C30-->BINHDIEN-LINK4-DU PHONG",
"Status":"Down",
"Time":"2017-07-21 13:52:52"
},
{
"Hostname":"MX960-BDI-UPE-01 (123.29.50.146)",
"Interface":"()",
"Status":"Unknown",
"Time":"2017-07-21 13:58:37"
},
{
"Hostname":"MX960-BDI-UPE-01 (123.29.50.146)",
"Interface":"()",
"Status":"Unknown",
"Time":"2017-08-21 13:58:54"
},
{
"Hostname":"MX960-BDI-UPE-01 (123.29.50.146)",
"Interface":"()",
"Status":"Unknown",
"Time":"2017-08-21 14:00:00"
}
]
Và nhận thấy giống với dữ liệu trên database.
Viết ứng dụng android:
2.1 Thiết kế giao diện:
2.1.1 Thiết kế ứng dụng sao cho chạy được trên đa số phiên bản
android.
2.
Khi tạo project mới lưu ý lựa chọn Minimun SDK: API càng thấp thì sẽ phù hợp với
nhiều phiên bản android nhất, tuy nhiên sẽ ít có những tính năng mới. Trong đề này
không cần những tính năng phức tạp nên sẽ chọn API 9. Và chắc chắn ứng dụng sẽ
chạy được trên hầu hết các máy android hiện nay.
6
2.1.2 Thiết kế ứng dụng sao cho phù hợp với mọi kích thước màn
hình.
File activity_main.xml: Các dữ liệu sẽ được hiển thị dưới dạng listview, chính
vì vậy ta chọn dao diện listview
7
File content_main.xml
Lưu ý khi thiết kế phải chỉnh sửa cả 2 loại màn hình là ngang và dọc ở cùng 1 kích
thước (trong hình là 3.7inch) thì khi đó ứng dụng sẽ phù hợp với cả 2 loại màn hình.
8
Và để ứng dụng phù hợp với mọi kích thước màn hình thì ta tạo thư mục layout và
xml tương ứng cho từng loại kích thước màn hình. Tức là mỗi kích thước màn hình
ta lại thiết kế lại giao diện sao cho phù họp.
res/layout/my_layout.xml
res/layout-small/my_layout.xml
res/layout-large/my_layout.xml
res/layout-xlarge/my_layout.xml
res/layout-xlarge-land/my_layout.xml
//
//
//
//
//
layout
layout
layout
layout
layout
for
for
for
for
for
normal screen size ("default")
small screen size
large screen size
extra large screen size
extra large in landscape orientation
Thêm nữa ta không nên đặt cố định kích thước cho các cột, bởi khi khi chuyển sang
kích thước màn hình khác thì các kích thước đó sẽ giữ nguyên và không “co giãn”
theo. Mà thay vào đó ta định nghĩa các kích thước trong file dimens.xml, và vỡi mỗi
loại màn hình ta có 1 file dimens.xml khác nhau:
Viết xử lý
3.1 Khai báo
Hàm getView() có tác dụng gán các giá trị vào vị trí hiển thị trong giao diện
3.
9
3.2 Chương trình chính
Hàm doc_url():hàm này có tác dụng đọc nội dung json từ url đã cho
10
Lớp JSON: lớp này có tác dụng phân tích chuỗi JSON đọc được từ url và
gán các giá trị đọc được từ JSON vào trong array đã khai báo ở trên.
III.
Kết quả và phương hướng phát triển
1. Kết quả:
Ứng dụng đã chạy tốt và hiển thị tốt trên giả lập android 4.4 API 19, màn
hình 5.5 inch với 2 loại màn hình ngang và dọc:
11
Thử trên thiết bị android giả lập khác với android 7.1 API 25, màn hình 6
inch ta được kết quả ứng dụng vẫn hiển thị tốt.
12
Thử chạy ứng dụng trên điện thoại android thực tế: Android 6.0, màn hình
5.5 inch:
13
2. Phương hướng phát triển.
Do thời gian thực hiện đề tài hạn hẹp cho nên nhóm chưa tìm hiểu được kĩ
càng hơn nên tính năng ứng dụng còn sơ sài. Trong tương lai khi tìm hiểu
nhiều hơn thì có thể thêm các tính năng như: Tìm các dữ liệu, sắp xếp các dữ
liệu theo các danh mục, lọc các dữ liệu cần…
14
- Xem thêm -