Báo cáo bài tập tốt nghiệp Ứng dụng tải game trên nền tản webmobile
MỤC LỤC:
Chương I : Tổng quan về Mobile Website 2
I.Những kiến thức cơ bản về thiết kế web cho thiết bị 2
II.Môi trường phát triển web cho di động 5
III.5 yếu tố thiết yếu cho một web mobile 8
Chương II : Phương thức lưu trữ tập tin trên mobile 12
I.Lưu trữ bên trong hay bên ngoài 12
II.Quyền được lưu trữ bộ nhớ ngoài 13
III.Lưu trữ một tệp tin trong bộ nhớ trong 14
IV.Lưu trữ một tệp tin trong bộ nhớ ngoài 15
V.Kiểm ra không gian trống 17
Chương III : Xây dựng ứng dụng tải game trên nền tảng web mobile 19
Cho phép JavaScript 24
Lời nói đầu
Website phiên bản mobile, công nghệ phát triển không ngừng đã
làm thay đổi thói quen của người sử dụng máy tính và mạng internet
để tìm kiếm thông tin, dịch vụ, sản phẩm. Bây giờ, người lướt web có
thể không ngồi trước màn hình máy tính để tìm kiếm sản phẩm hay
dịch vụ mà đã chuyển sang các thiết bị cầm tay – smartphone – tablet.
Như Mary Meeker – Kleiner Perkins cho biết: “Sự chấp nhận sử
dụng mobile web diễn ra nhanh hơn 8 lần so với web truyền thống
trong cuối thập niên 90.”.
Trong quá trình thực chương trình còn nhiều thiếu sót rất mong
được sự chỉ dẫn của thầy cô.
Em xin chân thành cảm ơn!
GVHD: TS ngô hữu phúc 1 SVTH: Nguyễn Linh Dương
Báo cáo bài tập tốt nghiệp Ứng dụng tải game trên nền tản webmobile
Chương I : Tổng quan về Mobile Website
I. Những kiến thức cơ bản về thiết kế web cho thiết bị
- Yếu tố dẫn đến sự phát triển của mobile web:
di động
Web cho thiết bị di động Web trên máy tính
Sử dụng nền tảng của web thông
thường
Nội dung của một trang web bao
gồm mã đánh dấu, định dạng, kịch
bản và các nội dung đa phương
tiện hiển thị nhờ các trình duyệt
web
Chứa kiểu MIME phân biệt ngôn ngữ
đánh dấu di động
Hiển thị trên Firefox, Opera hoặc
Internet Explorer sử dụng máy
tính để bàn, máy tính xách tay và
Netbook
Kích cỡ màn hình hiển thị nhỏ Kích cỡ màn hình: 800x600 trở lên
Số trình duyệt: 12+ Số trình duyệt: đa dạng
Lỗi trình duyệt: xuất hiện nhiều Lỗi trình duyệt: ít, được vá lỗi
Tiêu chuẩn W3C: ít tiêu chuẩn được
công bố
Tiêu chuẩn W3C: áp dụng rộng rãi
Ngôn ngữ đánh dấu:
- WML
- CHTML
- XHTML Basic
- XHTML-MP
Ngôn ngữ đánh dấu:
- XHTML, HTML
GVHD: TS ngô hữu phúc 3 SVTH: Nguyễn Linh Dương
Báo cáo bài tập tốt nghiệp Ứng dụng tải game trên nền tản webmobile
Là chuẩn đánh dấu không chính thức cho web di động
Là tập con của XHTML, bao gồm:
• XHTML -MP 1.0 thiết lập các thẻ cơ bản cho mã đánh
dấu thiết bị di động.
• XHTML -MP 1.1 thêm thẻ <script> và hỗ trợ
JavaScript cho thiết bị di động
• XHTML -MP 1.2 thêm nhiều thẻ định dạng và kiểu
nhập dữ liệu
o WML (Wireless Markup Language – WML):
Ngôn ngữ đánh dấu không dây - Là ngôn ngữ đánh
dấu cũ và đơn giản hơn dành cho những thiết bị di
động hiệu năng thấp
Là ứng dụng của XML sử dụng hai khái niệm ‘deck’ và
GVHD: TS ngô hữu phúc 4 SVTH: Nguyễn Linh Dương
Báo cáo bài tập tốt nghiệp Ứng dụng tải game trên nền tản webmobile
‘card’
o HDML:
Handheld Device Markup Language - ngôn ngữ đánh
dấu cho thiết bị cầm tay - là tiền thân của WML
o CHTML :
Compact HTML – là tập con của HTML, chỉ phát triển ở thị
trường Nhật Bản
Không hỗ trợ các tính năng: JPEG, table, bản đồ dạng ảnh,
màu nền, ….
- Style sheet cho web di động:
o Trình duyệt di động tốt nhất hỗ trợ CSS2, định dạng
chuẩn sử dụng với XHTML và HTML trên trình duyệt
của máy tính
o Trình duyệt di động hỗ trợ XHTML -MP sử dụng CSS
không dây (Wireless CSS) và/hoặc CSS Mobile Profile
• Thường gặp vấn đề chuyển đổi máy chủ proxy HTTP giữa
thiết bị và máy chủ web
• Máy chủ proxy kiểm tra trường Accept và Content- Type
trong header để xác định cách xử lý nội dung gốc sao cho
phù hợp với từng loại thiết bị
Ngôn ngữ thực thi phía máy chủ:
• Có thể thay đổi kiểu MIME liên kết với một tài liệu sử
dụng ngôn ngữ thực thi phía máy chủ
Ví dụ:
- Một vài kiểu MIME cho di động:
Kiểu MIME Phần mở rộng
file
Nội dung Nơi dùng
application/vnd.w
ap.xhtml+xml
application/xhtml
+xml
Xhtml XHTML-MP Các trang web di
động
text/html html (hay htm trên
Windows servers)
HTML Các trang web di
động
text/css Css CSS1, CSS2, và
Wireless CSS
CSS dành cho các
nội dung trên web
di động
application/javascr
ipt text/javascript
Android SDK Thiết bị Giả lập thiết bị chạy
Android
Windows Mobile 6
SDK
Thiết bị Giả lập thiết bị, và vỏ
ngoài cho thiết bị sử
dụng Windows Mobile
Nokia Mobile
Browser Simulator
4.0
Thiết bị Giả lập XHTML,
XHTMLMP và WML
giống các
thiết bị của Nokia
- Thiết bị di động thật:
o Là giải pháp tốt nhất và chính xác hơn cả
o Có thể sử dụng giải pháp thay thế: DeviceAnywhere
- Các công cụ phát triển khác:
o Công cụ đối sánh file: Tiện ích đối sánh file cho phép kiểm tra một
cách trực quan từng dòng và hợp nhất lại các điểm khác biệt giữa
các file văn bản
o Công cụ quản lý mã nguồn
- Để đảm bảo sự tương thích trên thiết bị và khả dụng trên nhiều nền tảng,
trình duyệt di động, hãy tiếp cận việc phát triển web di động theo hướng "
lấy tiêu chuẩn làm nền tảng"
- Khi trả về cho yêu cầu HTTP (HTTP request), máy chủ sẽ đưa về danh
sách MIME để biết định dạng nội dung hỗ trợ trên thiết bị người truy cập
(máy tính, laptop, thiết bị di động,…)
- Có nhiều môi trường phát triển web di động, khuyến khích sử dụng:
Adobe Dreamweaver CS5/CS6
này có thể tương tác được.
Thứ hai, việc đặt tên nhãn cho tiêu đề rất quan trọng. Cần đảm bảo rằng
những tiêu đề có một ý nghĩa gì đó cho người dùng. Mọi người đều biết ý
nghĩa và công dụng của nút “back”. Nếu bạn có một đường dẫn cần một vài
thao tác, thay vì ghi nhãn cho các nút quay lại với các tiêu đề trang trước đó,
chỉ cần đặt tên “back”.
Nên đặt tên nhãn đơn giản và có ý nghĩa. Tránh gộp tất cả mọi thứ mà bạn
không biết phải làm gì với chúng. Đây chính là những nơi có khả năng bẫy
người sử dụng khi thao tác.
Hãy nhớ rằng với ít yếu tố định vị không có nghĩa là việc định hướng trở
nên dễ dàng, vì vậy việc thêm những nút như “My Profile” hay “Password”
sẽ tốt hơn là chôn chặt chúng vào trong một nhóm thông tin đã được thiết
lập.
GVHD: TS ngô hữu phúc 8 SVTH: Nguyễn Linh Dương
Báo cáo bài tập tốt nghiệp Ứng dụng tải game trên nền tản webmobile
Icon là cách đơn giản nhất trong việc cung cấp thông tin. Điều này có
nghĩa là không phải các câu chữ khó đọc hoặc là mất nhiều thời gian, nhưng
bởi vì những nội dung thể hiện bằng đồ họa tạo ra một sự cân bằng thị giác
tốt hơn.
Các thiết bị mobile là một môi trường khá thú vị để sử dụng và với các
icon có thể cải thiện những trải nghiệm tổng thể cho người dùng. Thêm vào
đó, icon kết hợp với nhãn tên rõ ràng sẽ giúp người dùng hiểu rõ ý nghĩa và
cung cấp cho họ một đường dẫn rõ ràng.
2. Tập trung vào nội dung
Việc gỡ bỏ những lần thao tác trên web mobile không thực sự làm cho
mọi thứ trở nên dễ dàng và thao tác nhanh hơn. Thêm vào đó, đơn giản gỡ bỏ
một nội dùng nào đó cũng không làm cho các giao diện web mobile dễ sử
dụng hơn.
Nếu bạn gỡ bỏ một số nội dung giữa website và web mobile, bạn có thể
ĐANG GỠ BỎ những nội dung mà người dùng cần hoặc muốn có. Bạn cần
3. Cung cấp phản hồi (Feedback)
Đây là một yếu tố không chỉ quan trọng đối với web mobile mà còn quan
trọng đối với tất cả các web. Cung cấp feedback cho người dùng trở nên quan
trọng hơn trong web mobile vì bạn không có trình duyệt như trong webite.
Những phản hồi như thay đổi trạng thái khi di chuyển lên đối tượng hoặc
các hình ảnh động thực sự không tồn tại trong các thiết bị mobile cảm ứng.
Các thiết bị mobile chỉ có thể hoạt động khi chúng đã được kích hoạt. Vì vậy
cung cấp những phản hồi rõ ràng ngay khi vùng đối tượng được tương tác, đã
được tương tác hoặc đang ở trạng thái kích hoạt là RẤT QUAN TRỌNG.
Nếu như bạn có một danh sách các đối tượng có thể tương tác, bạn cũng
sẽ trông đợi sự phản hồi bằng hình ảnh trực quan ngay khi bạn chạm/tương
tác và nhận được sự phản hồi từ chúng.
Đây là cách mà thiết bị báo cho bạn biết là bạn đang tương tác với nó. Và
trong hầu hết các thiết bị di động, chúng ta thường chỉ đưa ra một lựa chọn –
PHẢN HỒI BẰNG HÌNH ẢNH TRỰC QUAN.
Dưới đây là một số phản hồi trực quan trong việc giao tiếp với người
dùng:
Sử dụng màu để đánh dấu các khu vực đã được lựa chọn hoặc đang
kích hoạt.
Sử dụng hiệu ứng hiển thị và làm mờ ngay khi người dùng chạm lên
đối tượng này hay đối tượng khác.
Sử dụng đường viền hay tô chuyển gradient trên các nút khi được
chọn.
Sử dụng các nút hay màu chữ khác nhau để biểu thị thay đổi trạng thái.
Sử dụng các dấu mũi tên khi các mục drop-down được chọn.
Sử dụng slide hay các yếu tố làm mờ giữa các màn hình để chỉ định
trạng thái đang được thay đổi.
4. Làm nổi bật thương hiệu
Ngay khi chúng ta muốn thiết kế một website thật ấn tượng nhằm thể hiện
được những kiến thức và kỹ năng thiết kế của mình, một trong những yếu tố
Để mang lại những trải nghiệm tốt hơn cho người dùng không có nghĩa là
bạn phải giới hạn nội dung, ép nó để có được những khoảng trắng trong bố
cục, nó cũng không có nghĩa là bạn phải sử dụng những font chữ lớn để để
đọc, và nó cũng không có nghĩa là nên tránh dùng padding để làm hẹp lại nội
dung.
Các web mobile đòi hỏi những hoạch định nhằm mang lại những trải
nghiệm tốt cho người dùng. Và những khoảng trắng đóng một vai trò lớn
trong việc lên kế hoach tạo những trải nghiệm này.
Dưới đây là một số cách sử dụng khoảng trắng tạo ra một trải nghiệm tốt
cho người dùng:
Sử dụng font nhỏ với những khoảng không xung quanh, ko sử dụng
những font chữ lớn mà không có những khoảng thở cho chúng.
Sử dụng nhiều padding xung quanh cách khối hộp chứa nội dung hay
các icon.
Sử dụng hệ thống lưới rõ ràng với nhiều khoảng trắng giữa các yếu tố
thiết kế nhằm làm rõ những nội dung riêng biệt.
GVHD: TS ngô hữu phúc 11 SVTH: Nguyễn Linh Dương
Báo cáo bài tập tốt nghiệp Ứng dụng tải game trên nền tản webmobile
Chương II : Phương thức lưu trữ tập tin trên mobile
I. Lưu trữ bên trong hay bên ngoài
Tất cả các thiết bị Android có hai khu vực lưu dữ tập tin : lưu trữ “ bộ
nhớ trong “ và “ bộ nhớ ngoài “ . Những khu vực lưu trữ này đến từ ngày
đầu của Android , khi hầu hết các thiết bị được cũng cấp bộ nhớ trong không
ổn định , cộng với một số phương tiện lưu trữ di động như một thẻ micro
SD. Một số thiết bị phân chia không gian lưu trữ vĩnh viễn thành các phân
vùng "nội bộ" và "bên ngoài", vì vậy ngay cả khi không một phương tiện lưu
trữ di động, luôn có hai không gian lưu trữ và các hành vi API là như nhau
cho dù các lưu trữ bên ngoài có thể tháo rời hay không. Danh sách sau đây
tóm tắt các sự kiện về mỗi không gian lưu trữ.
Lưu trữ bộ nhớ trong Lưu trữ bộ nhớ ngoài
khác hoặc cho phép người dùng truy
cập với máy tính.
II. Quyền được lưu trữ bộ nhớ ngoài
Ghi vào lưu trữ ngoài, bạn phải yêu cầu WRITE_EXTERNAL_STORAGE
trong AndroidManifest.xml của bạn :
<manifest >
<uses-permission android:name
"android.permission.WRITE_EXTERNAL_STORAGE" />
</manifest>
Chú ý: Hiện nay, tất cả các ứng dụng có khả năng đọc lưu trữ bên ngoài
mà không có một giấy phép đặc biệt. Tuy nhiên, điều này sẽ thay đổi trong một
thông cáo trong tương lai. Nếu ứng dụng của bạn cần phải đọc lưu trữ bên ngoài
(nhưng không viết thư cho nó), sau đó bạn sẽ cần khai báo phép
READ_EXTERNAL_STORAGE . Để đảm bảo rằng ứng dụng của bạn tiếp tục
làm việc như mong đợi, bạn nên khai báo sự cho phép này ngay bây giờ, trước
khi thay đổi có hiệu lực.
<manifest >
<uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE" />
</manifest>
GVHD: TS ngô hữu phúc 13 SVTH: Nguyễn Linh Dương
Báo cáo bài tập tốt nghiệp Ứng dụng tải game trên nền tản webmobile
Tuy nhiên, nếu ứng dụng của bạn sử dụng phép
WRITE_EXTERNAL_STORAGE , sau đó nó mặc nhiên có quyền đọc các lưu
trữ bên ngoài là tốt.
Bạn không cần bất kỳ điều khoản để lưu các tập tin vào lưu trữ nội
bộ. Ứng dụng của bạn luôn luôn có quyền đọc và viết các tập tin trong thư mục
lưu trữ nội bộ của mình.
GVHD: TS ngô hữu phúc 14 SVTH: Nguyễn Linh Dương
Báo cáo bài tập tốt nghiệp Ứng dụng tải game trên nền tản webmobile
một URL và tạo ra một tập tin với tên trong thư mục bộ nhớ cache nội bộ của
ứng dụng của bạn:
public File getTempFile(Context context, String url) {
File file;
try {
String fileName = Uri.parse(url).getLastPathSegment();
file = File.createTempFile(fileName, null, context.getCacheDir());
catch (IOException e) {
// Error while creating file
}
return file;
}
Lưu ý: thư mục lưu trữ nội bộ của ứng dụng của bạn được xác định bởi tên gói
ứng dụng của bạn ở một vị trí đặc biệt của hệ thống tập tin Android. Về mặt kỹ
thuật, ứng dụng khác có thể đọc các tập tin nội bộ của bạn nếu bạn thiết lập chế
độ tập tin để có thể đọc được. Tuy nhiên, các ứng dụng khác cũng sẽ cần phải
biết tên và tập tin gói ứng dụng tên của bạn. Các ứng dụng khác không thể duyệt
các thư mục nội bộ của bạn và không có đọc hoặc viết truy cập trừ khi bạn thiết
lập các tập tin để có thể đọc hoặc ghi. Vì vậy, miễn là bạn sử
dụng MODE_PRIVATE cho các tập tin của bạn trên lưu trữ nội bộ, họ không
bao giờ truy cập vào các ứng dụng khác.
IV. Lưu trữ một tệp tin trong bộ nhớ ngoài
Vì lưu trữ bên ngoài có thể không có, chẳng hạn như khi người dùng đã gắn
kết lưu trữ tới máy tính hoặc đã gỡ bỏ các thẻ SD cung cấp bên ngoài lưu trữ
bạn nên luôn luôn xác minh rằng khối lượng có sẵn trước khi truy cập nó. Bạn
có thể truy vấn trạng thái lưu trữ bên ngoài bằng cách gọi
getExternalStorageState () . Nếu phương thức trả bằng MEDIA_MOUNTED ,
sau đó bạn có thể đọc và viết các tập tin của bạn. Ví dụ, các phương pháp sau
có thể truy cập bởi người sử dụng và các ứng dụng khác bởi vì họ đang ở
trên lưu trữ ngoài, họ là những tập tin mà thực tế không cung cấp giá trị
cho người sử dụng bên ngoài ứng dụng của bạn . Khi người dùng gỡ bỏ
ứng dụng của bạn , hệ thống sẽ xóa tất cả các file trong thư mục riêng bên
ngoài của ứng dụng của bạn .
Ví dụ, nguồn lực bổ sung tải về bằng cách ứng dụng của bạn hoặc các tập
tin phương tiện truyền thông tạm thời.
Nếu bạn muốn lưu các tập tin công cộng về lưu trữ bên ngoài , sử dụng
getExternalStoragePublicDirectory ( ) để có được một tập tin đại diện cho các
thư mục thích hợp trên lưu trữ ngoài. Phương pháp này có một đối số quy định
cụ thể các loại tập tin bạn muốn lưu để họ có thể được tổ chức hợp lý với các tập
tin công cộng khác , chẳng hạn như DIRECTORY_MUSIC hoặc
DIRECTORY_PICTURES . Ví dụ :
public File getAlbumStorageDir(String albumName) {
// Get the directory for the user's public pictures directory.
File file = new File(Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_PICTURES), albumName);
if (!file.mkdirs()) {
Log.e(LOG_TAG, "Directory not created");
}
return file;
}
Nếu bạn muốn lưu các tập tin được tới ứng dụng của bạn, bạn có thể có
được các thư mục thích hợp bằng cách gọigetExternalFilesDir () và đi qua nó
một tên chỉ ra các loại thư mục bạn muốn. Mỗi thư mục được tạo ra theo cách
này được thêm vào một thư mục cha mà gói gọn tất cả các file lưu trữ bên ngoài
GVHD: TS ngô hữu phúc 16 SVTH: Nguyễn Linh Dương
Báo cáo bài tập tốt nghiệp Ứng dụng tải game trên nền tản webmobile
của ứng dụng của bạn, mà hệ thống xóa khi người dùng gỡ bỏ ứng dụng của
bạn.
không gian có sẵn hiện tại và tổng số không gian trong khối lượng lưu trữ, tương
ứng. Thông tin này cũng rất hữu ích để tránh làm đầy dung lượng lưu trữ trên
một ngưỡng nhất định.
Tuy nhiên, hệ thống không đảm bảo rằng bạn có thể viết như nhiều byte như
được chỉ định bởi getFreeSpace () .Nếu số trở lại là một vài MB hơn kích thước
của dữ liệu bạn muốn lưu, hoặc nếu hệ thống tập tin là ít hơn 90% đầy đủ, sau
GVHD: TS ngô hữu phúc 17 SVTH: Nguyễn Linh Dương
Báo cáo bài tập tốt nghiệp Ứng dụng tải game trên nền tản webmobile
đó nó có thể là an toàn để tiến hành. Nếu không, bạn có lẽ không nên viết để lưu
trữ.
Lưu ý: Bạn không cần phải kiểm tra số lượng không gian có sẵn trước khi
bạn lưu tập tin của bạn. Thay vào đó bạn có thể thử viết các tập tin ngay lập tức,
sau đó bắt một IOException nếu xảy ra. Bạn có thể cần phải làm điều này nếu
bạn không biết chính xác bao nhiêu không gian bạn cần. Ví dụ, nếu bạn thay đổi
mã hóa của tập tin trước khi bạn lưu nó bằng cách chuyển đổi một hình ảnh
PNG sang JPEG, bạn sẽ không biết kích thước của tập tin trước.
VI. Xóa tập tin
Bạn nên luôn luôn xóa các tập tin mà bạn không còn cần. Cách đơn giản nhất để
xóa một tập tin là có cuộc gọi tham chiếu tập tin mở delete () trên chính nó.
myFile.delete();
Nếu tập tin được lưu trữ trong bộ nhớ, bạn cũng có thể yêu cầu bối cảnh để xác
định vị trí và xóa một tập tin bằng cách gọi DeleteFile () :
myContext.deleteFile(fileName);
Lưu ý: Khi người dùng gỡ bỏ ứng dụng của bạn, hệ thống Android xóa như sau:
• Tất cả các file mà bạn đã lưu vào bộ nhớ trong
• Tất cả các file mà bạn đã lưu trên lưu trữ bên ngoài sử
dụng getExternalFilesDir () .
Tuy nhiên, bạn nên xóa tất cả các tập tin lưu trữ tạo ra với getCacheDir () một
cách thường xuyên và cũng thường xuyên xóa các tập tin khác mà bạn không
còn cần.
Khi nhắm mục tiêu trang web của bạn cho các thiết bị Android, có hai yếu tố
quan trọng mà bạn nên giải thích cho:
GVHD: TS ngô hữu phúc 20 SVTH: Nguyễn Linh Dương
Báo cáo bài tập tốt nghiệp Ứng dụng tải game trên nền tản webmobile
Khung nhìn : Khung nhìn là khu vực hình chữ nhật mà cung cấp một khu vực
thể vẽ cho trang web của bạn. Bạn có thể chỉ định một số đặc tính khung nhìn,
chẳng hạn như kích thước của nó và quy mô ban đầu. Quan trọng nhất là quan
điểm rộng cảng, trong đó xác định tổng số điểm ảnh ngang có sẵn từ quan điểm
của trang web của view (số lượng điểm ảnh có sẵn CSS).
Mật độ màn hình : Các WebView lớp và hầu hết các trình duyệt web trên
Android chuyển đổi CSS giá trị điểm ảnh của bạn với các giá trị mật độ điểm
ảnh độc lập, vì vậy trang web của bạn xuất hiện ở cùng một kích thước mà hiểu
được như một màn hình độ trung bình (khoảng 160dpi). Tuy nhiên, nếu đồ họa
là một yếu tố quan trọng của thiết kế web của bạn, bạn nên chú ý tới nhân rộng
xảy ra trên mật độ khác nhau, bởi vì một hình ảnh 300px rộng trên một màn
hình 320dpi sẽ được nhân rộng (sử dụng điểm ảnh vật lý nhiều hơn mỗi CSS
pixel) , có thể sản xuất các đồ tạo tác (làm mờ và pixelation).
a. Xác định thuộc tính Viewport
Khung nhìn là khu vực mà trang web của bạn được rút ra. Mặc dù tổng diện
tích có thể nhìn thấy của khung nhìn phù hợp với kích thước của màn hình khi
zoom tất cả các lối ra, khung nhìn có kích thước điểm ảnh riêng của mình mà
làm cho nó có sẵn cho một trang web. Ví dụ, mặc dù một màn hình điện thoại có
thể có thể có chiều rộng 480 pixel, khung nhìn có thể có chiều rộng 800
pixel. Điều này cho phép một trang web được thiết kế tại 800 điểm ảnh là hoàn
toàn có thể nhìn thấy trên màn hình khi quy mô khung nhìn là 1.0. Hầu hết các
trình duyệt web trên Android (bao gồm cả Chrome) thiết lập các khung nhìn đến
một kích thước lớn theo mặc định (được gọi là "chế độ khung nhìn rộng"
khoảng 980px rộng). Nhiều trình duyệt cũng thu nhỏ càng nhiều càng tốt, theo
mặc định, để hiển thị chiều rộng khung nhìn đầy đủ (được gọi là "chế độ tổng
quan").
Lưu ý: Bạn nên vô hiệu hóa sử dụng rộng chỉ khi bạn chắc chắn rằng bố
cục trang web của bạn là linh hoạt và nội dung sẽ phù hợp với chiều rộng của
màn hình nhỏ.
b. Mục tiêu căn chỉnh thiết bị với CSS
Trình duyệt Android và WebView hỗ trợ một tính năng phương tiện truyền
thông CSS cho phép bạn tạo ra phong cách cho màn hình cụ thể mật độ-the -
webkit-thiết bị-pixel, tỷ lệ CSS tính năng phương tiện truyền thông. Giá trị mà
bạn áp dụng cho tính năng này nên là "0,75", "1", hoặc "1.5", để chỉ ra rằng
phong cách là cho các thiết bị với mật độ thấp, mật độ trung bình, hoặc màn
hình mật độ cao, tương ứng.
Ví dụ, bạn có thể tạo kiểu riêng biệt cho mỗi mật độ:
<link rel="stylesheet" media="screen and (-webkit-device-pixel-ratio: 1.5)"
href="hdpi.css" />
<link rel="stylesheet" media="screen and (-webkit-device-pixel-ratio: 1.0)"
href="mdpi.css" />
Hoặc, xác định phong cách khác nhau trong một kiểu:
#header {
background:url(medium-density-image.png);
}
GVHD: TS ngô hữu phúc 22 SVTH: Nguyễn Linh Dương
Báo cáo bài tập tốt nghiệp Ứng dụng tải game trên nền tản webmobile
@media screen and (-webkit-device-pixel-ratio: 1.5) {
/* CSS for high-density screens */
#header {
background:url(high-density-image.png);
}
}
@media screen and (-webkit-device-pixel-ratio: 0.75) {
/* CSS for low-density screens */
#header {
yếu tố trong bố trí hoạt động của bạn.Ví dụ, đây là một tập tin bố trí trong
đó WebView lấp đầy màn hình:
<? xml version = "1.0" encoding = "utf-8" ?>
<WebView xmlns:android = "
android:id = "@+id/webview"
android:layout_width = "fill_parent"
android:layout_height = "fill_parent"
/>
Để tải một trang web trong WebView , sử dụng loadUrl () . Ví dụ:
WebView myWebView = ( WebView ) findViewById ( R . id . webview );
myWebView . loadUrl ( "" );
Trước khi điều này sẽ làm việc, tuy nhiên, ứng dụng của bạn phải có
quyền truy cập vào Internet. Để có được truy cập Internet, yêu cầu INTERNET
cho phép trong file manifest của bạn. Ví dụ:
<manifest >
<uses-permission android:name="android.permission.INTERNET" />
</manifest>
b. Sử dụng JavaScript trong WebView
Nếu trang web bạn có kế hoạch để nạp vào của bạn WebView sử dụng
JavaScript, bạn phải kích hoạt JavaScript cho bạn WebView . Một khi
JavaScript được kích hoạt, bạn cũng có thể tạo ra các giao diện giữa các mã ứng
dụng của bạn và mã JavaScript của bạn.
Cho phép JavaScript
JavaScript bị vô hiệu hóa trong một WebView theo mặc định. Bạn có thể
kích hoạt nó thông qua cácWebSettings thuộc của bạn WebView . Bạn có thể
lấy WebSettings với getSettings () , sau đó kích hoạt Javascript
với setJavaScriptEnabled () .
Ví dụ:
GVHD: TS ngô hữu phúc 24 SVTH: Nguyễn Linh Dương