Báo-cáo App ghi chú - gfdgdfgdgdfgdfgf(công nghệ thông tin)

Như chúng ta biết, hiện tại đã có hơn nửa nhân loại sử dụng máy di động để thoại và giao tiếp qua các mạng không dây. Con số 3 tỉ người này sẽ còn tăng lên và máy di động càng ngày càng "thông minh" với nhiều chức năng và dịch vụ rất hấp dẫn, cho nên thị trường máy di động thông minh sẽ vượt xa máy vi tính trong một tương lai rất gần... Vì thế việc lập trình trên thiết bị di động ngày càng phổ biến và phát triển rất mạnh mẽ. Từ nền tảng mã nguồn mở, Google đã cho ra mắt Android chạy trên các thiết bị di động. Android có rất nhiều công cụ và dụng cụ miễn phí để nghiên cứu và phát triển phần mềm trên nền tảng của nó. Tài liệu này sẽ giúp chúng ta tìm hiểu về Android và cách viết một ứng dụng trên nền tảng này.Tài liệu giúp bạn tham khảo ôn tập và đạt kết quả cao. Mời bạn đọc đón xem

lOMoARcPSD| 45148588
Nhóm án : Nhóm 66PM5,6
lOMoARcPSD| 45148588
Giảng viên hướng dẫn : Ths.Nguyễn Thanh Bản
Thành viên nhóm : Phạm Xuân Phong (T) - 0199866
Phan Viết Hưởng - 0192766
lOMoARcPSD| 45148588
Mục Lục

Chương 1. GIỚI THIỆU ANDROID
............................................................................................................. 3
1.1 Khái niệm về Android:
........................................................................................................................... 3
1.1.1 Android khác với các hệ iều hành chạy trên thiết bị di ộng
khác:.......................................... 4
1.1.2 Đặc tính mở của
Android:........................................................................................................... 5
1.2 Kiến trúc của
Android:...........................................................................................................................
5
1.2.1 Android
Platform:................................................................................................................. 6
1.2.2 Tầng Linux
Kernel:................................................................................................................. 6
1.2.3 Native
Libraries:..................................................................................................................... 6
1.2.4 Tầng Runtime:
......................................................................................................................... 7 1.2.5
Tầng Application
Framework:............................................................................................... 7 Chương 2.
MÔI TRƯỜNG LẬP
TRÌNH................................................................................................. 8
2.1 Tải xuống cài ặt Android
Studio:................................................................................................... 8
Chương 3. ĐẶT VẤN
ĐỀ:.........................................................................................................................14
Xác ịnh yêu cầu khách
hàng:.............................................................................................................. 14
Chương 4. PHÂN TÍCH APP GHI
CHÚ:....................................................................................................15
1. Use Case tổng
quát:................................................................................................................
............... 15
lOMoARcPSD| 45148588
2. Use Case chi
tiết:.................................................................................................................
..................16
3. Đặc tả Use
Case:...............................................................................................................
.................... 16
4. Activity app ghi
chú:.................................................................................................................
........... 18
5. Biểu tuần
tự:...................................................................................................................
................. 21
6. Giao diện ng dụng ghi
chú:................................................................................................................
23
Chương 5.
KẾT
LUẬN:...............................................................................................................................
27
Chương 1. GIỚI THIỆU ANDROID
Như chúng ta biết, hiện tại ã có n nửa nhân loại sử dụng máy di ộng ể thoại và
giao tiếp qua các mạng không dây. Con số 3 tỉ người này sẽ còn tăng lên và máy di ộng
càng ngày càng "thông minh" với nhiều chức năng dịch vụ rất hấp dẫn, cho nên thị
trường máy di ộng thông minh sẽ vượt xa y vi tính trong một tương lai rất gần... Vì
thế việc lập trình trên thiết bị di ộng ngày càng phổ biến phát triển rất mạnh mẽ. Từ
nền tảng nguồn mở, Google ã cho ra mắt Android chạy trên các thiết bị di ộng.
Android có rất nhiều công cụ và dụng cụ miễn phí ể nghiên cứu và phát triển phần mềm
lOMoARcPSD| 45148588
trên nền tảng của nó. Tài liệu này sẽ giúp chúng ta tìm hiểu về Android và cách viết một
ứng dụng trên nền tảng này.
1.1 Khái niệm về Android:
Trước hết Android là nền tảng phần mềm dựa trên mã nguồn mở Linux OS
(Kernel 2.6) cho máy di ộng và những phần mềm trung gian (middleware) ể hổ trợ các
ứng dụng người sử dụng cần ến. Một cách ịnh nghĩa không quá chuyên môn thì có
thể coi Android là tên một nền tảng mở cho thiết bị di ộng của Google (gồm hệ
iều hành, middleware một số ứng dụng bản). Android sẽ ương ầu với một số hệ
iều hành (viết tắt là HDH) dành cho thiết bị di dộng khác ang hâm nóng thị trường như
Windows Mobile, Symbian và dĩ nhiên là cả OS X (iPhone).
thể nói một cách nôm na rằng Android một HDH chạy trên thiết bị di ộng,
cũng giống như Windows, Linux hay Mac chạy trên máy vi tính vậy.
1.1.1 Android khác với các hệ iều hành chạy trên thiết bị di ộng khác
Android ã thu hút ược sự chú ý của giới công nghệ khắp toàn cầu khi
ứa con của Google sử dụng giấy phép nguồn mở. Đó là một sản phẩm kết tinh
từ ý ởng của Khối Liên minh thiết bị cầm tay mở do Google dẫn ầu, gồm 34
thành viên với c công ty hàng ầu về công nghệ di ộng toàn cầu như
Qualcomm, Intel, Motorola, Texas Instruments và LG Electronics, các nhà
mạng như T-Mobile, Sprint Nextel, NTT DoCoMo và China Mobile.
Các nhà phát triển có thể sử dụng miễn phí bộ Kit Android Software
Development ể xây dựng các ứng dụng của mình.
1.1.2 Đặc tính mở của Android:
Android ược xây dựng ể cho phép các nhà phát triển ể tạo ra các ứng dụng
di ộng hấp dẫn, tận dụng tất cả tính năng một chiếc iện thoại ã cung cấp. Nó ược
lOMoARcPSD| 45148588
xây dựng ể ược thực sự mở. Ví dụ, một ứng dụng có thể gọi bất kỳ chức năng lõi
của iện thoại như thực hiện cuộc gọi, gửi tin nhắn văn bản, hoặc bằng cách sử
dụng máy ảnh, cho phép các nhà phát triển ể tạo ra nhiều
ứng dụng phong phú hơn cho người dùng ( iều này hiện chưa có trên Windows
Phone7 của Microsoft). Android ược xây dựng trên mã nguồn mở Linux
Kernel. Hơn nữa, nó sử dụng một máy ảo tuỳ chỉnh ược thiết kế tối ưu hóa bộ
nhớ và tài nguyên phần cứng trong một môi trường di ộng.
Android không phân biệt giữa các ứng dụng lõi của iện thoại các ng
dụng của bên thứ ba. Tất cả có thể ược xây dựng ể có thể truy cập bằng khả năng
của một thiết bị di ộng cung cấp cho người sdụng với một dải rộng các ứng
dụng và dịch vụ. Với các thiết bị xây dựng trên Android, người dùng có thể hoàn
toàn thích ứng với iện thoại ến lợi ích của họ. Với Android, một nhà phát triển
thể xây dựng một ứng dụng cho phép người dùng xem vị trí của bạn bè của họ và
ược cảnh báo khi họ ang có trong vùng phụ cận cho họ một cơ hội ể kết nối.
Android cung cấp truy cập ến một loạt các thư viện công cụ hữu ích và có
thể ược sử dụng xây dựng các ứng dụng phong phú. dụ, Android cho phép
các thiết bị giao tiếp với nhau tạo iều kiện cho ồng ẳng rich-to-peer trong ứng
dụng hội. Ngoài ra, Android bao gồm một tập hợp ầy công cụ ã ược xây dựng
công phu, với việc cung cấp nền tảng phát triển, với năng suất cao và cái nhìn sâu
vào các ứng dụng .
1.2 Kiến trúc về Android:
"Understanding Android" cách ta tiếp cận lập trình Android thấu hiểu kiến
trúc hệ thống của nó. Chúng ta thể không cần hiểu cấu trúc của một HDH nhưng
Chúng ta vẫn thể lập trình một ứng dụng trên HDH ó, ây là iều mà nhà sản xuất muốn
khi release SDK với một framework có sẵn của họ. Như chúng ta biết
iều này cũng có mặt tốt và xấu. Framework là một tầng cao cấp dành cho lập trình
viên, nó ều có giới hạn của nó, chúng ta có thể chỉ có thể lập trình những ứng dụng phổ
biến nhưng không nên tiến tới những ứng dụng cao cấp i sâu vào hệ thống của HDH.
Theo cách của mình, trước khi bắt ầu học Android, chúng ta nên nghiên cứu qua bản
thân HDH Android, chúng ta không cần phải hiểu rõ nó như thể nào, mục ích quan
trọng nhất của chúng ta là có cái nhìn chung và toàn diện nhất về Android.
lOMoARcPSD| 45148588
1.2.1 Android Platform:
Bao gồm HDH Android ầy tính năng, các ứng dụng các tầng trung
gian ể developer có thể mở rộng, tùy chỉnh hoặc thêm vào các component của họ.
Có 4 tầng cơ bản trong HDH Android: Application Framework, Android
Runtime, Native Libraries, Linux Kernel ... Mỗi tầng làm việc ều nhờ sự giúp
ỡ của tầng bên dưới.
1.2.2 Tầng Linux Kernel:
Đây là nhân của HDH Android, mọi xử lý của hệ thống ều phải thông qua
tầng này. Linux Kernel cung cấp các trình iều khiển thiết bị phần cứng
(driver) như: camera, USB, Wifi, Bluetooth, Display, Power Management ...
Android dựa trên Linux phiên bản 2.6 lựa chọn các tính năng cốt lõi như bảo mật,
quản lý bộ nhớ, quản tiến trình, mạng stack và các trình iều khiển phần cứng.
Kernel hoạt ộng như một lớp trừu tượng giữa phần cứng và phần mềm còn lại của
hệ thống.
1.2.3 Native Libraries:
System C library - nguồn gốc từ hệ thống thư viện chuẩn C (libc), iều
chỉnh các thiết bị nhúng trên Linux.
Media Libraries - playback recording của nhiều ịnh dạng video và image
phổ biến:mở rộng từ PacketVideo's OpenCORE; thư viện hỗ trợ
MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG
Surface Manager - quản lý việc hiển thị và kết hợp ồ họa 2D và 3D.
lOMoARcPSD| 45148588
6
LibWebCore - ịnh của HDH Android browser cho dạng web nhúng (như
HTMLAndroid dùng lại webkit engine cho việc render trình duyệt mặc
nhúng)
SGL - 2D engine
3D libraries - Thư viện 3D dựa trên OpenGL ES 1.0 API, nâng cấp tăng tốc
"hardware 3D acceleration"
FreeType - render bitmap và vector font.
SQLite -
quản lý database của ứng dụng.
1.2.4 Tầng Runtime:
Mỗi ứng dụng Android chạy trên một proccess riêng của Dalvik VM (máy o).
Dalvik ược viết chạy nhiều máy o ng một lúc một cách hiệu quả trên cùng một thiết
bị.
Máy ảo Dalvik thực thi các file mang ịnh dạng .dex (Dalvik Excutable),
ịnh dạng này là ịnh dạng ã ược tối ưu hóa ể chỉ chiếm một vùng nhớ vừa
ủ xài và nhỏ nhất có thể. VM chạy các class ( ã ược compile trước ó bởi 1trình biên dịch
ngôn ngữ Java), sở VM chạy ược các class này là nhờ chương trình DX tool ã convert
các class sang ịnh dạng .dex.
1.2.5 Tầng Application Framework:
Đây là tầng mà Google xây dựng cho các developer ể phát triển các
lOMoARcPSD| 45148588
ứng dụng của họ trên Android, chỉ bằng cách gọi các API sẵn Google ã viết ể sử dụng
các tính năng của phần cứng mà không cần hiểu cấu trúc bên dưới.
Bằng cách cung cấp một nền tảng phát triển mở, Android cho các nhà phát triển khả
năng xây dựng các ng dụng cực kỳ phong phú và sáng tạo. Nhà phát triển ược tự do tận
dụng các thiết bị phần cứng, thông tin ịa iểm truy cập, các dịch vụ chạy nền, thiết lập hệ
thống báo thức, thêm các thông báo ể các thanh trạng thái, và nhiều, nhiều hơn nữa.
Tất cả các ứng dụng thường gồm một bộ các dịch vụ và hệ thống cơ bản
sau:
View UI dùng ể xây dựng layout của ứng dụng bao gồm: list view, text
field, button, dialog, form ...
Content Providers cho phép các ứng dụng thể truy cập dữ liệu từ các ng dụng khác
(như ứng dụng của ta có thể lấy thông tin
Contacts của iện thoại Android), hoặc ể chia sẻ dữ liệu của riêng ứng dụng.
Resource Manager cung cấp cách thức truy cập ến non -code resources như
các asset, graphic, image, music, video ...
Notification Manager cho phép tất cả các ng dụng hiển thị thông báo của mình trên
HDH. Activity Manager quản lý vòng ời của các ứng dụng.
Ở góc nhìn của người dùng ta có thêm tầng application (là ứng dụng do chúng ta
viết), sau ây là sơ ồ tổng quát như hình 1.1:
lOMoARcPSD| 45148588
8
1-1 Kiến trúc Android
Chương 2 . MÔI TRƯỜNG LẬP TRÌNH
Tải Android Studio xuống
1. Mở một trình duyệt web bất kỳ và chuyển ến :
https://developer.android.com/studio?hl=vi#get-android-studio.
Đây là trang web dành cho nhà phát triển Android, nơi bạn có thể tải Android Studio xuống. Trang
này sẽ tự ộng phát hiện hệ iều hành của bạn.
2. Nhấp vào Download Android Studio (Tải Android Studio xuống). Trang Terms and
Conditions (Điều khoản iều kiện) Android Studio License Agreement (Thoả thuận
cấp phép) của Android Studio sẽ mở ra.
3. Đọc License Agreement (Thoả thuận cấp phép).
4. cuối trang, nếu bạn ồng ý với các iều khoản iều kiện ó, hãy ánh dấu vào hộp I have
read and agree with the above terms and conditions (Tôi ã ọc và ồng ý với các iều khoản
và iều kiện nêu trên).
5. Nhấp vào Download Android Studio (Tải Android Studio xuống) ể bắt ầu tải xuống.
6. Khi ược nhắc, hãy lưu tệp vào một vị trí bạn thể dễ dàng xác ịnh, chẳng hạn như thư
mục Downloads.
lOMoARcPSD| 45148588
7. Chờ quá trình tải xuống hoàn tất. Quá trình này thể mất chút thời gian nên bạn thể tranh
thủ thưởng thức một tách trà trong lúc chờ ợi!
Cài ặt Android Studio trên Windows
1. Mở thư mục nơi bạn ã tải và lưu tệp cài ặt Android Studio.
2. Nhấp úp vào tệp ã tải xuống.
3. Nếu bạn thấy hộp thoại User Account Control (Kiểm soát tài khoản người dùng) nhắc bạn
cho phép quá trình cài ặt thực hiện các thay ổi ối với máy tính, hãy nhấp vào Yes (Có) ể xác
nhận cài ặt.
Hộp thoại Welcome to Android Studio Setup (Chào mừng bạn ến với phần Thiết lập Android
Studio) sẽ hiện ra
.
lOMoARcPSD| 45148588
10
4. Nhấp vào Next (Tiếp theo) ể bắt ầu cài ặt.
5. Chấp nhận các chế ộ cài ặt mặc ịnh cho mọi bước.
6. Nhấp vào Finish (Hoàn tất) khi quá trình cài ặt hoàn tất ể chạy Android Studio.
7. Chọn lựa chọn ưu tiên về giao diện sáng hoặc tối khi Android Studio khởi chạy lần ầu tiên.
Ảnh chụp màn hình trong khoá học này sử dụng giao diện sáng, nhưng bạn có thể chọn giao
diện mình thích.
lOMoARcPSD| 45148588
8. Trong quá trình cài t, trình hướng dẫn thiết lập sẽ tải xuống cài ặt các thành phần cũng
như công cụ bổ sung cần thiết ể phát triển ứng dụng Android. Quá trình này có thể mất chút
thời gian tuỳ thuộc o tốc Internet. Trong thời gian này, bạn thể thấy hộp thoại User
Account Control (Kiểm soát tài khoản người dùng) dành cho Windows Command
Processor (Trình xử lý lệnh của Windows). Hãy nhấp vào Yes (Có) ể chấp nhận hộp thoại.
lOMoARcPSD| 45148588
12
9. Bạn cũng thể nhận ược Windows Security Alert (Cảnh báo bảo mật của Windows) về
adb.exe. Nhấp vào Allow Access (Cho phép truy cập) ể tiếp tục cài ặt, nếu cần.
10. Khi quá trình tải xuống và cài ặt hoàn tất, hãy nhấp vào Finish (Hoàn tất).
Cửa sổ Welcome to Android Studio (Chào mừng bạn ến với Android Studio) sẽ hiện ra bạn
có thể bắt ầu tạo ứng dụng!
lOMoARcPSD| 45148588
Chương 3 . ĐẶT VẤN ĐỀ
Trong bối cảnh hiện ại, việc ghi chú và quản lý thông tin cá nhân trở nên cực kỳ quan trọng.
Với sự phát triển của công nghệ, các ứng dụng ghi chú trên iện thoại di ộng ã trở thành công cụ
hữu ích giúp người dùng lưu trữ, quản lý và truy cập thông tin một cách dễ dàng. Tuy nhiên,
không phải ứng dụng ghi chú nào cũng áp ứng ầy ủ nhu cầu của người dùng. Do ó, việc xác ịnh
yêu cầu khách hàng chính xác và ầy ủ là bước quan trọng trong quá trình phát triển ứng dụng
ghi chú Android.
Xác ịnh yêu cầu khách hàng :
1. Nghiên cứu thị trường :
Phân tích các ứng dụng ghi chú hiện có : Nghiên cứu các ứng dụng ghi chú phổ
biến như Evernote, Google Keep, OneNote ể hiểu rõ những tính năng cơ bản và
nâng cao mà người dùng mong ợi.
Xác ịnh ối tượng người dùng mục tiêu : Đối tượng người dùng có thể là học sinh,
sinh viên, nhân viên văn phòng, hoặc những người cần quản lý thông tin cá nhân.
lOMoARcPSD| 45148588
14
2. Thu thập yêu cầu khách hàng : Khảo sát và phỏng vấn người dùng : Thực hiện
khảo sát trực tuyến và phỏng vấn trực tiếp ể thu thập thông tin về nhu cầu và mong
muốn của người dùng.
3. Xác ịnh yêu cầu chức năng :
Ghi chú văn bản : Khả năng tạo, chỉnh sửa và xóa ghi chú văn bản.
Đồng bộ hóa: Khả năng ồng bộ hóa ghi chú trên nhiều thiết bị.
Sắp xếp : Khả năng sắp xếp ghi chú theo các tiêu chí khác nhau như ngày tháng,
nhãn, và mức ộ ưu tiên.
4. Xác ịnh các yêu cầu phi chức năng : Giao diện người dùng (UI) và trải
nghiệm người dùng(UX): Giao diện thân thiện, dễ sử dụng và tương tác mượt mà.
Hiệu suất : Ứng dụng phải hoạt ộng nhanh chóng và ổn ịnh.
Khả năng mở rộng : Ứng dụng có khả năng cập nhật và thêm mới các tính năng
trong tương lai.
5. Xác thực yêu cầu : Đánh giá và cập nhật : Dựa trên phản hồi của người dùng, cập
nhật và iều chỉnh yêu cầu ể ảm bảo ứng dụng áp ứng tốt nhất nhu cầu của người
dùng.
Chương 4 . PHÂN TÍCH APP GHI CHÚ
1. Use Case tổng quát
lOMoARcPSD| 45148588
Mô tả Use Case :
- Tạo ghi c : Người dùng có thể nhanh chóng ghi lại ý tưởng, thông tin quan
trọng, hoặc bất kỳ nội dung nào mà họ cần nhớ. Điều này giúp họ tránh quên
các chi tiết quan trọng trong công việc, học tập, hoặc cuộc sống hàng ngày.
- Quản lý ghi chú : Gồm chức năng xóa ghi chú khi không cần thiết hoặc ã
hoàn thành,cập nhập ghi chú nếu ghi thiếu hoặc không úng với mong muốn
và hiển thị thông tin ghi chú ra màn hình.
2. Use Case chi tiết
lOMoARcPSD| 45148588
16
3. Đặc tả Use Case
Đặc tả Use Case tạo ghi chú
ID
UC1.UC01
Name
Tạo ghi chú
Brief description
Người dùng có thể nhanh chóng ghi lại ý tưởng, thông tin quan
trọng, hoặc bất kỳ nội dung nào mà họ cần nhớ. Điều này giúp họ
tránh quên các chi tiết quan trọng trong công việc, học tập, hoặc
cuộc sống hàng ngày
Actors
User
Pre-conditions
User ã tải app và ã ược phân quyền vào hệ thống
Basic flow
1. User truy cập vào app ghi chú
2. User chọn “tạo ghi chú” hoặc tương tự
3. Hệ thống hiển thị views tạo ghi chú và user iền thông tin
cần ghi chú: tiêu ề, nội dung ghi chú.
4. User lưu thông tin vừa iền.
Đặc tả User Case xóa ghi chú
lOMoARcPSD| 45148588
ID
UC2.UC01
Name
Xóa ghi chú
Brief description
Cho phép người dùng xóa từng ghi chú riêng lẻ từ danh sách ghi
chú hoặc từ giao diện chi tiết của ghi chú
Actors
User
Pre-conditions
User ã tải app và ã ược phân quyền vào hệ thống
Basic flow
1. User truy cập vào app ghi chú
2. User nhấn và lướt sang ngang ể xóa ghi chú
3. Hệ thống hiển thị thông báo và nếu bạn không muốn xóa
ghi chú nữa thì bạn nhấn Undo ể hoàn tác
Đặc tả Use Case cập nhật ghi chú
ID
UC2.UC02
Name
Cập nhật ghi chú
Brief description
Người dùng có thể nhanh chóng cập nhật lại ý tưởng, thông tin
quan trọng, hoặc bất kỳ nội dung nào mà họ muốn thay ổi.
Actors
User
Pre-conditions
User ã tải app và ã ược phân quyền vào hệ thống
Basic flow
1. User truy cập vào app ghi chú
2. User nhấn vào ghi chú muốn cập nhật
3. Hệ thống hiển thị views cập nhật ghi chú và user iền
thông tin cần thay ổi: tiêu ề, nội dung ghi chú...
4. User lưu thông tin vừa iền.
4. Activity app ghi chú
Tạo ghi chú
lOMoARcPSD| 45148588
18
Xóa ghi chú
| 1/30

Preview text:

lOMoAR cPSD| 45148588 Nhóm ồ án : Nhóm – 66PM5,6 lOMoAR cPSD| 45148588
Giảng viên hướng dẫn
: Ths.Nguyễn Thanh Bản Thành viên nhóm
: Phạm Xuân Phong (T) - 0199866 Phan Viết Hưởng - 0192766 lOMoAR cPSD| 45148588 Mục Lục  Chương 1. GIỚI THIỆU ANDROID
............................................................................................................. 3 1.1 Khái niệm về Android:
........................................................................................................................... 3 1.1.1
Android khác với các hệ iều hành chạy trên thiết bị di ộng
khác:.......................................... 4 1.1.2 Đặc tính mở của
Android:........................................................................................................... 5 1.2 Kiến trúc của
Android:........................................................................................................................... 5 1.2.1 Android
Platform:................................................................................................................. 6 1.2.2 Tầng Linux
Kernel:................................................................................................................. 6 1.2.3 Native
Libraries:..................................................................................................................... 6 1.2.4 Tầng Runtime:
......................................................................................................................... 7 1.2.5 Tầng Application
Framework:............................................................................................... 7 Chương 2. MÔI TRƯỜNG LẬP
TRÌNH................................................................................................. 8 2.1 Tải xuống và cài ặt Android
Studio:................................................................................................... 8 Chương 3. ĐẶT VẤN
ĐỀ:.........................................................................................................................14 Xác ịnh yêu cầu khách
hàng:.............................................................................................................. 14 Chương 4. PHÂN TÍCH APP GHI
CHÚ:....................................................................................................15 1. Use Case tổng
quát:................................................................................................................ ............... 15 lOMoAR cPSD| 45148588 2. Use Case chi
tiết:................................................................................................................. ..................16 3. Đặc tả Use
Case:............................................................................................................... .................... 16 4. Activity app ghi
chú:................................................................................................................. ........... 18 5. Biểu ồ tuần
tự:................................................................................................................... ................. 21 6. Giao diện ứng dụng ghi
chú:................................................................................................................ 23 Chương 5. KẾT
LUẬN:............................................................................................................................... 27
Chương 1. GIỚI THIỆU ANDROID
Như chúng ta biết, hiện tại ã có hơn nửa nhân loại sử dụng máy di ộng ể thoại và
giao tiếp qua các mạng không dây. Con số 3 tỉ người này sẽ còn tăng lên và máy di ộng
càng ngày càng "thông minh" với nhiều chức năng và dịch vụ rất hấp dẫn, cho nên thị
trường máy di ộng thông minh sẽ vượt xa máy vi tính trong một tương lai rất gần... Vì
thế việc lập trình trên thiết bị di ộng ngày càng phổ biến và phát triển rất mạnh mẽ. Từ
nền tảng mã nguồn mở, Google ã cho ra mắt Android chạy trên các thiết bị di ộng.
Android có rất nhiều công cụ và dụng cụ miễn phí ể nghiên cứu và phát triển phần mềm lOMoAR cPSD| 45148588
trên nền tảng của nó. Tài liệu này sẽ giúp chúng ta tìm hiểu về Android và cách viết một
ứng dụng trên nền tảng này.
1.1 Khái niệm về Android:
Trước hết Android là nền tảng phần mềm dựa trên mã nguồn mở Linux OS
(Kernel 2.6) cho máy di ộng và những phần mềm trung gian (middleware) ể hổ trợ các
ứng dụng mà người sử dụng cần ến. Một cách ịnh nghĩa không quá chuyên môn thì có
thể coi Android là tên một nền tảng mở cho thiết bị di ộng của Google (gồm hệ
iều hành, middleware và một số ứng dụng cơ bản). Android sẽ ương ầu với một số hệ
iều hành (viết tắt là HDH) dành cho thiết bị di dộng khác ang hâm nóng thị trường như
Windows Mobile, Symbian và dĩ nhiên là cả OS X (iPhone).
Có thể nói một cách nôm na rằng Android là một HDH chạy trên thiết bị di ộng,
cũng giống như Windows, Linux hay Mac chạy trên máy vi tính vậy.
1.1.1 Android khác với các hệ iều hành chạy trên thiết bị di ộng khác
Android ã thu hút ược sự chú ý của giới công nghệ khắp toàn cầu khi
ứa con của Google sử dụng giấy phép mã nguồn mở. Đó là một sản phẩm kết tinh
từ ý tưởng của Khối Liên minh thiết bị cầm tay mở do Google dẫn ầu, gồm 34
thành viên với các công ty hàng ầu về công nghệ và di ộng toàn cầu như
Qualcomm, Intel, Motorola, Texas Instruments và LG Electronics, các nhà
mạng như T-Mobile, Sprint Nextel, NTT DoCoMo và China Mobile.
Các nhà phát triển có thể sử dụng miễn phí bộ Kit Android Software
Development ể xây dựng các ứng dụng của mình.
1.1.2 Đặc tính mở của Android:
Android ược xây dựng ể cho phép các nhà phát triển ể tạo ra các ứng dụng
di ộng hấp dẫn, tận dụng tất cả tính năng một chiếc iện thoại ã cung cấp. Nó ược lOMoAR cPSD| 45148588
xây dựng ể ược thực sự mở. Ví dụ, một ứng dụng có thể gọi bất kỳ chức năng lõi
của iện thoại như thực hiện cuộc gọi, gửi tin nhắn văn bản, hoặc bằng cách sử
dụng máy ảnh, cho phép các nhà phát triển ể tạo ra nhiều
ứng dụng phong phú hơn cho người dùng ( iều này hiện chưa có trên Windows
Phone7 của Microsoft). Android ược xây dựng trên mã nguồn mở Linux
Kernel. Hơn nữa, nó sử dụng một máy ảo tuỳ chỉnh ược thiết kế ể tối ưu hóa bộ
nhớ và tài nguyên phần cứng trong một môi trường di ộng.
Android không phân biệt giữa các ứng dụng lõi của iện thoại và các ứng
dụng của bên thứ ba. Tất cả có thể ược xây dựng ể có thể truy cập bằng khả năng
của một thiết bị di ộng cung cấp cho người sử dụng với một dải rộng các ứng
dụng và dịch vụ. Với các thiết bị xây dựng trên Android, người dùng có thể hoàn
toàn thích ứng với iện thoại ến lợi ích của họ. Với Android, một nhà phát triển có
thể xây dựng một ứng dụng cho phép người dùng xem vị trí của bạn bè của họ và
ược cảnh báo khi họ ang có trong vùng phụ cận cho họ một cơ hội ể kết nối.
Android cung cấp truy cập ến một loạt các thư viện công cụ hữu ích và có
thể ược sử dụng ể xây dựng các ứng dụng phong phú. Ví dụ, Android cho phép
các thiết bị giao tiếp với nhau tạo iều kiện cho ồng ẳng rich-to-peer trong ứng
dụng xã hội. Ngoài ra, Android bao gồm một tập hợp ầy ủ công cụ ã ược xây dựng
công phu, với việc cung cấp nền tảng phát triển, với năng suất cao và cái nhìn sâu vào các ứng dụng .
1.2 Kiến trúc về Android:
"Understanding Android" là cách mà ta tiếp cận lập trình Android và thấu hiểu kiến
trúc hệ thống của nó. Chúng ta có thể không cần hiểu rõ cấu trúc của một HDH nhưng
Chúng ta vẫn có thể lập trình một ứng dụng trên HDH ó, ây là iều mà nhà sản xuất muốn
khi release SDK với một framework có sẵn của họ. Như chúng ta biết
iều này cũng có mặt tốt và xấu. Framework là một tầng cao cấp dành cho lập trình
viên, nó ều có giới hạn của nó, chúng ta có thể chỉ có thể lập trình những ứng dụng phổ
biến nhưng không nên tiến tới những ứng dụng cao cấp i sâu vào hệ thống của HDH.
Theo cách của mình, trước khi bắt ầu học Android, chúng ta nên nghiên cứu qua bản
thân HDH Android, chúng ta không cần phải hiểu rõ nó như thể nào, mục ích quan
trọng nhất của chúng ta là có cái nhìn chung và toàn diện nhất về Android. lOMoAR cPSD| 45148588
1.2.1 Android Platform:
Bao gồm HDH Android ầy ủ tính năng, các ứng dụng và các tầng trung
gian ể developer có thể mở rộng, tùy chỉnh hoặc thêm vào các component của họ.
Có 4 tầng cơ bản trong HDH Android: Application Framework, Android
Runtime, Native Libraries, Linux Kernel ... Mỗi tầng làm việc ều nhờ sự giúp
ỡ của tầng bên dưới.
1.2.2 Tầng Linux Kernel:
Đây là nhân của HDH Android, mọi xử lý của hệ thống ều phải thông qua
tầng này. Linux Kernel cung cấp các trình iều khiển thiết bị phần cứng
(driver) như: camera, USB, Wifi, Bluetooth, Display, Power Management ...
Android dựa trên Linux phiên bản 2.6 lựa chọn các tính năng cốt lõi như bảo mật,
quản lý bộ nhớ, quản lý tiến trình, mạng stack và các trình iều khiển phần cứng.
Kernel hoạt ộng như một lớp trừu tượng giữa phần cứng và phần mềm còn lại của hệ thống.
1.2.3 Native Libraries:
System C library - có nguồn gốc từ hệ thống thư viện chuẩn C (libc), iều
chỉnh các thiết bị nhúng trên Linux.
Media Libraries - playback và recording của nhiều ịnh dạng video và image
phổ biến:mở rộng từ PacketVideo's OpenCORE; thư viện hỗ trợ
MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG
Surface Manager - quản lý việc hiển thị và kết hợp ồ họa 2D và 3D. lOMoAR cPSD| 45148588
LibWebCore - ịnh của HDH Android browser và cho dạng web nhúng (như
HTMLAndroid dùng lại webkit engine cho việc render trình duyệt mặc nhúng) SGL - 2D engine
3D libraries - Thư viện 3D dựa trên OpenGL ES 1.0 API, có nâng cấp tăng tốc "hardware 3D acceleration"
FreeType - render bitmap và vector font.
SQLite - quản lý database của ứng dụng. 1.2.4 Tầng Runtime:
Mỗi ứng dụng Android chạy trên một proccess riêng của Dalvik VM (máy ảo).
Dalvik ược viết ể chạy nhiều máy ảo cùng một lúc một cách hiệu quả trên cùng một thiết bị.
Máy ảo Dalvik thực thi các file mang ịnh dạng .dex (Dalvik Excutable),
ịnh dạng này là ịnh dạng ã ược tối ưu hóa ể chỉ chiếm một vùng nhớ vừa
ủ xài và nhỏ nhất có thể. VM chạy các class ( ã ược compile trước ó bởi 1trình biên dịch
ngôn ngữ Java), sở dĩ VM chạy ược các class này là nhờ chương trình DX tool ã convert
các class sang ịnh dạng .dex.
1.2.5 Tầng Application Framework:
Đây là tầng mà Google xây dựng cho các developer ể phát triển các 6 lOMoAR cPSD| 45148588
ứng dụng của họ trên Android, chỉ bằng cách gọi các API có sẵn mà Google ã viết ể sử dụng
các tính năng của phần cứng mà không cần hiểu cấu trúc bên dưới.
Bằng cách cung cấp một nền tảng phát triển mở, Android cho các nhà phát triển khả
năng xây dựng các ứng dụng cực kỳ phong phú và sáng tạo. Nhà phát triển ược tự do tận
dụng các thiết bị phần cứng, thông tin ịa iểm truy cập, các dịch vụ chạy nền, thiết lập hệ
thống báo thức, thêm các thông báo ể các thanh trạng thái, và nhiều, nhiều hơn nữa.
Tất cả các ứng dụng thường gồm một bộ các dịch vụ và hệ thống cơ bản sau:
View UI dùng ể xây dựng layout của ứng dụng bao gồm: list view, text
field, button, dialog, form ...
Content Providers cho phép các ứng dụng có thể truy cập dữ liệu từ các ứng dụng khác
(như ứng dụng của ta có thể lấy thông tin
Contacts của iện thoại Android), hoặc ể chia sẻ dữ liệu của riêng ứng dụng.
Resource Manager cung cấp cách thức truy cập ến non -code resources như
các asset, graphic, image, music, video ...
Notification Manager cho phép tất cả các ứng dụng hiển thị thông báo của mình trên HDH.
Activity Manager quản lý vòng ời của các ứng dụng.
Ở góc nhìn của người dùng ta có thêm tầng application (là ứng dụng do chúng ta
viết), sau ây là sơ ồ tổng quát như hình 1.1: lOMoAR cPSD| 45148588
1-1 Kiến trúc Android
Chương 2 . MÔI TRƯỜNG LẬP TRÌNH
Tải Android Studio xuống
1. Mở một trình duyệt web bất kỳ và chuyển ến :
https://developer.android.com/studio?hl=vi#get-android-studio.
Đây là trang web dành cho nhà phát triển Android, nơi bạn có thể tải Android Studio xuống. Trang
này sẽ tự ộng phát hiện hệ iều hành của bạn.
2. Nhấp vào Download Android Studio (Tải Android Studio xuống). Trang Terms and
Conditions (Điều khoản và iều kiện) có Android Studio License Agreement (Thoả thuận
cấp phép) của Android Studio sẽ mở ra.
3. Đọc License Agreement (Thoả thuận cấp phép).
4. Ở cuối trang, nếu bạn ồng ý với các iều khoản và iều kiện ó, hãy ánh dấu vào hộp I have
read and agree with the above terms and conditions (Tôi ã ọc và ồng ý với các iều khoản và iều kiện nêu trên).
5. Nhấp vào Download Android Studio (Tải Android Studio xuống) ể bắt ầu tải xuống.
6. Khi ược nhắc, hãy lưu tệp vào một vị trí mà bạn có thể dễ dàng xác ịnh, chẳng hạn như thư mục Downloads. 8 lOMoAR cPSD| 45148588
7. Chờ quá trình tải xuống hoàn tất. Quá trình này có thể mất chút thời gian nên bạn có thể tranh
thủ thưởng thức một tách trà trong lúc chờ ợi!
Cài ặt Android Studio trên Windows
1. Mở thư mục nơi bạn ã tải và lưu tệp cài ặt Android Studio.
2. Nhấp úp vào tệp ã tải xuống.
3. Nếu bạn thấy hộp thoại User Account Control (Kiểm soát tài khoản người dùng) nhắc bạn
cho phép quá trình cài ặt thực hiện các thay ổi ối với máy tính, hãy nhấp vào Yes (Có) ể xác nhận cài ặt.
Hộp thoại Welcome to Android Studio Setup (Chào mừng bạn ến với phần Thiết lập Android Studio) sẽ hiện ra. lOMoAR cPSD| 45148588
4. Nhấp vào Next (Tiếp theo) ể bắt ầu cài ặt.
5. Chấp nhận các chế ộ cài ặt mặc ịnh cho mọi bước.
6. Nhấp vào Finish (Hoàn tất) khi quá trình cài ặt hoàn tất ể chạy Android Studio.
7. Chọn lựa chọn ưu tiên về giao diện sáng hoặc tối khi Android Studio khởi chạy lần ầu tiên.
Ảnh chụp màn hình trong khoá học này sử dụng giao diện sáng, nhưng bạn có thể chọn giao diện mình thích. 10 lOMoAR cPSD| 45148588
8. Trong quá trình cài ặt, trình hướng dẫn thiết lập sẽ tải xuống và cài ặt các thành phần cũng
như công cụ bổ sung cần thiết ể phát triển ứng dụng Android. Quá trình này có thể mất chút
thời gian tuỳ thuộc vào tốc ộ Internet. Trong thời gian này, bạn có thể thấy hộp thoại User
Account Control
(Kiểm soát tài khoản người dùng) dành cho Windows Command
Processor
(Trình xử lý lệnh của Windows). Hãy nhấp vào Yes (Có) ể chấp nhận hộp thoại. lOMoAR cPSD| 45148588
9. Bạn cũng có thể nhận ược Windows Security Alert (Cảnh báo bảo mật của Windows) về
adb.exe. Nhấp vào Allow Access (Cho phép truy cập) ể tiếp tục cài ặt, nếu cần.
10. Khi quá trình tải xuống và cài ặt hoàn tất, hãy nhấp vào Finish (Hoàn tất).
Cửa sổ Welcome to Android Studio (Chào mừng bạn ến với Android Studio) sẽ hiện ra và bạn
có thể bắt ầu tạo ứng dụng! 12 lOMoAR cPSD| 45148588
Chương 3 . ĐẶT VẤN ĐỀ
Trong bối cảnh hiện ại, việc ghi chú và quản lý thông tin cá nhân trở nên cực kỳ quan trọng.
Với sự phát triển của công nghệ, các ứng dụng ghi chú trên iện thoại di ộng ã trở thành công cụ
hữu ích giúp người dùng lưu trữ, quản lý và truy cập thông tin một cách dễ dàng. Tuy nhiên,
không phải ứng dụng ghi chú nào cũng áp ứng ầy ủ nhu cầu của người dùng. Do ó, việc xác ịnh
yêu cầu khách hàng chính xác và ầy ủ là bước quan trọng trong quá trình phát triển ứng dụng ghi chú Android.
Xác ịnh yêu cầu khách hàng :
1. Nghiên cứu thị trường :
• Phân tích các ứng dụng ghi chú hiện có : Nghiên cứu các ứng dụng ghi chú phổ
biến như Evernote, Google Keep, OneNote ể hiểu rõ những tính năng cơ bản và
nâng cao mà người dùng mong ợi.
• Xác ịnh ối tượng người dùng mục tiêu : Đối tượng người dùng có thể là học sinh,
sinh viên, nhân viên văn phòng, hoặc những người cần quản lý thông tin cá nhân. lOMoAR cPSD| 45148588
2. Thu thập yêu cầu khách hàng : Khảo sát và phỏng vấn người dùng : Thực hiện
khảo sát trực tuyến và phỏng vấn trực tiếp ể thu thập thông tin về nhu cầu và mong muốn của người dùng.
3. Xác ịnh yêu cầu chức năng :
Ghi chú văn bản : Khả năng tạo, chỉnh sửa và xóa ghi chú văn bản.
Đồng bộ hóa: Khả năng ồng bộ hóa ghi chú trên nhiều thiết bị.
Sắp xếp : Khả năng sắp xếp ghi chú theo các tiêu chí khác nhau như ngày tháng,
nhãn, và mức ộ ưu tiên.
4. Xác ịnh các yêu cầu phi chức năng : Giao diện người dùng (UI) và trải
nghiệm người dùng(UX): Giao diện thân thiện, dễ sử dụng và tương tác mượt mà.
Hiệu suất : Ứng dụng phải hoạt ộng nhanh chóng và ổn ịnh.
Khả năng mở rộng : Ứng dụng có khả năng cập nhật và thêm mới các tính năng trong tương lai.
5. Xác thực yêu cầu : Đánh giá và cập nhật : Dựa trên phản hồi của người dùng, cập
nhật và iều chỉnh yêu cầu ể ảm bảo ứng dụng áp ứng tốt nhất nhu cầu của người dùng.
Chương 4 . PHÂN TÍCH APP GHI CHÚ
1. Use Case tổng quát 14 lOMoAR cPSD| 45148588
Mô tả Use Case :
- Tạo ghi chú : Người dùng có thể nhanh chóng ghi lại ý tưởng, thông tin quan
trọng, hoặc bất kỳ nội dung nào mà họ cần nhớ. Điều này giúp họ tránh quên
các chi tiết quan trọng trong công việc, học tập, hoặc cuộc sống hàng ngày.
- Quản lý ghi chú : Gồm chức năng xóa ghi chú khi không cần thiết hoặc ã
hoàn thành,cập nhập ghi chú nếu ghi thiếu hoặc không úng với mong muốn
và hiển thị thông tin ghi chú ra màn hình. 2. Use Case chi tiết lOMoAR cPSD| 45148588
3. Đặc tả Use Case
Đặc tả Use Case tạo ghi chú ID UC1.UC01 Name Tạo ghi chú Brief description
Người dùng có thể nhanh chóng ghi lại ý tưởng, thông tin quan
trọng, hoặc bất kỳ nội dung nào mà họ cần nhớ. Điều này giúp họ
tránh quên các chi tiết quan trọng trong công việc, học tập, hoặc cuộc sống hàng ngày Actors User Pre-conditions
User ã tải app và ã ược phân quyền vào hệ thống Basic flow
1. User truy cập vào app ghi chú
2. User chọn “tạo ghi chú” hoặc tương tự
3. Hệ thống hiển thị views tạo ghi chú và user iền thông tin
cần ghi chú: tiêu ề, nội dung ghi chú.
4. User lưu thông tin vừa iền.
Đặc tả User Case xóa ghi chú 16 lOMoAR cPSD| 45148588 ID UC2.UC01 Name Xóa ghi chú Brief description
Cho phép người dùng xóa từng ghi chú riêng lẻ từ danh sách ghi
chú hoặc từ giao diện chi tiết của ghi chú Actors User Pre-conditions
User ã tải app và ã ược phân quyền vào hệ thống Basic flow
1. User truy cập vào app ghi chú
2. User nhấn và lướt sang ngang ể xóa ghi chú
3. Hệ thống hiển thị thông báo và nếu bạn không muốn xóa
ghi chú nữa thì bạn nhấn Undo ể hoàn tác
Đặc tả Use Case cập nhật ghi chú ID UC2.UC02 Name Cập nhật ghi chú Brief description
Người dùng có thể nhanh chóng cập nhật lại ý tưởng, thông tin
quan trọng, hoặc bất kỳ nội dung nào mà họ muốn thay ổi. Actors User Pre-conditions
User ã tải app và ã ược phân quyền vào hệ thống Basic flow
1. User truy cập vào app ghi chú
2. User nhấn vào ghi chú muốn cập nhật
3. Hệ thống hiển thị views cập nhật ghi chú và user iền
thông tin cần thay ổi: tiêu ề, nội dung ghi chú...
4. User lưu thông tin vừa iền.
4. Activity app ghi chú  Tạo ghi chú lOMoAR cPSD| 45148588  Xóa ghi chú 18