NHIỆM VỤ VÀ NỘI DUNG Nhiệm vụ cụ thể của đồ án tốt nghiệp: - Tìm hiểu và nghiên cứu nền tảng công nghệ để xây dựng ứng dụng đọc truyện online trên thiết bị di động.. Với mong muốn áp dụ
Trang 1Ngành/Chuyên ngành: Công nghệ Thông tin
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Hà Nội – 2016
N ONLINE
Trang 2Ngành/Chuyên ngành: Công nghệ Thông tin
Giảng viên hướPGS TS Đặng Thành Phu
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Hà Nội – 2016
N ONLINE
ớng dẫn:
Trang 3VIỆN ĐẠI HỌC MỞ HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do – Hạnh phúc
Hà Nội, ngày 19 tháng 04 năm 2016
NHIỆM VỤ CỦA ĐỒ ÁN TỐT NGHIỆP
Họ và tên : Nguyễn Đức Duy Giới tính : Nam
Chuyên ngành : Công nghệ thông tin Mã số : 12A10010322 Lớp hành chỉnh : 1210A06
1 TÊN ĐỀ TÀI
Xây dựng ứng dụng đọc truyện online trên thiết bị di động
2 NHIỆM VỤ VÀ NỘI DUNG
Nhiệm vụ cụ thể của đồ án tốt nghiệp:
- Tìm hiểu và nghiên cứu nền tảng công nghệ để xây dựng ứng dụng đọc truyện online trên thiết bị di động
- Phân tích và thiết kế hệ thống đọc truyện online trên thiết bị di động
- Thực hiện công cụ đọc truyện online trên thiết bị di động
3 NGÀY GIAO NHIỆM VỤ : 11/01/2016
4 NGÀY HOÀN THÀNH NHIỆM VỤ : 19/04/2016
5 GIẢNG VIÊN HƯỚNG DẪN : PGS.TS Đặng Thành Phu
GIẢNG VIÊN HƯỚNG DẪN
Ngày 19 tháng 04 năm 2016
KHOA CÔNG NGHỆ THÔNG TIN
Trang 4LỜI NÓI ĐẦU
Hiện nay, các thiết bị di động như điện thoại di động, máy tính bảng đang dần trở nên phổ biến trong cuộc sống Với sự phát triển nhanh chóng của công nghệ cộng với việc các nền tảng phần cứng ngày cảng rẻ, để sở hữu cho mình một thiết bị công nghệ như điện thoại SmartPhone hay một chiếc máy tính bảng không phải là một việc quá khó khăn như trước nữa Cùng với sự phát triển nhanh chóng của công nghệ, nhu cầu giải trí trên những thiết bị di động này cũng đang diễn ra một cách nhanh chóng và mạnh mẽ
Trước đây, khi bạn muốn đọc một cuốn sách, một tờ báo hay là một cuốn truyện thì bạn thường phải đi đến những cửa hàng sách, các thư viện mới có thể tìm thấy và đọc được chúng Việc này thường gây một số khó khăn cho không ít người do phải di chuyển từ địa điểm này sang địa điểm khác và không chắc chắn rằng có tìm được thứ mình mong muốn hay không
Với mong muốn áp dụng những kiến thức đã được trang bị và tìm hiểu thêm những kiến thức mới phù hợp với xu hướng phát triển của công nghệ
vào một ứng dụng cụ thể có ích, Em thực hiện đề tài “Xây dựng ứng dụng đọc
truyện online trên thiết bị di động” nhằm đáp ứng nhu cầu đọc những cuốn truyện yêu thích mọi lúc mọi nơi, vào bất kỳ thời điểm nào
Nội dung chính của đề tài được thể hiện trong 4 chương
Chương 1: Giới thiệu về công nghệ sử dụng trong đề tài, đó là hệ điều hành
Android, NET frameword, ASP.NET MVC, ASP.NET API và Entity Framework
Chương 2: Phân tích hệ thống với việc trình bày nhiệm vụ của hệ thống, cơ
cấu tổ chức, quy trình xử lý, mô hình tiến trình nghiệp vụ,biểu đồ hoạt động, phân tích các chức năng của hệ thống, sơ đồ luồng dữ liệu DFD và đặc tả các chức năng chi tiết
Trang 5Chương 3: Thiết kế hệ thống trên cơ sở phân tích cơ sở dữ liệu, thiết kế cơ sở
dữ liệu mức vật lý và thiết kế bố cục giao diện của chương trình Chương 4: Kết quả thực hiện đề tài phía Server và phía Client
Để hoàn thành đề tài này, em xin chân thành cảm ơn PGS.TS Đặng Thành Phu, Ths Phạm Công Hòa đã có những nhận xét quý giá về chuyên môn giúp em thực hiện tốt những nội dung của đề tài này
Trong quá trình thực hiện đồ án, em đã học hỏi thêm được rất nhiều kiến thức bổ ích, đã áp dụng những kiến thức đã được trang bị và tìm hiểu thêm kiến thức để giải quyết một vấn đề cụ thể mà thực tiễn đặt ra Đây là một hành trang tốt cho bước đường tiếp theo của em Mặc dù đã rất cố gắng
và nỗ lực hết sức để hoàn thành tốt đồ án nhưng do kiến thức và kinh nghiệm của bản thân còn hạn chế và thời gian thực hiện đồ án tương đối ngắn nên đồ
án còn những thiết sót Em mong nhận được những ý kiến đóng góp quý báu
từ các thầy cô và các đồng nghiệp để đồ án của em được hoàn thiện hơn
Em xin chân thành cảm ơn!
Tác giả
Trang 6MỤC LỤC
Chương 1 1
GIỚI THIỆU CÔNG NGHỆ SỬ DỤNG 1
1.1 Hệ điều hành Android 1
1.1.1 Khái niệm Hệ điều hành Anroid 1
1.1.2 Kiến trúc Android 1
1.1.3 Phát triển ứng dụng trên Android 6
1.1.4 Cấu trúc của một Android project 13
1.2 Giới thiệu về net framework 16
1.2.1 Common Language Runtime 17
1.2.2 Framework class library 17
1.3 ASP.NET MVC 19
1.3.1 Giới thiệu tổng quan 19
1.3.2 Ưu nhược điểm của Asp.Net MVC 20
1.4 ASP.NET API 20
1.4.1 Giới thiệu về API 20
1.4.2 Giới thiệu Web API 21
1.5 Entity Framework 22
1.5.1 Các thành phần cơ bản của Entity Framework 23
1.5.2 Cách sử dụng Entity Framework 23
Chương 2 24
PHÂN TÍCH HỆ THỐNG 24
2.1 Nhiệm vụ cơ bản của hệ thống 24
2.2 Cơ cấu tổ chức 24
2.3 Quy trình xử lý 24
Trang 72.4 Mô hình tiến trình nghiệp vụ 25
2.4.1 Định nghĩa ký hiệu sử dụng 25
2.4.2 Vẽ mô hình 26
2.5 Biểu đồ hoạt động 26
2.5.1 Định nghĩa ký hiệu sử dụng trong biểu đồ hoạt động 26
2.5.2 Biểu đồ hoạt động phía Server 27
2.5.3 Biểu đồ hoạt động phía Client 28
2.6 Phân tích chức năng hệ thống 29
2.6.1 Xác định các chức năng của hệ thống 29
2.6.2 Sơ đồ phân rã chức năng (BFD) 30
2.7 Sơ đồ luồng dữ liệu DFD 31
2.7.1 Định nghĩa ký hiệu sử dụng 31
2.7.2 DFD mức khung cảnh 31
2.7.3 DFD mức đỉnh 32
2.7.4 DFD mức dưới đỉnh 33
2.8 Đặc tả chức năng chi tiết 34
2.8.1 Hiển thị dữ liệu truyện trên trình duyệt 34
2.8.2 Cập nhật nội dung truyện 35
2.8.3 Xử lý yêu cầu cập nhật 35
2.8.4 Hiển thị dữ liệu truyện 36
2.8.5 Tìm kiếm truyện 37
2.8.6 Lưu trạng thái ứng dụng 37
2.8.7 Mở lại trạng thái ứng dụng 38
2.8.8 Cập nhật dữ liệu truyện 39
Chương 3 40
THIẾT KẾ HỆ THỐNG 40
Trang 83.1 Phân tích cơ sở dữ liệu 40
3.1.1 ERD mở rộng 40
3.1.2 Chuẩn hóa dữ liệu 41
3.1.3 Đặc tả các bảng dữ liệu 45
3.2 Thiết kế cơ sở dữ liệu mức vật lý 47
3.2.1 Mô hình dữ liệu hệ thống mức vật lý 47
3.2.2 Đặc tả chi tiết các bảng dữ liệu 48
3.3 Thiết kế bố cục giao diện của chương trình 51
3.3.1 Phía Server 51
3.3.2 Phía Client 52
Chương 4 53
KẾT QUẢ THỰC HIỆN ĐỀ TÀI 53
4.1 Phía Server 53
4.2 Phía Client 60
TỔNG KẾT VÀ HƯỚNG PHÁT TRIỂN 70
TÀI LIỆU THAM KHẢO 71
Trang 9TÓM TẮT ĐỒ ÁN Tên đề tài: Xây dựng ứng dụng đọc truyện online trên thiết bị di động
Sinh viên thực hiện: Nguyễn Đức Duy Lớp: 1210A06 Giảng viên hướng dẫn: PGS.TS Đặng Thành Phu
Tóm tắt đồ án:
Trong xu hướng phát triển của ngành công nghệ thông tin, làm việc, học tập và giải trí trên các thiết bị di động ngày càng phát triển Đề tài “Xây dựng ứng dụng đọc truyện online trên thiết bị di động”không có mục đích gì khác là mong muốnáp dụng những kiến thức đã học và đã tìm hiểu vào giải quyết một vấn đề mà thực tế đặt ra
Đề tài của đồ án được viết bằng ngôn ngữ Java trên nền tảng hệ điều hành Android và ngôn ngữ C# với sự kết nối giữa thiết bị di động (Client) với thư viện nằm trên Server
Ứng dụng cố gắng tạo ra sự thân thiện, dễ sử dụng, hỗ trợ chạy trên các phiên bản Android với mong muốn đáp ứng dược yêu cầu đọc truyện mọi lúc mọi nơi
Trang 10DANH MỤC CHỮ VIẾT TẮT STT Tên viết tắt Tên đầy đủ Dịch nghĩa tiếng Việt
Diagram Sơ đồ phân rã chức năng
Relationship Diagram Mô hình thực thể liên kết
Trang 11DANH MỤC BẢNG
Bảng 2.1 Các chức năng hệ thống 29
Bảng 3.1 Đặc tả cơ sở dữ liệu bảng Thể Loại 45
Bảng 3.3 Đặc tả cơ sở dữ liệu bảng Chương 46
Bảng 3.4 Đặc tả cơ sở dữ liệu bảng Thể Loại Truyện 46
Bảng 4.1 Đặc tả cơ sở dữ liệu chi tiết Thể loại 48
Bảng 4.2 Đặc tả cơ sở dữ liệu chi tiết Truyện 48
Bảng 4.3 Đặc tả cơ sở dữ liệu chi tiết Thể Loại Truyện 49
Bảng 4.4 Đặc tả cơ sở dữ liệu chi tiết Chương 50
Trang 12DANH MỤC HÌNH ẢNH
Hình 1.1 Kiến trúc Android 1
Hình 1.2 Chu kỳ sống của một Activity 11
Hình 1.3 Cấu trúc một Android project 13
Hình 1.4 File R.java 14
Hình 1.5 Thư mục Android 4.4.2 15
Hình 1.6 Thư mục res 16
Hình 1.7 Mô hình Net Framework 17
Hình 1.8 Mô hình MVC 19
Hình 1.9 Mô hình Entity Framework 23
Hình 2.1 Mô hình tiến trình nghiệp vụ của hệ thống 26
Hình 2.2 Biểu đồ hoạt động phía Server 27
Hình 2.3 Biểu đồ hoạt động phía Client 28
Hình 2.4 Sơ đồ phân rã chức năng 30
Hình 2.5 DFD mức khung cảnh 31
Hình 2.6 DFD mức đỉnh 32
Hình 2.7 DFD dưới đỉnh chức năng quản trị 33
Hình 2.8 DFD dưới đỉnh chức năng ứng dụng 33
Hình 2.9 Đặc tả chức năng hiển thị dữ liệu trên trình duyệt 34
Hình 2.10 Đặc tả chức năng cập nhật nội dung truyện 35
Hình 2.11 Đặc tả chức năng xử lý yêu cầu cập nhật 36
Hình 2.12 Đặc tả chức năng hiển thị dữ liệu truyện 36
Hình 2.13 Đặc tả chức năng tìm kiếm truyện 37
Trang 13Hình 2.14 Đặc tả chức năng lưu trạng thái ứng ứng dụng 38
Hình 2.15 Đặc tả chức năng mở lại trạng thái ứng dụng 38
Hình 2.16 Đặc tả chức năng cập nhật dữ liệu truyện 39
Hình 3.1 Mô hình ERD mở rộng 41
Hình 3.2 Mô hình ERD kinh điển 42
Hình 3.3 Xử lý liên kết n-n 42
Hình 3.4 Mô hình ERD hạn chế 43
Hình 3.5 Mô hình quan hệ 45
Hình 3.6 Mô hình cơ sở dữ liệu vật lý phía Server 47
Hình 3.7 Mô hình cơ sở dữ liệu vật lý phía Client 48
Hình 3.8 Bố cục giao diện màn hình chính phía Server 51
Hình 3.9 Bố cục giao diện màn hình nhập liệu phía Server 51
Hình 3.10 Bố cục giao diện màn hình phía Client 52
Hình 4.1 Màn hình trang chủ phía Server 53
Hình 4.2 Màn hình thêm mới thể loại phía Server 53
Hình 4.3 Màn hình cập nhật dữ liệu thể loại phía Server 54
Hình 4.4 Màn hình hiển thị danh sách truyện phía Server 54
Hình 4.5 Màn hình thêm mới truyện phía Server 55
Hình 4.6 Màn hình cập nhật dữ liệu truyện phía Server 55
Hình 4.7 Màn hình hiển thị danh sách chương của truyện phía Server 56
Hình 4.8 Màn hình thêm một chương mới phía Server 57
Hình 4.9 Màn hình thêm nhiều chương phía Server 57
Hình 4.10 Màn hình cập nhật nội dung chương phía Server 58
Trang 14Hình 4.11 Màn hình hiển thị chi tiết nội dung của chương phía Server 59
Hình 4.12 Hiển thị các chức năng của ứng dụng 60
Hình 4.13 Màn hình bắt đầu ứng dụng 61
Hình 4.14 Hiển thị danh sách truyện của từng thể loại 62
Hình 4.15 Hiển thị danh sách chương của một truyện 63
Hình 4.16 Đi đến một chương bất kỳ của truyện 64
Hình 4.17 Chức năng tìm kiếm truyện 65
Hình 4.18 Chức năng lịch sử đọc truyện 66
Hình 4.19 Hiển thị nội dung của chương 67
Hình 4.20 Màn hình thông tin 68
Hình 4.21 Màn hình tìm kiếm cập nhật truyện 69
Trang 15Chương 1 GIỚI THIỆU CÔNG NGHỆ SỬ DỤNG 1.1 Hệ điều hành Android
1.1.1 Khái niệm Hệ điều hành Anroid
Android là hệ điều hành điện thoại di động mã nguồn mở miễn phí do công ty Google phát triển dựa trên nền tảng của Linux Bất kỳ một hãng sản xuất phần cứng nào cũng đều có thể tự do sử dụng hệ điều hành Android cho thiết bị của mình, miễn là các thiết bị ấy đáp ứng được các tiêu chuẩn cơ bản
do Google đặt ra (có cảm ứng chạm, GPS, 3G, ) Ra đời tháng 11/2007, hệ điều hành Android đã trải qua nhiều lần cập nhật, với phiên bản gần đây nhất làAndroid 6.0 Marshmallow Android là nền tảng cho thiết bị di động bao gồm một hệ điều hành, midware và một số ứng dụng chủ đạo
Bộ công cụ Android SDK cung cấp các công cụ và bộ thư viên các hàm API cần thiết để phát triển ứng dụng cho nền tảng Android sử dụng ngôn ngữ lập trình java
1.1.2 Kiến trúc Android
Hình 1.1 Kiến trúc Android
Trang 16Theo tài liệu được cung cấp bởi Goolge, kiến trúc Android có 5 thành phần được phân lớp từ cao xuống thấp Lần lượt như sau
Applications
Đâ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), bản đồ (Map), quay phim chụp ảnh (camera) Các ứng dụng được cài thêm như các phần mềm chứng khoán (Stock), các trò chơi (Game), từ điển Các chương trình
có các đặc điểm là: Viết bằng Java, phần mở rộng là apk.Khi mỗi ứng dụng được chạy, nó có một phiên bản Virtual Machine được dựng lên để phục vụ cho nó Nó có thể là một Active Program: Chương trình có giao diện với người sử dụng hoặc là một background: chương trình chạy nền hay là dịch vụ Android là hệ điều hành đa nhiệm, điều đó có nghĩa là trong cùng một thời điểm, có thể có nhiều chương trình cùng chạy một lúc, tuy nhiên, với mỗi ứng dụng thì có duy nhất một thực thể (instance) được phép chạy mà thôi Điều đó
có tác dụng hạn chế sự lạm dụng tài nguyên, giúp hệ thống hoạt động tốt hơn Các ứng dụng được gán số ID của người sử dụng nhằn phân định quyền hạn khi sử dụng tài nguyên, cấu hình phần cứng và hệ thống Android là một hệ điều hành có tính mở, khác với nhiều hệ điều hành di động khác, Android cho phép một ứng dụng của bên thứ ba được phép chạy nền Các ứng dụng đó chỉ
có một hạn chế nhỏ đó là nó không được phép sử dụng quá 5~10% công suất CPU, điều đó nhằm để tránh độc quyền trong việc sử dụng CPU Ứng dụng không có điểm vào cố định, không có phương thức main để bắt đầu
Application Framework
Tầng này xây dựng bộ công cụ, các phần tử ở mức cao để các lập trình viên có thể nhanh chóng xây dựng ứng dụng Nó được viết bằng Java, có khả
Trang 17năng sử dụng chung để tiết kiệm tài nguyên.Đây là một nền tảng mở, điều đó
có 2 điều lợi:Với các hãng sản xuất điện thoại: Có thể tùy biến để phù hợp với cấu hình điện thoại mà họ sản xuất cũng như để có nhiều mẫu mã, style (phong cách) hợp thị hiếu người dùng Vì thế 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 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ó e-mail 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)
Libraries
Hệ điều hành Android bao gồm một tập các bộ thư viện C/C++ được sử dụng
Trang 18bởi nhiều thành phần của Android system Những tính năng này được cung cấp cho các lập trình viên thông qua bộ framework của Android Dưới đây là một số thư viện cốt lõi:
nó cùng với một thể hiện của máy ảo Dalvik Máy ảo Dalvik thực tế là một biến thể của máy ảo Java được sửa đổi, bổ sung các công nghệ đặc trưng của thiết bị di động Nó được xây dựng với mục đích làm cho các thiết bị di động
có thể chạy nhiều máy ảo một cách 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 Dalvik 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ý Ngoài ra máy ảo Dalvik sử dụng bộ nhân Linux để cung cấp các tính năng như thread, low-level memory management
Linux Kernel
Hệ điều hành Android được phát triển dựa trên hạt nhân linux, cụ thể là hạt
Trang 19nhâ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:
- Display Driver: Điều khiển việc hiển thị lên màn hình cũng như thunhậ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ệutừ 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ín 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 hiện
- M-System Driver: Quản lý việc đọc ghi lên các thiết bị nhớ như thẻ
SD, flash
- Power Management: Giám sát việc tiêu thụ điện năng
Trang 201.1.3 Phát triển ứng dụng trên Android
Ngôn ngữ lập trình
Ngôn ngữ lập trình chính thức của Android là Java Mặc dù các ứng dụng trên Android được phát triển dựa trên nền tảng Java, nhưng Android không hỗ trợ J2ME và J2SE, là hai ngôn ngữ lập trình phổ dụng cho các thiết bị di động Dựa trên máy ảo Java của Sun, Google đã tinh chỉnh và phát triển nên máy ảo Dalvik để biên dịch mã Java với tốc độ biên dịch nhanh hơn và nhẹ hơn Đến phiên bản Froyo 2.2, Android đã hỗ trợ Just-in-time Compiler (JIT) làm tăng tốc độ biên dịch Java lên gấp 2-5 lần so với các phiên bản trước
Các thành phần của một ứng dụng trên Android
• Các thành phần: việc hiểu được các thành phần (component) tạo nên một
ứng dụng Android là rất cần thiết cho việc lập trình Các thành phần này được chia làm 6 loại bao gồm:
- Activity: hiểu một cách đơn giản Activity là nền của ứng dụng Khi
khởi động một ứng dụng Android nào đó thì bao giờ cũng có main Activity được gọi, hiển thị màn hình của ứ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 để update
dữ liệu, đưa ra các cảnh báo (Notification) và không bao giờ hiển thị
cho người dùng thấy
- Content Provider: kho dữ liệu chia sẻ Content Provider được sử dụng
để quản lý và chia sẻ dữ liệu giữa 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 hay Service để thực hiện công việc bạn mong muốn Ví dụ: khi mở một trangWeb, bạn gửi đi một intent đi để tạo một activity mới hiển thị trangWeb đó
Trang 21- 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 thay thế cho phần gọi điện mặc định của Android, khi đó bạn cần một broadcast receiver để nhận biết các Intent là các cuộc gọi tới
- Notification: đưa ra các cảnh báo mà không làm các Activity phải ngừng hoạt động
Activity, Service, Broadcast 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 và bắt buộc phải khai báo trong AndroidManifest
• Cơ chế quản lý tiến trình: Android có cơ chế quản lý các Process theo
chế độ ưu tiên Các process có priority thấp sẽ bị Android giải phóng mà không cần cảnh báo để đảm bảo tài nguyên
- Foreground process: là process của ứng dụng hiện thời đang được
người dùng tương tác
- Visible process: là process của ứng dụng mà activity đang hiển thị đối với người dùng (onPaused() của activity được gọi)
- Service process: là Service đang running
- Background process: là process của ứng dụng mà các activity của nó không hiển thị với người dùng (onStoped() của activity được gọi)
- Empty process: process không có bất cứ 1 thành phần nào activity
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
• Cơ chế hoạt động và các thành phần trong Android Activity
Như đã giới thiệu ở trên, Activity là thành phần quan trọng nhất và đóng vai trò chính trong việc xây dựng ứng dụng Android Hệ điều hành quản
lý Activity theo dạng stack: Khi một Activity mới được khởi tạo nó sẽ được
Trang 22xếp lên đầu của stack và trở thành running activity, các Activity trước đó sẽ bị tạm dừng và chỉ hoạt động trở lại khi Activity mới được giải phóng
Activity bao gồm 4 state:
- Active (running): Activity đang hiển thị trên màn hình (foreground)
- Paused: Activity vẫn hiển thị (visible) nhưng không thể tương tác (lost
focus)
- Stop: Activity bị thay thế hoàn toàn bởi Activity mới sẽ tiến đến trạng
thái stop
- Killed: Khi hệ thống bị thiếu bộ nhớ, nó sẽ giải phóng các tiến trình
theo nguyên tắc ưu tiên Các Activity ở trạng thái Stop hoặc Paused cũng có thể bị giải phóng và khi nó hiển thị lại thì các Activity này phải khởi động lại hoàn toàn và phục hồi lại trạng thái trước đó
Khi xây dựng Activity cho ứng dụng cần phải viết lại phương thức onCreate() để thực hiện quá trình khởi tạo Các phương thức khác có cần viết lại hay không tùy vào yêu cầu lập trình
• XML trong Android
Không giống như lập trình Java thông thường, lập trình Android ngoài các lớp được viết trong *.java còn sử dụng XML để thiết kế giao diện cho ứng dụng Tất nhiên bạn hoàn toàn có thể thiết kế giao diện như ý muốn mà không cần bất kỳ một dòng XML nào Nhưng việc sử dụng XML sẽ đơn giản hơn rất nhiều, và dễ chỉnh sửa về sau Trong xml layout được dùng để quản lý các thành phần giao diện khác theo một trật tự nhất định
- FrameLayout: layout đơn giản nhất, thêm các thành phần con vào góc trên bên trái của màn hình
- Linearlayout: thêm các thành phần con theo 1 chiều nhất định (ngang
hoặc dọc)
Trang 23- RelativeLayout: thêm các thành phần con dựa trên mối quan hệ với các thành phần khác hoặc biên của layout
- TableLayout: thêm các thành phần con dựa trên 1 lưới các ô ngang dọc
- AbsoluteLayout: thêm các thành phần con dựa theo tọa độ x, y
Layout được sử dụng nhằm mục đích thiết kế giao diện cho nhiều độ phân giải Thường khi lập trình thường kết hợp nhiều layout với nhau để tạo
ra giao diện như mong muốn
• Các phiên bản Android
Lịch sử phiên bản của hệ điều hành di động Android bắt đầu với bản Android beta vào tháng 11/2007 Phiên bản thương mại đầu tiên, Android 1.0, được phát hành vào tháng 9/2008 Android đang được phát triển bởi Google
và Open Handset Alliance (OHA), và đã có một số bản cập nhật cho hệ điều hành này kể từ khi ra mắt
Từ tháng 4/2009, phiên bản Android được phát triển dưới tên mã là chủ
đề bánh kẹo và phát hành theo thứ tự bảng chữ cái: Cupcake (1.5), Donut (1.6), Eclair (2.0–2.1), Froyo (2.2–2.2.3), Gingerbread (2.3–2.3.7), Honeycomb (3.0–3.2.6), Ice Cream Sandwich (4.0–4.0.4), Jelly Bean (4.1–4.3), và KitKat (4.4) Vào tháng 9/2013, Google công bố rằng 1 tỉ thiết bị đã được kích hoạt hiện sử dụng Android OS trên toàn cầu Bản cập nhật Android gần đây nhất là Android 6.0 Marshmallow
Hiện tại ứng dụng của chúng tôi có thể chạy được trên các phiên bản từ 2.2 đến 6.0tương đương với API 8 đên API 23
• Lập trình trên Android
Lập trình trên Android cần các công cụ sau: Android SDK: bao gồm các công cụ riêng lẻ như: debugger, các thư viện, trình giả lập điện thoại Android, các tài liệu hỗ trợ và code mẫu Hiện Android cung cấp bộ công cụ này trên nhiều nền tảng hệ điều hành khác nhau (Windows, Linux, Mac, )
Trang 24yêu cầu cài sẵn Java Development Kit, Apache Ant và Python2.2 trở lên IDE (Môi trường phát triển tích hợp): Eclipse phiên bản 3.2 trở lên với plugin ADT (Android Development Tools), Netbeans Tuy nhiên, người lập trình có thể sử dụng bất kỳ 1 IDE hay trình soạn thảo văn bản nào để viết code Java và XML rồi biên dịch nên ứng dụng hoàn chỉnh bằng cách sử dụng dòng lệnh (command lines) Eclipse hỗ trợ tốt hơn Netbeans nên được sử dụng làm công
cụ phát triển chính thức
Một số công cụ hỗ trợ lập trình Android tiêu biểu:
SQLite Manager: Là một addon của Firefox giúp quản lí SQLite của Android DroidDraw: Giúp thiết kế file XML giao diện ứng dụng
Balsamiq Mockups và AdobeFireworks: Giúp nhanh chóng phác thảo ý tưởng
và giao diện sơ bộ của ứng dụng
StarUML: Vẽ các lược đồ UML hỗ trợ phân tích thiết kế
• Chu kỳ sống của một ứng dụng Android
Trong mỗi ứng dụng Android có chứa nhiều thành phần và mỗi thành phần đều có một chu trình sống riêng Và ứng dụng chỉ đựợc gọi là kết thúc khi tất cả các thành phần trong ứng dụng kết thúc Activity là một thành phần cho phép người dùng giao tiếp với ứng dụng Tuy nhiên khi tất cả các Activity kết thúc và người dùng không còn giao tiếp được với ứng dụng nữa nhưng không có nghĩa là ứng dụng đã kết thúc Bởi vì ngoài Activity là thành phần có khả năng tương tác với người dùng thì còn có các thành phần không
có khả năng tương tác với người dùng như là Service, Broadcast receiver Có nghĩa là thành phần không tương tác với người dùng có thể chạy nền dưới sự giám sát của HĐH cho đến khi người dùng tự tắt chúng
Vòng đời toàn diện (Entire Lifetime): Diễn ra từ lần gọi onCreate(Bundle) đầu tiên và kéo dài tới lần gọi onDestroy() cuối cùng Vòng đời thấy được (Visible Lifetime): Diễn ra từ khi gọi onStart() và kéo dài tới
Trang 25khi gọi onStop() Ở vòng đời này, activity được hiển thị trên màn hình nhưng
có thế không tương tác với người dùng ở trên nền Các phương thức onStart()
và onStop() có thể được gọi nhiều lần
Vòng đời trên nền (Foreground Lifetime): Diễn ra từ khi gọi onResume() và kéo dài tới khi gọi onPause() Ở vòng đời này, activity nằm trên mọi activity khác và tương tác được với người dùng 1 activity có thể liên tục thay đổi giữa 2 trạng thái paused và resumed, chẳng hạn khi thiết bị sleep hay một intent mới được đưa tới
Hình 1.2 Chu kỳ sống của một Activity
Các hàm thực thi của vòng đời Activity:
OnCreate(): Được gọi khi activity được tạo
Trang 26• Đây là nơi ta nên thực hiện khởi tạo tĩnh thông thường - tạo giao diện người dùng (các view), nối dữ liệu với các danh sách, v.v
• Tham số được truyền một đối tượng Bundle chứa trạng thái cũ của activity, nếu như trạng thái đã được ghi lại
• onStart() luôn được gọi sau đó
Onstart(): Được gọi ngay trước khi activity được hiện trên màn hình
• Tiếp theo bao giờ cùng là onPause()
OnPause():Được gọi khi hệ thống chuẩn bị chuyển sang một activity khác
• Phương thức này thường dùng để ghi các thay đổi chưa được lưu, dừng hoạt hình và những công việc tốn CPU khác, v.v
• Nó nên làm công việc của mình thật nhanh vì activity tiếp theo phải đợi
nó kết thúc thì mới resume được
• Tiếp theo là onResume() nếu activity quay lại, hoặc onStop() nếu nó
không còn được hiển thị đối với người dùng
• Activity trong trạng thái này có thể bị hệ thống kill
OnStop(): Được gọi khi activity không còn hiển thị đối với người dùng
• Việc này có thể xảy ra khi nó bị hủy (destroyed), hoặc do một activity khác (cũ hoặc mới) đã được resume và che nó
• Tiếp theo là onRestart() nếu activity tương tác trở loại với người dùng, hoặc onDestroy() nếu nó không quay lại
Trang 27• Hệ thống có thể kill activity trong trạng thái này
OnRestart(): Được gọi ngay trước khi activity được khởi động lại sau khi đã
bị dừng (stopped) onStart() luôn được gọi sau đó
OnDestroy(): Được gọi trước khi activity bị hủy
• Đây là lời gọi hàm cuối cùng mà activity nhận được
• Nó có thể được gọi vì activity đang kết thúc (hàm finish() của activity
được gọi), hoặc vì hệ thống đang tạm thời hủy thực thể hiện tại của activity để tiết kiệm không gian bộ nhớ
• Ta có thể phân biệt hai tình huống trên bằng cách dùng phương thức
isFinishing()
• Hệ thống có thể kill activity trong trạng thái này
1.1.4 Cấu trúc của một Android project
Hình 1.3 Cấu trúc một Android project
Trang 28Đầu tiên là thư mục src nơi chứa các file code của project Cấu trúc của một file Android code là một file java, chỉ khác nhau về các package, class và các method trong class
Hình 1.4 File R.java
Tiếp đến là file R.java trong thư mục gen Đây là file tự động tạo ra và
tự động được cập nhật lại khi có sự thay đổi trong ứng dụng Chú ý không được tùy ý vào chỉnh sửa file này Nếu bị xóa file sẽ tự động được tạo lại
Trang 29Hình 1.5 Thư mục Android 4.4.2
Thư mục Android là nơi chứa các thư viện dành cho việc lập trình Phiên bản Android càng cao thì bộ thư viện được mở rộng và hỗ trợ thêm giúp cho việc lập trình được tốt hơn
Tiếp đến là thư mục assets chứa tất cả các file html, text, cơ sở dữ liệu,… của ứng dụng
Trang 30Hình 1.6 Thư mục res
Thư mục res là thư mục chứa tài nguyên của một Android project những file mà khi activity chạy sẽ gọi đến Thư mục res bao gồm các thư mục con như: drawable (chứa các file hình ảnh), layout (chứa các file định nghĩa giao diện cho ứng dụng), raw (là thư mục chứa các file âm thanh được sử dụng trong ứng dụng),…
Cuối cùng là file AndroidManifest.xml là file XML chứa thông tin ứng dụng, cấu hình ứng dụng như: tên ứng dụng, khai báo các activity,… Chú ý bất một activity nào muốn chạy được trong ứng dụng thì đều phải khai báo trong file này
1.2 Giới thiệu về net framework
Microsoft NET Framework là mô hình lập trình của Microsoft, nó cung cấp thư viện dùng chung hỗ trợ cho các ứng dụng được lập trình và chạy
Trang 31trên nền tảng NET
Nó cung cấp nh
thường của các ứng dụng nh
kết nối cơ sở dữ liệu, ứng d
Hình 1.7 Mô hình Net Framework
1.2.1 Common Language Runtime
CLR là thành ph
Framework với hệ điều hành
được biên dịch ra mã máy mà nó
Microsoft Intermediate Language (MSIL) Khi ch
dịch MSIL ra mã máy
chiếm dụng và sử dụng tràn lan tài nguyên c
phép các lệnh nguy hiểm
1.2.2 Framework class library
Cung cấp thư việ
website …
p những giải pháp thiết yếu cho những yêu c
ng như lập trình giao diện người dùng, truy c
ng dụng web, các giải thuật số học và giao ti
Hình 1.7 Mô hình Net Framework
Common Language Runtime
CLR là thành phần kết nối giữa các phần khác trong
u hành CLR là chương trình viết bằng NET, không
ch ra mã máy mà nó được dịch ra một ngôn ngMicrosoft Intermediate Language (MSIL) Khi chạy chương tr
ch MSIL ra mã máy để thực thi các tính năng, đảm bảo ứng d
ng tràn lan tài nguyên của hệ thống Nó cũ
m được thi hành
Framework class library
ện lập trình cho ứng dụng, cơ sở dữ liệu, d
ng yêu cầu thông
u, dịch vụ web,
Trang 32Base class library – thư viện các lớp cơ sở
Đây là thư viện các lớp cơ bản nhất, được dùng trong khi lập trình hay bản thân những người xây dựng NET Frameworkcũng phải dùng nó để xây dựng các lớp cao hơn Ví dụ các lớp trong thư viện này là String, Integer, Exception, …
ADO.NET và XLM
Bộ thư viện này gồm các lớp dùng để xử lý dữ liệu.ADO.NET thay thế ADO để trong việc thao tác với các dữ liệu thông thường Các lớp đối tượng XML được cung cấp để bạn xử lý các dữ liệu theo định dạng mới: XML Các ví dụ cho bộ thư viện này là SqlDataAdapter, SqlCommand, DataSet, XMLReader, XMLWriter, …
Web services
Web services là các dịch vụ được cung cấp qua Web (hay Internet) Dịch vụ được coi là Web service không nhằm vào người dùng mà nhằm vào người xây dựng phần mềm Web services có thể dùng để cung cấp các dữ liệu hay một chức năng tính toán
Windows form
Bộ thư viện về Windows form gồm các lớp đối tượng dành cho việc xây dựng các ứng dụng Windows based Việc xây dựng ứng dụng loại này vẫn được hỗ trợ tốt từ trước đến nay bởi các công cụ và ngôn ngữ lập trình của Microsoft Giờ đây, ứng dụng chỉ chạy trên Windows sẽ có thể làm việc với ứng dụng Web dựa vào Web service Ví dụ về các lớp trong thư viện này
là Form, UserControl
ASP.NET
ASP.NET là viết tắt của Active Server Pages NET (.NET Framework)
là một công nghệ dùng để phát triển các ứng dụng web có nội dung động và
Trang 33các dịch vụ web ASP.NET là một kỹ thuật lập trình và phát triển ứng dụng web ở phía Server (server-side) dựa trên môi trường NET Với kỹ thuật server-side các đoạn mã được xử lý tại Server và phát sinh ra HTML, Javascript, CSS… sau đó gửi về phía trình duyệt phía Client
ASP.NET được kế thừa từ NET Framework với một tài nguyên phong phú bao gồm hơn 5000 classes gồm rất nhiều thứ như: XML, data access, file upload, regular expressions, transactions, SMTP mail,… nên việc thiết kế các đặc tính trong một ứng dụng trở nên dễ dàng hơn
ASP.NET cung cấp một kiểu mẫu lập trình giúp lập trình viên triển khai ứng dụng web một cách dễ dàng và nhanh chóng
1.3 ASP.NET MVC
1.3.1 Giới thiệu tổng quan
ASP.NET MVC là một trong những công nghệ hiện đại và được sử dụng phổ biến trong việc phát triển các ứng dụng Web, với đặc điểm nổi bật
là được thiết kế một cách gọn nhẹ, giảm thiểu sự phức tạp của việc xây dựng ứng dụng Web theo kiến trúc MVC (Model - View - Controller) Sự chia nhỏ này giúp lập trình viên dễ dàng kiểm soát các thành phần trong khi phát triển, cũng như lợi ích lâu dài trong việc kiểm tra, bảo trì và nâng cấp ứng dụng Web
Hình 1.8 Mô hình MVC
Trang 34Model giúp lưu trữ dữ liệu của ứng dụng và trạng thái của nó Nó là một
cơ sở dữ liệu hoặc cũng có thể chỉ là một tập tin XML
View được coi là một giao diện người dùng được sử dụng bởi khách truy cập trang web của bạn để nhìn thấy các dữ liệu Các trang ASPX thường được sử dụng để hiển thị view trong các ứng dụng ASP.NET MVC
Controller chịu trách nhiệm xử lý các tương tác của người dùng với trang web Nó được sử dụng để xác định loại view nào cần phải được hiển thị Controller cũng được sử dụng cho mục đích giao tiếp với model
1.3.2 Ưu nhược điểm của Asp.Net MVC
- Hỗ trợ tốt hơn cho test-driven development (TDD) cài đặt các unit tests
tự động, xác định và kiểm tra lại các yêu cầu trước khi bắt tay vào viết code
- Hỗ trợ kết hợp rất tốt giữa người lập trình và người thiết kế giao diện
- Sử dụng các tính năng tốt nhất đã có của ASP.NET
Nhược điểm
- Không hướng đến sự kiện làm cho các nhà phát triển ASP.NET webform khó khăn
- Yêu cầu hiểu biết về HTTP, HTML, CSS và JavaScript
- Thư viện của nhà phân phối thứ ba không mạnh bằng
1.4 ASP.NET API
1.4.1 Giới thiệu về API
- Application Programming Interface: Giao diện lập trình ứng dụng
Trang 35- API là các hàm, phương thức để cho các ứng dụng bên ngoài có thể gọi, tương tác để trao đổi thông tin, tính toán
- Việc trao đổi này giúp các nhà lập trình tạo ra các service hỗ trợ những lập trình viên khác có thể tương tác với ứng dụng của chính mình
- Hiện nay trên web các dịch vụ của google , facebook cung cấp rất nhiều api để lập trình viên có thể xây dựng tương tác giữa website của họ với google,facebook
- Mỗi phần mềm, ứng dụng có các cung cấp các API để các ứng dụng khác có thể tương tác với nó Và việc xây dựng lên các API để cho các ứng dụng bên ngoài cũng cần tuân thủ các chuẩn công nghệ để nhiều nền tảng công nghệ có thể sử dụng được API mà ứng dụng cung cấp
1.4.2 Giới thiệu Web API
- Web API là một phiên bản kế tiếp của WCF , giúp chúng ta xây dựng lên các Service cung cấp dịch vụ cho các ứng dụng web , window …
- Trước web API chúng ta để có các service API chúng ta phải cấu hình , xây dựng các ứng dụng wcf , web service khá phức tạp
- Một ứng dụng đơn giản như là : Chúng ta có 1 Web API cung cấp các dịch vụ lưu trữ dữ liệu , cung cấp các chỉ số chứng khoán ,kết quả bóng
đá , xổ số …
- Các ứng dụng Client như website , ứng dụng winform , wpf có thể kết nối vào Web API để lấy các dữ liệu về xử lý , cũng như cập nhật thông tin lại Web API
- Web API dùng phương thức trao đổi dữ liệu là HTTP , kiểu dữ liệu trao đổi là JSON , một chuẩn dữ liệu hướng đối tượng được dùng khá nhiều trong việc lưu chuyển thông tin trên Internet
- Do dùng JSON là kiểu dữ liệu chuyển đổi nên tốc độ các trang web sử dụng web API tương tác dữ liệu có tốc độ khá cao.Ngoài ra do Web
Trang 36API dùng giao thức HTTP nên hầu như tất cả các ứng dụng trên các công nghệ đều có thể kết nối tới để lấy cũng như tương tác với web API cụ thể như chúng ta có thể dùng các công nghệ web như : Asp.net (MVC ,Web Page , Web form) ,PHP , jsp hay các ứng dụng desktop như : winform , wpf đều có thể dễ dàng kết nối tới web API
- Với Web API chúng ta có thể xây dựng và phân tách các ứng dụng web lớn Cấu hình từng thành phần riêng biệt của website Đâu là tầng data , đâu là tầng xử lý , đâu là tầng dịch vụ …Nền tảng của các ứng dụng lớn luôn là các service để các website thành viên có thể kết nối tương tác
có kết nối Internet chậm)
1.5 Entity Framework
Entity Framework là một bộ ánh xạ đối tượng – quan hệ (Object/Relational Mapping - ORM) cho phép lập trình viên có thể thao tác với dữ liệu quan hệ qua các đối tượng, loại bỏ đi sự khó khăn trong việc truy cập dữ liệu cũng như không cần viết một lượng lớn code xử lý tương tác với
cơ sở dữ liệu
Trang 371.5.1 Các thành phần cơ bản của Entity Framework
- Code là mã lệnh tạo thành các lớp đối tượng dữ liệu cho phép thao tác
với dữ liệu
- Model là sơ đồ gồm các hộp mô tả các thực thể và các đường nối kết
mô tả các quan hệ
- Database là cơ sở dữ liệu (có thể là SQL Server, Compact SQL Server,
Local database, MySQL, Oracle,…)
1.5.2 Cách sử dụng Entity Framework
- Database first: là phương pháp chỉ nên dùng khi ta đã có sẵn CSDL (không phải tạo), EF Wizard sẽ tạo Model và Code cho ta
- Models first: nên dùng khi ta bắt đầu thiết kế CSDL từ đầu (từ chưa có
gì) Ta sẽ thiết kế mô hình CSDL (Model) EF sẽ tự tạo code cho ta, sau
Trang 38Chương 2 PHÂN TÍCH HỆ THỐNG 2.1 Nhiệm vụ cơ bản của hệ thống
• Quản lý nội dung truyện
• Truyền tải nội dung truyện qua internet
• Lưu trữ và hiển thị nội dung truyện trên thiết bị di động
2.2 Cơ cấu tổ chức
Phía Server (Website quản trị và Web API)
Lưu trữ nội dung truyện trên Server
Cập nhật thông tin truyện
Tiếp nhận yêu cầu từ ứng dụng
Xử lý và trả lại nội dung phù hợp
Phía Client (Ứng dụng trên android)
Hiển thị nội dung truyện
Lưu trữ nội dung truyện trên thiết bị di động
Cập nhật nội dung truyện mới
đã có và trường hợp đặc biệt có thể xóa những truyện theo yêu cầu
Ứng dụng đọc truyện trên thiết bị di động có khả năng lưu trữ lại nội dung truyện, khi người dùng mở ứng dụng lần đầu tiên, ứng dụng phía Client
sẽ tải xuống đầy đủ nội dung truyện mà Server cung cấp sau đó lưu lại ở bộ
Trang 39nhớ Ở những lần chạy tiếp theo của ứng dụng thì không cần kết nối internet cũng có thể đọc được tiếp những nội dung truyện đã được tải xuống trước đó Khi cần cập nhật dữ liệu truyện, phía Client sẽ gửi yêu cầu cập nhật lên phía Server, và phía Server sẽ tiếp nhận những yêu cầu này, sau đó tiến hành xử lý
và trả lại kết quả tương ứng với mỗi yêu cầu Phía Client nhận được kết quả
từ phía Server gửi về tiến hành xử lý kết quả trả về, cập nhật dữ liệu vào bộ nhớ và sau đó hiển thị dữ liệu lên màn hình
Bạn đọc có thể xem danh sách những thể loại hiện có, có thể xem danh sách truyện của từng thể loại Để đọc truyện bạn đọc có thể chọn truyện cần bằng cách lựa chọn từ danh mục thể loại hoặc có thể tìm kiếm truyện cần đọc, sau đó hệ thống sẽ hiển thị ra danh sách truyện tương ứng Bạn đọc chỉ cẩn lựa chọn một truyện bất kỳ hệ thống sẽ hiển thị ra danh sách chương của truyện đó và chọn một chương nào đó để hiển thị nội dung truyện
Mỗi lần bạn đọc chọn đọc một chương của một truyện nào đó, hệ thống
sẽ lưu lại lịch sử truyện đã đọc và khi ứng dụng được mở ở lần tiếp theo bạn đọc có thể đọc tiếp chính truyện đó hoặc có thể lựa chọn vào lịch sử đọc truyện để tiếp tục đọc những truyện khác mà không phải đọc lại từ đầu
2.4 Mô hình tiến trình nghiệp vụ
2.4.1 Định nghĩa ký hiệu sử dụng
Trang 402.4.2 Vẽ mô hình
Phía client
- Hiển thị nội dung truyện
- Lưu trữ nội dung truyện trên
- Cập nhật thông tin truyện
- Tiếp nhận yêu cầu từ ứng dụng
- Xử lý và trả lại nội dung tương
ứng với yêu cầu của phía Client
Hình 2.1 Mô hình tiến trình nghiệp vụ của hệ thống 2.5 Biểu đồ hoạt động
2.5.1 Định nghĩa ký hiệu sử dụng trong biểu đồ hoạt động