Tải bản đầy đủ (.doc) (37 trang)

LẬP TRÌNH ỨNG DỤNG ĐỌC TRUYỆN TRANH ONLINE BẰNG ANDROID STUDIO

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (451.87 KB, 37 trang )

TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
HỮU NGHỊ VIỆT - HÀN
KHOA: CÔNG NGHỆ THÔNG TIN

BÁO CÁO
THỰC TẬP TỐT NGHIỆP

Tên: “LẬP TRÌNH ỨNG DỤNG ĐỌC TRUYỆN TRANH ONLINE
BẰNG ANDROIDSTUDIO”

Sinh viên thực hiện : Lê Thế Đô
Lớp

: CCLT07B

Họ tên GVHD

: Đoàn Thanh Sơn

Đơn vị thực tập

: Công ty Finger

Đà Nẵng , tháng 4 năm 2016


Lập trình ứng dụng đọc truyện tranh online

2

LỜI MỞ ĐẦU


Công nghệ thông tin (CNTT) ngày càng có vai trò quan trọng trong cuộc sống
hàng ngày của chúng ta. Việc ứng dụng CNTT vào các lĩnh vực trong đời sống giúp
công việc được tiến hành nhanh chóng và hiệu quả hơn. Có rất nhiều công việc mới
phát triển song song cùng với CNTT, một trong số đó là lập trình Android, một hướng
đi dịch vụ mang lại hiệu quả kinh tế rất lớn.
Em chọn đề tài “Lập trình ứng dụng đọc truyện tranh online bằng Android
Studio” nhằm tìm hiểu sâu hơn về ngôn ngữ java, từ đó viết một ứng dụng cụ thể
nhằm củng cố kiến thức và làm quen với công việc lập trình trong tương lai.
Em xin chân thành cảm ơn!

Khoa: Công nghệ thông tin_Lớp: CCLT07B

Lê Thế Đô


Lập trình ứng dụng đọc truyện tranh online

3

MỤC LỤC
LỜI MỞ ĐẦU......................................................................................................................................2
MỤC LỤC...........................................................................................................................................3
DANH MỤC HÌNH ẢNH.......................................................................................................................5
CHƯƠNG 1 : GIỚI THIỆU VỀ CÔNG TY FINGER...................................................................................6
1.1Tổng quan về công ty Finger......................................................................................................6
1.2Giới thiệu chung.......................................................................................................................6
1.3Lịch sử và thành tựu chính........................................................................................................6
1.4Lĩnh vực hoạt động.................................................................................................................10
1.5Sơ đồ tổ chức bộ máy công ty.................................................................................................11
1.6Khách hàng chính....................................................................................................................12

CHƯƠNG 2 : CƠ SỞ LÝ THUYẾT........................................................................................................14
2.1Sơ lược về ngôn ngữ Java.......................................................................................................14
2.1.1Khái niệm.........................................................................................................................14
2.1.2Lịch sử ra đời...................................................................................................................14
2.1.3Sự phát triển của Java.....................................................................................................15
2.1.4Đặc điểm.........................................................................................................................15
2.1.5Khả năng.........................................................................................................................15
2.2Một số tính chất của ngôn ngữ Java........................................................................................16
2.2.1 Đơn giản.........................................................................................................................16
2.2.2 Hướng đối tượng...........................................................................................................16
2.2.3 Độc lập phần cứng và hệ điều hành................................................................................16
2.2.5 Bảo mật..........................................................................................................................17
2.2.6 Phân tán.........................................................................................................................17
2.2.7 Đa luồng.........................................................................................................................18
2.2.8 Linh động........................................................................................................................18
CHƯƠNG 3 : PHÂN TÍCH VÀ THIẾT KẾ..............................................................................................19
3.1 Mô hình hóa yêu cầu..............................................................................................................19

Khoa: Công nghệ thông tin_Lớp: CCLT07B

Lê Thế Đô


Lập trình ứng dụng đọc truyện tranh online

4

3.1.1 Xác định các tác nhân.....................................................................................................19
3.1.2 Xác định các trường hợp sử dụng (use case)...................................................................19
3.1.2.1 Liệt kê các trường hợp sử dụng....................................................................................19

3.1.2.2 Đặc tả các trường hợp sử dụng....................................................................................19
3.1.2.3 Biểu đồ trường hợp sử dụng.........................................................................................20
3.2 Mô hình hóa khái niệm..........................................................................................................20
3.2.1. Các gói trong hệ thống...................................................................................................20
3.2.1.1 Các lớp biên..................................................................................................................20
3.2.1.2 Các lớp điều khiển........................................................................................................21
3.4. Một số thuật toán sử dụng trong chương trình....................................................................21
CHƯƠNG 4 : XÂY DỰNG CHƯƠNG TRÌNH........................................................................................32
4.1Tổng quan về ứng dụng đọc truyện tranh online.....................................................................32
4.2Giao diện ứng dụng................................................................................................................32
4.2.1Giao diện chính................................................................................................................32
4.2.2 Giao diện ứng dụng........................................................................................................33
4.3. Hướng dẫn sử dụng..............................................................................................................34
4.3.1. Yêu cầu cấu hình............................................................................................................34
4.3.1 Màn hình chính...............................................................................................................34
4.3.2 Màn hình ứng dụng........................................................................................................34
KẾT LUẬN.........................................................................................................................................35
TÀI LIỆU THAM KHẢO......................................................................................................................36
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN.........................................................................................37

Khoa: Công nghệ thông tin_Lớp: CCLT07B

Lê Thế Đô


Lập trình ứng dụng đọc truyện tranh online

5

DANH MỤC HÌNH ẢNH

Hình 1: Logo công ty Finger................................................................................................................6
Hình 2: Lịch sử hình thành công ty Finger..........................................................................................6
Hình 3: Sơ đồ tổ chức bộ máy công ty.............................................................................................12
Hình 4: Các khách hàng chính..........................................................................................................12
Hình 5: Độc lập phần cứng và hệ điều hành.....................................................................................16
Hình 6: Biểu đồ trường hợp sử dụng Người sử dụng......................................................................20
Hình 7: Các lớp biên.........................................................................................................................20
Hình 8: Các lớp điều khiển...............................................................................................................21
Hình 10: Biểu đồ hoạt động.............................................................................................................21
Hình 11: Giao diện chính..................................................................................................................32
Hình 12: Giao diện ứng dụng...........................................................................................................33
Hình 13: Hiệu ứng lật trang..............................................................................................................33

Khoa: Công nghệ thông tin_Lớp: CCLT07B

Lê Thế Đô


Lập trình ứng dụng đọc truyện tranh online

6

CHƯƠNG 1 : GIỚI THIỆU VỀ CÔNG TY FINGER
1.1 Tổng quan về công ty Finger

Hình 1: Logo công ty Finger
Tên công ty : Công Ty Finger
Địa chỉ: - 서서서서서 서서서서 서서서서 24-1 서서서서 11 서 (zip. 150-877)
Điện thoại - 1544-9350
Fax - 070-8224-8769

Email:
Website: />1.2 Giới thiệu chung
Công ty Finger chuyên cung cấp các giải pháp và dịch vụ tài chính qua mobile
và internet, nắm giữ và phát triển kỹ thuật Scraping màn hình trong nước vào tháng 4
năm 2001, công ty đã tạo nên một vị trí như là người lãnh đạo tiên phong trong ngành
công nghiệp PFMS. Dựa trên nền tảng kỹ thuật, công ty đã đi đúng bước trong thời đại
thông tin hóa và giá trị của dịch vụ tài chính là rất quan trọng, cung cấp các dịch vụ tốt
nhất bằng các kỹ thuật hiện đại nhất
Công ty cổ phần Finger chúng tôi (FINANCE+MANAGER) dẫn đầu về Digital
Finance Paradigm trong sứ mạng của mình và sẽ luôn nỗ lực để đáp ứng các yêu cầu
thay đổi không ngừng của khách hàng,quyết tâm phát triển thành một doanh nghiệp
mạnh mẽ và thoải mái trong nguyên lý nền tảng phổ biến
1.3 Lịch sử và thành tựu chính

Hình 2: Lịch sử hình thành công ty Finger
Khoa: Công nghệ thông tin_Lớp: CCLT07B

Lê Thế Đô


Lập trình ứng dụng đọc truyện tranh online

7

2001
Thực hiện dịch vụ “ my finger” về thẻ ngoại hối cho hiệp hội thương mại
KOTIS
Xây dựng hệ thống xử lý khiếu nại cho công ty SamSung Card
Thực hiện dịch vụ “my finger” cho tổ chức chứng khoán đầu tư Hàn Quốc
Thực hiện dịch vụ “my finger” cho “ngân hàng JonBuk/ sinh mệnh SamSung”

Thực hiện dịch vụ “my finger” cho BC Card/ LG Card
Thực hiện dịch vụ “my finger” cho hãng Chollian, Unitel, Auction
Thực hiện dịch vụ “my finger” cho ngân hàng Busan/ Ngân hàng Hanmi
Đạt được bằng sáng chế cho Screen scraping
2002
Ký hợp đồng về cung cấp dịch vụ One Force Main cho công ty truyền thông
Hanaro
Cung cấp hệ thống thông báo nội dung nhận tiền theo thời gian thực cho công
ty tour express
Ký hợp đồng cung cấp dịch vụ quản lý tài sản cá nhân cho ngân hàng Kwang Ju
Thực hiện dịch vụ ‘Money@’ cho công ty Yongjin Comerce
Ký hợp đồng xây dựng dịch vụ tổng hợp PFMS cho Housing & Commercial
Bank
Cung cấp giải pháp quản lý nợ và tài sản cho công ty Posco
Ký hợp đồng cung cấp PFMS giữa công ty Takumi Nhật và Finger
Cung cấp giải pháp thông báo nhậntiền cho toàn chi nhánh của Flea Market
Cung cấp dịch vụ ‘Money@’ cho công ty Dacom Cyber pass
Xây dựng dịch vụ version web PFMS cho ngân hàng ngoại hối
Thực hiện dịch vụ “ My finger” cho công ty Lycos
Xây dựng dịch vụ version web PFMS cho ngân hàng Kookmin
Thực hiện dịch vụ “ My finger” cho công ty Edupia
Thực hiện dịch vụ “ My finger” cho công ty Netsgo
Thực hiện dịch vụ “ My finger” cho công ty bảo hiểm Ssangyong
2003
Khoa: Công nghệ thông tin_Lớp: CCLT07B

Lê Thế Đô


Lập trình ứng dụng đọc truyện tranh online


8

Cung cấp dịch vụ chi trả điện tử cho công ty Dongbang / công ty All at
Cung cấp giải pháp tổng hợp tài khoản không dây cho công ty paxnet
Cung cấp hệ thống thông báo nội dung nhận, rút tiền theo thời gian thực tế cho
công ty Samsung capital
Phát triển hệ thống quản lý quỹ cho công ty vận chuyển CJ Korea Express
Cung cấp hệ thống thông báo nội dung nhận, rút tiền theo thời gian thực tế cho
công ty du lịch Hanjin
Ký hợp đồng chương trình dịch vụ tổng hợp tài khoản cho ngân hàng ngoại hối
Hàn Quốc
Cung cấp hệ thống chi trả điện tử cho thẻ BC
2004
Cung cấp dịch vụ chứng nhận lai lịch cho ngân hàng Jeilbank
Cung cấp hệ thống thông báo nội dung nhận, rút tiền theo thời gian thực tế cho
công ty SamSung Card
Cung cấp hệ thống thông báo nội dung nhận, rút tiền theo thời gian thực tế cho
công ty dược Boryung
Ký hợp đồng cung cấp dịch vụ PFMS cho công ty truyền thông Hanaro
Cung cấp hệ thống thông báo nội dung nhận, rút tiền theo thời gian thực tế cho
công ty Tour 2000
Cung cấp hệ thống thông báo nội dung nhận, rút tiền theo thời gian thực tế cho
công ty Huyndai Card
Ký hợp đồng nhận thầu hệ thống cho ngân hàng Kookmin
Cung cấp hệ thống chi trả điện tử cho công ty Joy Dream
Ký hợp đồng nâng cấp quản lý tài sản Monita paxnet
Hệ thống thông báo nội dung nhận, rút tiền theo thời gian thực tế cho công ty
Tour Express
2005

Cung cấp dịch vụ đi kèm chi trả điện tử cho công ty hệ thống Dong Bang
Ký hợp đồng cung cấp dịch vụ Myzone KT (PFMS)
Ký hợp đồng bảo tri dịch vụ quản lý quỹ cho công ty vận chuyển CJ Korea
Express
Khoa: Công nghệ thông tin_Lớp: CCLT07B

Lê Thế Đô


Lập trình ứng dụng đọc truyện tranh online

9

Cung cấp hệ thống thông báo nội dung nhận, rút tiền theo thời gian thực tế cho
công ty Hanwha Tour
Ký hợp đồng hệ thống hoán trả tự động cho công đoàn quản lý an toàn giao
thông đường bộ
Đăng ký bằng sáng chế “ hệ thống và phương pháp quản lý tài sản khách hàng
có sử dụng phương pháp Scraping Screen'
2006
Cung cấp giải pháp sổ chi tiêu điện tử và tích hợp tài khoản thống kê
Cung cấp máy Scraping cho ENC
Ký hợp đồng bảo trì / vận hành với công ty Monita
Ký hợp đồng phát triển kết nối tìm kiếm tài khoản có công ty Monita paxnet
Ký hợp đồng phát triển Scarping sổ tiết kiện cho công ty paxne
Vận hành và phát triển thêm sổ chi tiêu mini SKT Moneta
2007
Xây dựng dịch vụ WorkSiteBank cho ngân hàng Shin Han
Ký hợp đồng bảo trì / vận hành dịch vụ quản lý tài sản cá nhân cho ngân hàng
Kook Min

Xây dựng hệ thống đối tác kinh doanh cho ngân hàng tích hợp Shin Han
Xây dựng premium Banking cho ngân hàng Shin han/ ngân hàng JoHung
2008
Xây dựng dịch vụ tìm kiếm tài khoản CMS ngoại quốc cho ngân hàng ShinHan
Xây dựng dự án cải tiến Internet Banking ở nước ngoài cho ngân hàng Shin
Han
Xây dựng dịch vụ tổng hợp VM Mobile Banking cho ngân hàng doanh nghiệp
Xây dựng hệ thống nhân Homepage của các cơ quan cho ngân hàng Shin Han
2009
Chứng nhận viện nghiên cứu của công ty (Hiệp hội công nghiệp Hàn Quốc)
Xây dựng hệ thống Internet Banking cho chi nhánh Trung Quốc của ngân hàng
ShinHan
Hoàn tất xây dựng dịch vụ KT ShowSmartBanking
Khoa: Công nghệ thông tin_Lớp: CCLT07B

Lê Thế Đô


Lập trình ứng dụng đọc truyện tranh online

10

Chọn công ty xây dựng dịch vụ tổng hợp CMS và hoàn tất xây dựng
Xây dựng lại hệ thống Internet Banking Global cho ngân hàng Shin Han
Xây dựng dịch vụ IFRS cho SFG, ngân hàng Shin Han
Xây dựng dịch vụ quản lý tài sản cá nhân Citi-SKT (Mobile Money)
Nhận được giải thưởng công ty phần mềm tiêu biểu của Đại Hàn Dân Quốc
(Giải thưởng ưu tú trong lĩnh vực SW)
Đăng ký bằng sán chế “ hệ thống tạo lý thuyết tài chính và phương pháp”
2010

Hoàn tất xây dựng dịch vụ coupon, bất động sản smart phone cho ngân hàng
Shin Han
Hoàn tất xây dựng dịch vụ tìm tài khoản tổng hợp Smart Phone LGT
Hoàn tất xây dựng dịch vụ SmartPhone Banking cho ngân hàng Shin Han
Hoàn tất xây dựng dịch vụ tổng hợp CMS
Xây dựng Internet Banking Global America Shin Han
Dịch vụ Banknig iPhong cho ngân hàng doanh nghiệp
Nhận được giải thưởng công ty phần mềm tiêu biểu của Đại Hàn Dân Quốc
(Giải thưởng ưu tú trong lĩnh vực SW)
Đăng ký bằng sáng chế cho “ hệ thống và phương pháp phê duyệt có sử dụng
Mobile Money”
1.4 Lĩnh vực hoạt động
Công ty Finger trên nền tảng kỹ thuật cung cấp dịch vụ tài chính thông qua
kênh Cyber , đang cung cấp/ phát triển các giải pháp tài chính Smartphone và quản lý
quỹ tổng hợp chuyên dùng cho các doanh nghiệp ở các cơ quan tài chính trong nước.
Lĩnh vực kinh doanh chính của công ty có chia làm 3 mảng dịch vụ dựa trên
giải pháp mobile và giải pháp web tài chính với đối tượng khách hàng là các cá nhân,
doanh nghiệp, tổ chức công cộng . Ngoài ra , công ty cũng có năng lực kỹ thuật
chuyên môn trong lĩnh vực và giải pháp tùy chỉnh đa dạng sử dụng kỹ thuật scraping
màn hình.

Tài chính
doanh

Kinh doanh Quản lý công quỹ
Mobile

Khoa: Công nghệ thông tin_Lớp: CCLT07B

Quản lý vốn


Giải pháp IT

Lê Thế Đô


Lập trình ứng dụng đọc truyện tranh online

11

nghiệp


Internet

banking


Global



Smart

banking


Smart




Hệ thống hỗ trợ



Quản lý vốn

quản lý tài sản
tích hợp
(MIDAS on AMS) • Quản lý quỹ
• Hệ thống dịch vụ doanh nghiệp



Giải pháp modul



Standard firm

banking module

Internet
banking

wallet

Tài
khác


Dịch vụ quản lý • Modul kết nối
Hệ thống thanh toán tài sản cá nhân
• Tablet
SAP
Internet
(PFMS)
Banking
• Modul kết nối
• Quản lý góp/
service
VAN
phân
bổ
quỹ
• Car calling
• Giải pháp
• Quản lý phí
• Forest
framework
nghiên
cứu
(FFinger
• Application
RCMS)
• Items
Frame Work for
• Dịch vụ tìm
Hunter
C/S
kiếm thương mại

Free market
• Web FrameWork
(CM)
Tìm kiếm công • XmlParser



Tài chính

chính khác

lien kết bên ngoài
(F-DIS)

(CMS)



Transit firm

banking module



phá sản, nghỉ • Scraping solution
kinh doanh
• Screen Scraping


Mobile solution


Orchestra
1.5 Sơ đồ tổ chức bộ máy công ty
Công ty Finger có viện nghiên cứu Smart và 5 bộ phận chính với khoản 110
nhân viên
Mỗi phòng ban đều có nhân lực chuyên môn nhiều kinh nghiệm phong phú
trong lĩnh vực tài chính. Các nhân viên cũng đang nỗ lực để phát triển các dịch vụ tài
chính .

Khoa: Công nghệ thông tin_Lớp: CCLT07B

Lê Thế Đô


Lập trình ứng dụng đọc truyện tranh online

12

Hình 3: Sơ đồ tổ chức bộ máy công ty
1.6 Khách hàng chính
Công ty Finger là công ty tiên phong trong lĩnh vực dịch vụ tài chính phát triển
trên Smart App và quản lý vốn của doanh nghiệp cũng như cá nhân. Công ty hiện có
hơn 70 khách hàng chính là các công ty về xuất bản /du lịch, cơ quan công/bảo
hiểm/Card/ngân hàng và có khoản 40,000 doanh nghiệp hiện đang sử dụng dịch vụ do
công ty phát triển.

Hình 4: Các khách hàng chính
Khoa: Công nghệ thông tin_Lớp: CCLT07B

Lê Thế Đô



Lập trình ứng dụng đọc truyện tranh online

Khoa: Công nghệ thông tin_Lớp: CCLT07B

13

Lê Thế Đô


Lập trình ứng dụng đọc truyện tranh online

14

CHƯƠNG 2 : CƠ SỞ LÝ THUYẾT
2.1 Sơ lược về ngôn ngữ Java
2.1.1 Khái niệm
Java được biết đến như một ngôn ngữ hướng đối tượng (OO - object-oriented),
bạn có thể sử dụng ngôn ngữ này để lập trình hướng đối tượng. Điều này rất khác so
với lập trình thủ tục, và có thể hơi lạ lùng đối với hầu hết các lập-trình-viên-khônghướng-đối-tượng. Bước đầu tiên bạn phải hiểu đối tượng là gì, vì đó là khái niệm cơ sở
của OOP.
2.1.2 Lịch sử ra đời
Java được khởi đầu bởi James Gosling và bạn đồng nghiệp ở Sun Microsystems
năm 1991. Ban đầu ngôn ngữ này được gọi làOak (có nghĩa là cây sồi; do bên ngoài cơ
quan của ông Gosling có trồng nhiều loại cây này), họ dự định ngôn ngữ đó thay
choC++, nhưng các tính năng giống Objective C. Không nên lẫn lộn Java với
JavaScript, hai ngôn ngữ đó chỉ giống tên và loại cú pháp như C. Công ty Sun
Microsystems đang giữ bản quyền và phát triển Java thường xuyên. Tháng 04/2011,
công ty Sun Microsystems tiếp tục cho ra bản JDK 1.6.24.

Java được tạo ra với tiêu chí "Viết (code) một lần, thực thi khắp nơi" ("Write
Once, Run Anywhere" (WORA)). Chương trình phần mềm viết bằng Java có thể chạy
trên mọi nền tảng (platform) khác nhau thông qua một môi trường thực thi với điều
kiện có môi trường thực thi thích hợp hỗ trợ nền tảng đó. Môi trường thực thi của Sun
Microsystems hiện hỗ trợ Sun Solaris, Linux, Mac OS, FreeBSD & Windows. Ngoài
ra, một số công ty, tổ chức cũng như cá nhân khác cũng phát triển môi trường thực thi
Java cho những hệ điều hành khác như BEA, IBM, HP.... Trong đó đáng nói đến nhất
là IBM Java Platform hỗ trợ Windows, Linux, AIX & z/OS.
Những chi tiết về ngôn ngữ, máy ảo và API của Java được giữ bởi Cộng đồng
Java (do Sun quản lý). Java được tạo ra vào năm 1991 do một số kỹ sư ở Sun, bao gồm
ông James Gosling, một phần của Dự án Xanh (Green Project). Java được phát hành
vào năm 1994, rồi nó trở nên nổi tiếng khi Netscape tuyên bố tại hội thảo SunWorld
năm 1995 là trình duyệt Navigator của họ sẽ hỗ trợ Java. Về sau Java được hỗ trợ trên
hầu hết các trình duyệt như Internet Explorer (Microsoft), Firefox (Mozilla), Safari
(Apple)...
Java được sử dụng chủ yếu trên môi trường NetBeans và Oracle. Sau khi Oracle
mua lại công ty Sun Microsystems năm 2009-2010, Oracle đã mô tả họ là "người quản

Khoa: Công nghệ thông tin_Lớp: CCLT07B

Lê Thế Đô


Lập trình ứng dụng đọc truyện tranh online

15

lý công nghệ Java với cam kết không ngừng để bồi dưỡng một cộng đồng tham gia và
minh bạch".
2.1.3 Sự phát triển của Java

• 1990: Ngôn ngữ Oak được tạo ra bởi James Gosling trong dự án Green của
• Sun MicroSystems nhằm phát triển phần mềm cho các thiết bị dân dụng.
• 1995: Oak đổi tên thành Java.
• 1996: trở thành chuẩn công nghiệp cho Internet.
2.1.4 Đặc điểm
• Ngôn ngữ hoàn toàn hướng đối tượng (Pure OOP).
• Ngôn ngữ đa nền: "Viết một lần , Chạy trên nhiều nền”.
• Ngôn ngữ đa luồng (multi-threading): xử lý và tính toán song song.
• Ngôn ngữ phân tán (distributed): cho phép các đối tượng của một ứng dụng
được phân bố và thực thi trên các máy tính khác nhau.
• Ngôn ngữ động: cho phép mã lệnh của một chương trình được tải từ một máy
tính về máy của người yêu cầu thực thi chương trình.
• Ngôn ngữ an toàn: hạn chế các thao tác nguy hiểm cho máy tính thật.
• Ngôn ngữ đơn giản, dễ học, kiến trúc chương trình đơn giản, trong sáng.
2.1.5 Khả năng
• Ngôn ngữ bậc cao.
• Có thể được dùng để tạo ra các loại ứng dụng để giải quyết các vấn đề về số,
xử lý văn bản, tạo ra trò chơi, và nhiều thứ khác.
• Có các thư viện hàm hỗ trợ xây dựng giao diện (GUI) như AWT, Swing, …
• Có các môi trường lập trình đồ họa như JBuilder, NetBeans, Eclipse, …
• Có khả năng truy cập dữ liệu từ xa thông qua cầu nối JDBC
• Hỗ trợ các lớp hữu ích, tiện lợi trong lập trình các ứng dụng mạng (Socket)
cũng như truy xuất Web hay nhúng vào trong trang Web (Applet).
• Hỗ trợ lập trình phân tán (Remote Method Invocation) cho phép một ứng
dụng có thể được xử lý phân tán trên các máy tính khác nhau.
• Lập trình trên thiết bị cầm tay (J2ME).
• Xây dựng các ứng dụng trong môi trường xí nghiệp (J2EE).
Khoa: Công nghệ thông tin_Lớp: CCLT07B

Lê Thế Đô



Lập trình ứng dụng đọc truyện tranh online

16

2.2 Một số tính chất của ngôn ngữ Java
Java là ngôn ngữ lập trình được phát triển từ ngôn ngữ lập trình C/C++. Nó kế
thừa, phát huy các thế mạnh của ngôn ngữ C/C++ và lược bỏ đi các cú pháp phức tạp
của C/C++. Ngôn ngữ lập trình Java có một số đặc trưng tiêu biểu: đơn giản, hướng
đối tượng, độc lập phần cứng và hệ điều hành, mạnh mẽ, bảo mật, phân tán, đa luồng
và linh động.
2.2.1 Đơn giản
Những người thừa kế mong muốn phát triển một ngôn ngữ dễ học và quen
thuộc với đa số người lập trình. Do vậy Java loại bỏ các đặc trưng phức tạp của C và
C++ như:


Loại bỏ thao tác con trỏ, thao tác định nghĩa chồng đoán tử



Không cho phép đa kế thừa mà sử dụng các giao diện



Không sử dụng lệnh “goto”cũng như file header (.h)




Loại bỏ cấu trúc “struct” và “union”

2.2.2 Hướng đối tượng
Java là ngôn ngữ lập trình thần hướng đối tượng, mọi chương trình viết trên
Java đều phải được xây dựng trên các đối tượng. Nếu trong C/C++ ta có thể tạo ra các
hàm (chương trình con không gắn với đối tượng nào) thì trong Java ta chỉ có thể tạo ra
các phương thức (chương trình con gắn liền với một lớp cụ thể). Trong Java không cho
phép các đối tượng có tính năng đa kế thừa mà được thay thế bằng các giao diện
(interface)
2.2.3 Độc lập phần cứng và hệ điều hành
Đối với các ngôn ngữ lập trình truyền thống như C/C++, phương pháp biên dịch
được thực hiện như sau:

Hình 5: Độc lập phần cứng và hệ điều hành
Khoa: Công nghệ thông tin_Lớp: CCLT07B

Lê Thế Đô


Lập trình ứng dụng đọc truyện tranh online

17

2.2.4 Mạnh mẽ
Java là ngôn ngữ yêu cầu chặt chẽ về kiểu dữ liệu.


Kiểu dữ liệu phải khai báo tường minh




Java không sử dụng con trỏ và các phép toán con trỏ



Java kiểm tra tất cả các truy nhập đến mảng, chuỗi khi thực thi để đảm bảo
rằng các truy nhập đó không ra ngoài giới hạn kích thước.



Trong các môi trường lập trình truyền thống, lập trình viên phải tự mình
cấp phát bộ nhớ, trước khi chương trình kết thúc thì phải tự giải phóng bộ
nhớ đã cấp. Vấn đề có thể nảy sinh khi lập trình viên quên giải phóng bộ
nhớ đã xin cấp trước đó. Trong chương trình Java, lập trình viên không
phải bận tâm đến việc cấp phát bộ nhớ. Quá trình cấp phát, giải phóng
được thực hiện tự động, nhờ dịch vụ thu nhặt những đối tượng không còn
sử dụng nữa (garbage collection).



Cơ chế bẫy lỗi của Java giúp đơn giản hóa quá trình xử lý và hồi phục sau
lỗi.

2.2.5 Bảo mật
Java cung cấp một môi trường quản lý thực thi chương trình với nhiều mức để
kiểm soát tính an toàn:


Ở mức thấp nhất, dữ liệu và các phương thức được đóng gói bên trong
lớp. Chúng chỉ được truy xuất thông qua các giao diện mà lớp cung cấp.




Ở mức thứ hai, trình biên dịch kiểm soát để đảm bảo mã là an toàn, và
tuân theo các nguyên tắc của Java.



Mức thứ ba được đảm bảo bởi trình thông dịch; chúng kiểm soát xem
bytecode có đảm bảo các quy tắc an toàn trước khi thực thi không.



Mức thứ tự kiểm soát việc nạp các lớp vào bộ nhớ để giám sát việc vi
phạm giới hạn truy suất trước khi nạp vào hệ thống.

2.2.6 Phân tán
Java được thiết kế để hỗ trợ các ứng dụng chạy trên mạng bằng các lớp mạng
(java.net). Hơn nữa, Java hỗ trợ nhiều nền chạy khác nhau nên chúng được sử dụng
rộng rãi như là công cụ phát triển trên Internet – nơi sử dụng nhiều nền khác nhau.

Khoa: Công nghệ thông tin_Lớp: CCLT07B

Lê Thế Đô


Lập trình ứng dụng đọc truyện tranh online

18


2.2.7 Đa luồng
Chương trình Java cung cấp giải pháp đa luồng (Multithreading) để thực thi các
công việc đồng thời. Chúng cũng cung cấp giải pháp đồng bộ giữa các luồng. Đặc tính
hỗ trợ đa luồng này cho phép xây dựng các ứng dụng trên mạng chạy hiệu quả.
2.2.8 Linh động
Java được thiết kế như một ngôn ngữ động để đáp ứng cho những môi trường
mở. Các chương trình Java chứa rất nhiều thông tin thực thi nhằm kiểm soát và truy
nhập đối tượng lúc chạy. Điều này cho phép khả năng liên kết mã động.

Khoa: Công nghệ thông tin_Lớp: CCLT07B

Lê Thế Đô


Lập trình ứng dụng đọc truyện tranh online

19

CHƯƠNG 3 : PHÂN TÍCH VÀ THIẾT KẾ
3.1 Mô hình hóa yêu cầu
3.1.1 Xác định các tác nhân
Vì phần mềm dùng trên điện thoại nên chỉ có một tác nhân là người sử dụng.
3.1.2 Xác định các trường hợp sử dụng (use case)
3.1.2.1 Liệt kê các trường hợp sử dụng
- Khởi động ứng dụng
- Đóng ứng dụng
- Lật trang
3.1.2.2 Đặc tả các trường hợp sử dụng
• Khởi động ứng dụng:
- Tác nhân: Người sử dụng

- Mô tả: Khi bắt ứng dụng thì người sử dụng cần phải khởi động ứng dụng.
• Đóng ứng dụng:
- Tác nhân: Người sử dụng
- Mô tả: Để đảm bảo an toàn thông tin, dung lượng máy, tránh hao tổn pin khi kết
thúc ứng dụng, người sử dụng phải đóng ứng dụng
• Lật trang:
-

Tác nhân: Người sử dụng

-

Mô tả: Người sử dụng thực hiện việc lướt màn hình để lật trang.

Khoa: Công nghệ thông tin_Lớp: CCLT07B

Lê Thế Đô


Lập trình ứng dụng đọc truyện tranh online

20

3.1.2.3 Biểu đồ trường hợp sử dụng
 Biểu đồ trường hợp sử dụng Úng dụng

Hình 6: Biểu đồ trường hợp sử dụng Người sử dụng
3.2 Mô hình hóa khái niệm
3.2.1. Các gói trong hệ thống
3.2.1.1 Các lớp biên

Lớp biên là lớp nằm trên đường biên của hệ thống với phần thế giới còn lại. Nó
có thể là biểu mẫu, báo cáo hoặc giao diện.
Ứng dụng đọc truyện tranh online có những lớp biên như sau:

Hình 7: Các lớp biên
Khoa: Công nghệ thông tin_Lớp: CCLT07B

Lê Thế Đô


Lập trình ứng dụng đọc truyện tranh online

21

3.2.1.2 Các lớp điều khiển
Lớp điều khiển là lớp làm nhiệm vụ điều khiển mọi hoạt động của các lớp khác.
Tương ứng với mỗi Use Case có thể sẽ có một lớp điều khiển làm nhiệm vụ gửi
thông điệp cho các lớp liên quan.
Ựng đọc truyện tranh online có những lớp điều khiển sau:

Hình 8: Các lớp điều khiển
3.3. Biểu đồ hoạt động

Hình 10: Biểu đồ hoạt động
3.4. Một số thuật toán sử dụng trong chương trình
Khoa: Công nghệ thông tin_Lớp: CCLT07B

Lê Thế Đô



Lập trình ứng dụng đọc truyện tranh online

22

 Thuật toán lật trang:
package truyen_tranh.v1;

import java.util.ArrayList;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.os.Handler;
import android.os.Message;
import android.text.TextPaint;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;

public class MphotoView extends View
{
// MyHandler myHandler = new MyHandler();
private static int DEFAULT_FLIP_VALUE = 20;
private static int FLIP_SPEED = 30;
private long mMoveDelay = 1000 / 30;
float xTouchValue = DEFAULT_FLIP_VALUE,
DEFAULT_FLIP_VALUE;


yTouchValue

=

//String result = ""
class FlippingHandler extends Handler
Khoa: Công nghệ thông tin_Lớp: CCLT07B

Lê Thế Đô


Lập trình ứng dụng đọc truyện tranh online

23

{
@Override
public void handleMessage(Message msg)
{
Log.i("Thong bao: ", "Clock Handler is still running");
MphotoView.this.flip();
}

public void sleep(long delayMillis)
{
this.removeMessages(0);
sendMessageDelayed(obtainMessage(0), delayMillis);
}
}


FlippingHandler flippingHandler;

private Bitmap page1;
private Bitmap page2;

private ArrayList<Bitmap> pages=new ArrayList<Bitmap>(); // moi them
int curindex=0;

//moi them

boolean isnext=true; //moi them
int totalphoto;

//moi them

int width;
int height;

float oldTouchX, oldTouchY;
Khoa: Công nghệ thông tin_Lớp: CCLT07B

Lê Thế Đô


Lập trình ứng dụng đọc truyện tranh online

24

boolean flipping = false;

boolean next;

Point A, B, C, D, E, F;

Bitmap visiblePage;
Bitmap invisiblePage;
Paint flipPagePaint;

boolean flip = false;

Context context;

int loadedPages = 0;
long timeToLoad = 0;

//boolean loadingDone = false;

boolean onloading = true;
boolean onMoving = false;

// constructor
public MphotoView(Context context)
{
super(context);
// TODO Auto-generated constructor stub
// initMyView(context);
this.context = context;
Khoa: Công nghệ thông tin_Lớp: CCLT07B

Lê Thế Đô



Lập trình ứng dụng đọc truyện tranh online

25

init();
setFocusable(true);
setFocusableInTouchMode(true);
}
public MphotoView(Context context, int width, int height, int topPadding,
int leftPadding, TextPaint myTextPaint)
{
super(context);
this.context = context;
this.width = width;
this.height = height;
//this.pages= _page;
//this.totalphoto=_page.size()-1;

//moi them
//moi them

/*page1
=
BitmapFactory.decodeResource(context.getResources(),R.drawable.h1);
page2
=
BitmapFactory.decodeResource(context.getResources(),R.drawable.h2);*/
//page1 = pages.get(0);

//page2 = pages.get(1);
// moi them
pages.add(BitmapFactory.decodeResource(context.getResources(),R.draw
able.h01));
pages.add(BitmapFactory.decodeResource(context.getResources(),R.draw
able.h02));
pages.add(BitmapFactory.decodeResource(context.getResources(),R.draw
able.h03));

Khoa: Công nghệ thông tin_Lớp: CCLT07B

Lê Thế Đô


×