1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng ứng dụng đọc truyện online trên thiết bị di động

85 2K 18

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 85
Dung lượng 4,58 MB

Nội dung

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 1

Ngà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 2

Ngà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 3

VIỆ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 4

LỜ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 5

Chươ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 6

MỤ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 7

2.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 8

3.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 9

TÓ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 10

DANH 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 11

DANH 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 12

DANH 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 13

Hì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 14

Hì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 15

Chươ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 16

Theo 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 17

nă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 18

bở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 19

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:

- 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 20

1.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 22

xế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 24

yê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 25

khi 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 29

Hì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 30

Hì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 31

trê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 32

 Base 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 33

cá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 34

 Model 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 36

API 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 37

1.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 38

Chươ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 39

nhớ Ở 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 40

2.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

Ngày đăng: 22/03/2018, 19:49

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[2] Ths. Nguyễn Hoài Anh, Slide bài giảng phân tích thiết kế hệ thống Sách, tạp chí
Tiêu đề: Slide bài gi"ả"ng phân tích thi"ế"t k"ế" h"ệ" th"ố
[3] TS. Dương Thăng Long,Slide bài giảng lập trình di động. Tài liệu tham khảo trên Internet Sách, tạp chí
Tiêu đề: Slide bài gi"ả"ng l"ậ"p trình di "độ"ng
[1] “http://developer.android.com”, [Online] Sách, tạp chí
Tiêu đề: http://developer.android.com
[2] “https://msdn.microsoft.com”, [Online] Sách, tạp chí
Tiêu đề: https://msdn.microsoft.com
[3] “http://stackoverflow.com”, [Online] Sách, tạp chí
Tiêu đề: http://stackoverflow.com
[4] “http://www.codeproject.com”, [Online] Sách, tạp chí
Tiêu đề: http://www.codeproject.com
[5] “http://www.androidhive.info”, [Online] Sách, tạp chí
Tiêu đề: http://www.androidhive.info
[6] “https://duythanhcse.wordpress.com”, [Online] Sách, tạp chí
Tiêu đề: https://duythanhcse.wordpress.com

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w