Đồ án tốt nghiệp ngành Công nghệ thông tin: Xây dựng ứng dụng Android xử lý tin nhắn bình chọn - Pdf 58

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG

-------------------------------

ISO 9001:2015

ĐỒ ÁN TỐT NGHIỆP
NGÀNH: CÔNG NGHỆ THÔNG TIN

Sinh viên

: Đàm Duy Quang

Giảng viên hướng dẫn: ThS. Phùng Anh Tuấn

HẢI PHÒNG - 2019


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG
-----------------------------------

XÂY DỰNG ỨNG DỤNG ANDROID XỬ LÝ TIN NHẮN
BÌNH CHỌN

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
NGÀNH: CÔNG NGHỆ THÔNG TIN

Sinh viên


1.2.3. Tầng khung ứng dụng .....................................................................6
1.2.4. Tầng ứng dụng ................................................................................7
1.3. Giao diện hệ điều hành Android ...................................................................7
1.4. Quá trình phát triển phiên bản Android ........................................................8
1.4.1. Phiên bản Android 1.0 ....................................................................8
1.4.2. Phiên bản Android 1.5 : Cup Cake .................................................9
1.4.3. Phiên bản Android 2.0 và Android 2.1 : Eclair...............................9
1.4.4. Phiên bản Android 2.2 : Froyo .......................................................9
1.4.5. Phiên bản Android 2.3 : Gingerbread .............................................9
1.4.6. Phiên bản Android 3.x : Honeycomb ...........................................10
1.4.7. Phiên bản Android 4.0 : Ice Cream Sandwich .............................10
1.4.8. Phiên bản Android 4.1 : Jelly Bean ..............................................10
1.4.9. Phiên bản Android 4.2 : Jelly Bean ..............................................10
1.4.10. Phiên bản Android 4.3 : Jelly Bean ............................................11
CHƯƠNG 2 : GIỚI THIỆU VỀ MÔI TRƯỜNG ANDROID STUDIO .....................12
2.1. Giới thiệu Android studio ...........................................................................12
2.2. Cài đặt môi trường lập trình Android .........................................................12
2.2.1. Cài đặt JAVA JDK .......................................................................12
2.2.2. Cài đặt Android Studio .................................................................14
2.2.3. Cài đặt máy ảo Android Genymotion ..........................................15
2.3. Sơ lược về sử dụng Android Studio ...........................................................19
2.3.1. Tạo mới một Project .....................................................................19
2.3.2. Cấu trúc của một dự án trong Android Studio .............................22
2.4. Quản lý màn hình điện thoại ......................................................................25
2.5. Chạy ứng dụng ...........................................................................................25
CHƯƠNG 3 : KỸ THUẬT HỖ TRỢ XÂY DỰNG ỨNG DỤNG ..............................29
3.1. Hosting .......................................................................................................29
3.1.1. Khái niệm .....................................................................................29
3.1.2. Yêu cầu và tính năng cần thiết của Hosting .................................29
3.2. Website .......................................................................................................29



CHƯƠNG 1 : TỔNG QUAN HỆ ĐIỀU HÀNH ANDROID
Giới thiệu chung về hệ điều hành android
Android là một hệ điều hành di động dựa trên nền tảng linux phiên bản 2.6 dành cho
các dòng điện thoại SmartPhone [1]. Đầu tiên được ra đời bởi công ty liên hợp Android, sau
đó được Google mua lại và phát triển từ năm 2005 và trở thành một hệ điều hành di động mã
nguồn mở, miễn phí, mạnh mẽ và được ưa chuộng cao trên thế giới. Hệ điều hành android
một hệ điều hành rất mạnh mạnh, có bảo mật cao, hỗ trợ được nhiều công nghệ tiên tiến như
3G, GPS, EDGE, Wifi.. tương thích với nhiều phần cứng, hỗ trợ nhiều loại bộ nhập dữ liệu
như keyboard, touch và trackball. Android là hệ điều hành di động nên có khả năng kết nối
cao với các mạng không dây. Hỗ trợ công nghệ OpenGL nên có khả năng chơi các phương
tiện media, hoạt hình cũng như trình diễn các khả năng đồ họa khác cực tốt, là tiền đề để phát
triển các ứng dụng có giao diện phức tạp chẳng hạn như là các trò chơi.
Android liên tục được phát triển, mỗi bản cập nhật từ google là mỗi lần android được
tối ưu hóa để hoạt động tốt hơn, nhanh và ổn định hơn, hỗ trợ thêm công nghệ mới. Chẳng
hạn như theo một đánh giá thì android phiên bản 2.2 hoạt động nhanh hơn bản 2.1 tới 450%.
Hiện nay, phiên bản mới nhất 2.3 phát hành ngày 6/12/2010 và đang tiếp tục được cập nhật.
Năm 2008, hệ điều hành android đã chính thức mở toàn bộ mã nguồn, điều đó cho phép các
hãng điện thoại có thể đem mã nguồn về tùy chỉnh, thiết kế lại sao cho phù hợp với mỗi mẫu
mã điện thoại của họ và điều quan trọng nữa là hệ điều hành mở này hoàn toàn miễn phí,
không phải trả tiền nên giúp họ tiết kiệm khá lớn chi phí phát triển hệ điều hành. Những điều
đó là cực kỳ tốt không chỉ đối với các hãng sản xuất điện thoại nhỏ mà ngay cả với những
hãng lớn như Samsung, HTC.... Với Google, vì android hoàn toàn miễn phí, Google không
thu tiền từ những hãng sản xuất điện thoại, tuy không trực tiếp hưởng lợi từ android nhưng bù
lại, những dịch vụ của hãng như Google Search, Google Maps,... nhờ có android mà có thể dễ
dàng xâm nhập nhanh vào thị trường di động vì mỗi chiếc điện thoại được sản xuất ra đều
được tích hợp hàng loạt dịch vụ của Google. Từ đó hãng có thể kiếm bội, chủ yếu là từ các
nguồn quảng cáo trên các dịch vụ đó. Với các nhà phát triển ứng dụng (developers), việc hệ
điều hành android được sử dụng phổ biến đồng nghĩa với việc họ có thể thoải mái phát triển

tầng Tầng Libraries & Android runtime , Tầng Application Framework và trên cùng là tầng
Application.
1.2.

Hình 1.2.1. Kiến trúc hệ điều hành Android
1.2.1. Nhân Linux
Hệ điều hành android được phát trển dựa trên hạt nhân linux, cụ thể là hạt nhân linux
phiên bản 2.6, điều đó được thể hiện ở lớp dưới cùng này. Tất cả mọi hoạt động của điện
thoại muốn thi hành được thì đều được thực hiện ở mức cấp thấp ở lớp này bao gồm quản lý
bộ nhớ (memory management), giao tiếp với phần cứng (driver model), thực hiện bảo mật
(security), quản lý tiến trình (process). Tuy được phát triển dựa vào nhân linux nhưng thực ra
nhân linux đã được nâng cấp và sửa đổi rất nhiều để phù hợp với tính chất của những thiết bị
cầm tay như hạn chế về bộ vi xử lý, dung lượng bộ nhớ, kích thước màn hình, nhu cần kết nối
mạng không dây...
Tầng này có các thành phần chủ yếu :

QC20-B19


 Display Driver : Điều khiển việc hiển thị lên màn hình cũng như thu nhận những điều
khiển của người dùng lên màn hình (di chuyển, cảm ứng...)
 Camera Driver : Điều kiển hoạt động của camera, nhận luồng dữ liệu từ camera trả về.
 Bluetooth Driver : Điều khiển thiết bị phát và thu sóng Bluetooth.
 USB driver : Quản lý hoạt động của các cổng giao tiếp USB
 Keypad driver : Điều khiển bàn phím  Wifi Driver : Chịu trách nhiệm về việc thu
phát sóng wifi
 Audio Driver : điều khiển các bộ thu phát âm thanh, giải mã các tính hiệu dạng audio
thành tín hiệu số và ngược lại
 Binder IPC Driver : Chịu trách nhiệm về việc kết nối và liên lạc với mạng vô tuyến
như CDMA, GSM, 3G, 4G, E để đảm bảo những chức năng truyền thông được thực

QC20-B19


-

nên tuy cùng chung nền tảng android mà điện thoại của Google có thể khác hẳn với
Motorola, HTC, T-Mobile, Samsung...
Với lập trình viên : Cho phép lập trình viên có thể sử dụng các API ở tầng trên mà
không cần phải hiểu rõ cấu trúc bên dưới, tạo điều kiện cho lập trình viên tự do sáng
tạo bởi vì chỉ cần quan tâm đến nội dung mà ứng dụng họ làm việc. Một tập hợp API
rất hữu ích được xây dựng sẵn như hệ thống định vị, các dịch vụ chạy nền, liên lạc
giữa các ứng dụng, các thành phần giao diện cấp cao ...

Giới thiệu một số thành phần của phần này :
- Activity Manager : Quản lý các chu kỳ sống của một ứng dụng cũng như cung cấp
công cụ điều khiển các Activity.
- Telephony Manager : Cung cấp công cụ để thực hiện việc liên lạc như gọi điện thoại.
- XMPP Service : Cung cấp công cụ để liên lạc trong thời gian thực.
- Location Manager : Cho phép xác định vị trí của điện thoại thoại dựa vào hệ thống
định vị toàn cầu GPS và Google Maps.
- Window Manager : Quản lý việc xây dựng và hiển thị các giao diện người dùng cũng
như tổ chức quản lý các giao diện giữa các ứng dụng.
- Notication Manager : Quản lý việc hiển thị các thông báo (như báo có tin nhắn, có email mới..)
- Resource Manager : Quản lý tài nguyên tĩnh của các ứng dụng bao gồm các file hình
ảnh, âm thanh, layout, string. (Những thành phần không được viết bởi ngôn ngữ lập
trình)
1.2.4. Tầng ứng dụng
Đây là lớp ứng dụng giao tiếp với người dùng, bao gồm các ứng dụng như : Các ứng dụng
cơ bản, được cài đặt đi liền với hệ điều hành là gọi điện(phone), quản lý danh bạ(Contacts),
duyệt web (Browser), nhắn tin (SMS), lịch làm việc (Calendar), đọc e-mail (Email-Client),

dọc sang chế độ hiển thị ngang tùy theo vị trí của thiết bị, hoặc cho phép người dùng lái xe
đua bằng xoay thiết bị, giống như đang điều khiển vô-lăng.
Các thiết bị Android sau khi khởi động sẽ hiển thị màn hình chính, điểm khởi đầu với
các thông tin chính trên thiết bị, tương tự như khái niệm desktop (bàn làm việc) trên máy tính
để bàn. Màn hính chính Android thường gồm nhiều biểu tượng (icon) và tiện ích (widget);
biểu tượng ứng dụng sẽ mở ứng dụng tương ứng, còn tiện ích hiển thị những nội dung sống
động, cập nhật tự động như dự báo thời tiết, hộp thư của người dùng, hoặc những mẩu tin thời
sự ngay trên màn hình chính. Màn hình chính có thể gồm nhiều trang xem được bằng cách
vuốt ra trước hoặc sau, mặc dù giao diện màn hình chính của Android có thể tùy chỉnh ở mức
cao, cho phép người dùng tự do sắp đặt hình dáng cũng như hành vi của thiết bị theo sở thích.
Những ứng dụng do các hãng thứ ba có trên Google Play và các kho ứng dụng khác còn cho
phép người dùng thay đổi "chủ đề" của màn hình chính, thậm chí bắt chước hình dáng của hệ
điều hành khác như Windows Phone chẳng hạn. Phần lớn những nhà sản xuất, và một số nhà
mạng, thực hiện thay đổi hình dáng và hành vi của các thiết bị Android của 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ống để 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ụng, như email hay tin nhắn SMS mới nhận, mà
không làm gián đoạn hoặc khiến người dùng cảm thấy bất tiện. Trong các phiên bản đời đầu,
người dùng có thể nhấn vào thông báo để mở ra ứng dụng tương ứng, về sau này các thông tin
cập nhật được bổ sung thêm tính năng, như có khả năng lập tức gọi ngược lại khi có cuộc gọi
nhỡ mà không cần phải mở ứng dụng gọi điện ra. Thông báo sẽ luôn nằm đó cho đến khi
người dùng đã đọc hoặc xóa nó đi.
1.4. Quá trình phát triển phiên bản Android
1.4.1. Phiên bản Android 1.0
Ngày ra mắt : 23/9/2008
Lần đầu xuất hiện, phiên bản Android đời đầu góp mặt trên chiếc điện thoại J1 của nhà
mạng T-Mobile [2]. So với những hệ điều hành di động phổ biến thời điểm đó, Android 1.0
đem đến nhiều trải nghiệm mới mẻ độc đáo như màn hình Home Screen, thanh thông báo
Notifications được kích hoạt theo phương thức vuốt dọc màn hình theo chiều từ trên xuống.

thị trường. Cũng trong năm này, Samsung bắt tay với Google để tung ra chiếc điện thoại
Nexus S. Ưu thế của Android 2.3 nằm ở việc hệ điều hành này cho phép hỗ trợ camera trước,
đi kèm với giao diện đẹp mắt và giúp tiết kiệm điện.

Hình 1.4.5.1. Giao diện hệ điều hành Gingerbread
QC20-B19


1.4.6. Phiên bản Android 3.x : Honeycomb
Ngày ra mắt: 10/5/2011
Đây là phiên bản Android được phát triển chuyên để hỗ trợ các loại máy tính bảng,
chiếc tablet đầu tiên được vinh dự cài đặt Android 3 là Motorola Xoom. Tuy không để lại
nhiều dấu ấn quan trọng nhưng Honeycomb chính là nền móng để Google phát triển Android
4.0 thành công rực rỡ.
1.4.7. Phiên bản Android 4.0 : Ice Cream Sandwich
Ngày ra mắt: 16/12/2011
Bước vào cuối năm 2011, Google bắt đầu tung ra thị trường mẫu điện thoại Galaxy
Nexus chạy hệ điều hành Android 4.0 Ice Cream Sandwich. Nhiều chuyên gia đánh giá đây là
phiên bản chứa đựng nhiều sự thay đổi mạnh mẽ nhất qua các thế hệ Android. Trên bản 4.0
này, Google đã làm mới hoàn toàn hệ thống thông báo Notification sao cho tiện dụng và đẹp
mắt hết sức có thể, đặc biệt là việc cho phép người dùng trượt ngón tay để xóa các thông báo.
Công cụ bàn phím cũng được tinh chỉnh khả năng sửa lỗi tự động cũng như thao tác sao chép
và dán nội dung. Đáng nói nhất là việc Google quyết định thống nhất một hệ điều hành duy
nhất cho cả smartphone và tablet.
1.4.8. Phiên bản Android 4.1: Jelly Bean
Ngày ra mắt: 9/7/2012
Phiên bản 4.1 Jelly Bean ra mắt cùng với chiếc tablet Nexus 7. Không có nhiều sự thay
đổi về mặt giao diện so với thời Android 4.0. Đáng kể nhất là việc Google đưa Google Now
vào hoạt động nhằm tăng tính cạnh tranh với Siri của Apple. Điều quan trọng của lần cập nhật
này là Project Butter với khả năng đem tới độ mượt mà đáng kể cho Android.

Một số nội dung tìm hiểu :
- Cách Download và cài đặt Android Studio.
- Sơ lược về sử dụng Android Studio.
Một số yêu cầu cấu hình lưu ý trước khi cài đặt:

Microsoft® Windows® 8/7/Vista (32 or 64-bit)

Tối thiểu 4 GB RAM.

Còn trống 400 MB dung lượng ổ cứng + Ít nhất 1 G cho Android SDK, hình
ảnh hệ thống giả lập và bộ nhớ cache.

Độ phân giải tối thiếu 1366 x 768

Java Development Kit.

Lựa chọn thêm cho accelerated emulator: Intel® processor with support for
Intel® VT-x, Intel® EM64T (Intel® 64), and Execute Disable (XD) Bit
functionality.
2.2. Cài đặt môi trường lập trình Android
2.2.1.Cài đặt JAVA JDK
Bước 1: Tải file cài đặt từ đường dẫn
/>Lưu ý: Chọn phiên bản tương ứng với hệ diều hành đúng với máy đang sử dụng.
Bước 2: Mở file cài đặt “jdk-*.exe” để tiến hành cài đặt
Bước 3: Cấu hình biến môi trường cho Java.
Việc này không bắt buộc, nhưng nếu trên máy tính của cài đặt nhiều phiên bản Java,
thì việc cấu hình là cần thiết để xác định phiên bản java nào mặc định được sử dụng.

QC20-B19


chạy Genymotion (đây chỉ là mức yêu cầu tối thiểu, bởi nếu sử dụng nhiều máy ảo
cùng lúc và có nhiều ứng dụng, phần mềm cài đặt thì dung lượng trống có thể được
yêu cầu nhiều hơn gấp 4 lần).
 Đảm bảo có kết nối Internet
 Độ phân giải màn hình: ít nhất 1366 x 768 pixel
 Oracle VirtualBox 4.1 trở lên.
 Ngoài ra, người dùng cần có một tài khoản Genymotion để có thể sử dụng.
b. Tải file cài đặt
Dowload: />
QC20-B19


c. Các bước cài đặt
Bước 1: Tìm tới vị trí lưu file vừa tải về đầu tiên, sau đó click đúp chuột trái vào file đó để
bắt đầu tiến hành.

Bước 2: Tùy theo ý muốn người dùng mà có thể Next ngay và cài đặt Genymotion ngay
tại ví trí được gợi ý hoặc chọn Browse để tìm vị trí khác.

Bước 3: Tiếp tục ấn Next.

Bước 4: Chọn mục Create a desktop shortcut để tạo biểu tượng cho phần mềm này trên
máy tính, sau đó Next tiếp.

QC20-B19


Bước 5: Rất có thể Genymotion sẽ tự động cài thêm một số phần mềm hỗ trợ, đồng thời
hỏi bạn có muốn cài đặt VirtualBox hay không? Nếu máy tính của bạn đã có sẵn phần mềm
VirtualBox mới nhất rồi thì thôi, còn nếu không, chọn Yes để cài đặt tiếp.



Ở hộp thoại trên cho phép bạn lựa chọn là ứng dụng của bạn sẽ được viết cho những
thiế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.

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:

QC20-B19


Activity Name: Tên class Activity (java) để ta viết mã lệnh
Layout 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ị:

Khi Android Studio tự động buid dự án ta có màn hình dưới đây.

QC20-B19


2.3.2. Cấu trúc của một dự án trong Android Studio

Hình 2.3.2.1. Cấu trúc của project
a. Thư mục app
Đây là thư mục chứa toàn bộ tài nguyên của dự án : cấu hình, file code,...
AndroidManifest.xml : Nơi khai báo các Activity trong ứng dụng.
Qui định Activity nào thực thi đầu tiên.

- Thư mục layout: Ở đây chứa các file giao diện của ứng dụng.
- Thư mục menu: Chứa các file giao diện của menu, các bạn dùng điện thoại Android
thường thấy hầu hết các ứng dụng đều có thanh menu, thanh menu đó màu sắc ra sao,
QC20-B19



Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status