i
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
HÀ THỊ THU HOÀI
TÌM HIỂU ANDROID VÀ XÂY DỰNG ỨNG DỤNG
TRÊN THIẾT BỊ CẦM TAY CHO NGƢỜI HỌC
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
THÁI NGUYÊN - 2014
ii
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
hướng dẫn, giúp đỡ và góp ý nhiệt tình của quý thầy cô trường Đại học Công nghệ
và Truyền thông Thái Nguyên
Trước hết, tôi xin bày tỏ lòng biết ơn sâu sắc đến TS. Lê Quang Minh đã
hướng dẫn tôi thực hiện luận văn này.
Xin cùng bày tỏ lòng biết ơn chân thành tới các thầy cô giáo, người đã đem lại
cho tôi những kiến thức bổ trợ vô cùng có ích trong những năm học vừa qua.
Cũng xin gửi lời cảm ơn chân thành tới Ban Giám hiệu, Phòng Đào tạo sau
đại học, Đại học Công nghệ và Truyền thông Thái Nguyên đã tạo điều kiện cho tôi
trong quá trình học tập.
Cuối cùng tôi xin gửi lời cảm ơn đến gia đình, bạn bè, những người đã luôn
bên tôi, động viên và khuyến khích tôi trong quá trình thực hiện đề tài nghiên cứu
của mình.
Thái Nguyên, ngày 05 tháng 10 năm 2014
Học viên Hà Thị Thu Hoài
iv
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
LỜI CAM ĐOAN
Tôi xin cam đoan đây là luận văn do tôi thực hiện dƣới sự hƣớng dẫn của
thầy giáo TS. Lê Quang Minh và các tài liệu tham khảo đã trích dẫn. Kết quả
nghiên cứu là trung thực.
1.2.2. Bộ nhớ 13
1.2.3. Màn hình 13
1.2.4. Kết nối mạng 14
1.2.5. Kết nối mạng thông dụng và chức năng khác 14
1.2.6. Phụ kiện kèm theo 15
CHƢƠNG 2: TÌM HIỀU HỆ ĐIỀU HÀNH ANDROID 16
2.1.Tổng quan về Android 16
2.1.1. Android là gì? 16
2.1.2. Lịch sử phát triển Android 16
2.1.3. Các phiên bản Android 17
2.2 So sánh hệ điều hành Android với các hệ điều hành iOS 24
CHƢƠNG 3: XÂY DỰNG ỨNG DỤNG CHO VNUPAD TRÊN ANDROID 26
3.1 Phát triển ứng dụng trên Android 26
3.2 Phân tích thiết kế chức năng ghi chép thông minh. 27
3.2.1 Các yêu cầu của hệ thống 27
3.2.2 Phân tích chi tiết 28
3.2.3 Thiết kế hệ thống 40
vi
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
3.3. Mã nguồn chƣơng trình 44
3.3.1 Lớp NoteActivity 44
3.3.2 Lớp Note 45
3.3.3 Lớp FileFragment 47
3.4. Kết quả phát triển và thử nghiệm 48
KẾT LUẬN 50
TÀI LIỆU THAM KHẢO 51
XHTML
Extensible HyperText Markup Language
viii
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
DANH MỤC BẢNG
Bảng 1.1. Mục tiêu sử dụng của từng đối tƣợng 6
Bảng 1.2 So sánh cấu hình iPad 2 và iPad 3 12
Bảng 2.1. Các phiên bản của Android 17
Bảng 2.2: So sánh hệ điều hành Android với hệ điều hành iOS 25
Bảng 3.1 Các bƣớc thực hiện chức năng mở môn học 29
Bảng 3.2 Các bƣớc thực hiện chức năng đính kèm 30
Bảng 3.3 Các bƣớc thực hiện chức năng tạo mới môn học 31
Bảng 3.4 Các bƣớc thực hiện chức năng xóa bỏ môn học 32
Bảng 3.5 Các bƣớc thực hiện chức năng tìm kiếm môn học 33
Bảng 3.6 Các bƣớc thực hiện chức năng gán thẻ tìm kiếm môn học 34
Bảng 3.7 Các bƣớc thực hiện chức năng tìm kiếm môn học theo thẻ 35
Bảng 3.8 Các bƣớc thực hiện chức năng đặt lịch môn học 36
Bảng 3.9 Các bƣớc thực hiện chức năng xóa lịch môn học 38
Bảng 3.10 Các bƣớc thực hiện chức năng mở ứng dụng 39
Bảng 3.11. Bảng dữ liệu môn học (Note) 42
Bảng 3.12. Bảng dữ liệu thẻ tìm kiếm (Tag) 42
Bảng 3.13. Bảng dữ liệu gán thẻ tìm kiếm (AsignTag) 42
Bảng 3.14. Bảng dữ liệu lịch môn học (Calendar) 43
Bảng 3.15. Bảng dữ liệu tài liệu đính kèm (Attachment) 43
Bảng 3.16: Kịch bản kiểm tra chức năng 48 ix
Samsung Galaxy,… . Cùng với nó là sự ra đời của hàng loạt các công nghệ và
chuẩn kết nối, hệ điều hành mã nguồn mở cho phép các nhà khoa học công
nghệ có thể tùy ý lựa chọn và xây dựng các thiết bị cầm tay (PDA) theo những
chức năng khác nhau nhƣ: Máy tính bảng, từ điển đa ngữ, điện thoại, máy chơi
game…
Viện CNTT - ĐHQGHN đã và đang tham gia vào các dự án, đề tài các
cấp, trong đó có đề tài “Nghiên cứu đặc tả chức năng và thiết kế thiết bị
VNUpad để truy cập thƣ viện số và sử dụng đa chức năng cho sinh viên
ĐHQGHN” với mã đề tài: QG.12.54. Dự kiến đề tài sẽ hoàn thành vào tháng 10
năm 2014. Mục tiêu của đề tài là nghiên cứu công nghệ, xây dựng đƣợc sản
phẩm mẫu thử nghiệm (prototype) thiết bị cầm tay VNUpad với các tính năng:
Truy cập thƣ viện, sổ ghi chép và một số chức năng thông dụng khác cho ngƣời
học và giảng viên trong ĐHQGHN dựa trên nền hệ điều hành Android. Vì vậy,
việc tìm hiểu Android là cần thiết.
Android là hệ điều hành trên điện thoại di động (và hiện nay là một số
đầu phát HD, HD player, TV) phát triển bởi Google và dựa trên nền tảng
Linux. Trƣớc đây, Android đƣợc phát triển bởi công ty liên hợp Android (sau
đó đƣợc Google mua lại vào năm 2005). Các nhà phát triển viết ứng dụng cho
Android dựa trên ngôn ngữ Java. Sự ra mắt của Android vào ngày 5 tháng 11
năm 2007 gắn với sự thành lập của liên minh thiết bị cầm tay mã nguồn mở,
bao gồm 78 công ty phần cứng, phần mềm và viễn thông nhằm mục đích tạo
nên một chuẩn mở cho điện thoại di động trong tƣơng lai. Android là hệ điều
hành do công ty Google phát triển cho các thiết bị cầm tay sẽ phù hợp với xu
hƣớng phát triển các dịch vụ cung cấp dữ liệu và phần mềm qua internet.
2
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Các máy tính bảng có màn hình phù hợp đang là sự lựa chọn phổ biến
cho việc đƣa các ứng dụng gắn liền với các hoạt động đào tạo nhƣ: Đọc sách,
ghi chép, học các bài giảng điện tử. Tuy nhiên những máy tính bảng này vẫn
Mục tiêu cụ thể
1. Đặc tả yêu cầu kỹ thuật và yêu cầu về chức năng cho thiết bị
VNUpad.
2. Tìm hiểu hệ điều hành Android.
3. Xây dựng ứng dụng cho VNUpad trên Android.
- Phần mềm Note có chức năng ghi chép cho học viên.
- Phần mềm truy cập kho dữ liệu tài nguyên số.
3. Phƣơng pháp nghiên cứu
Kết hợp giữa nghiên cứu lý thuyết, phát triển công nghệ và thực hiện thử
nghiệm trên các mô hình phần cứng.
4. Những kết quả đạt đƣợc
- Lựa chọn cấu hình máy tính bảng phù hợp với đối tƣợng ngƣời học
thông qua các chức năng và thông số kỹ thuật.
- Nghiên cứu tổng quan về công cụ và cách thức xây dựng sản phẩm trên
Android
- Phát triển ứng dụng thử nghiệm phần mềm ghi chép thông minh (Smart
Note) trên thiết bị di dộng (máy tính bảng) VNUpad.
5. Cấu trúc của luận văn
Tính cấp thiết của đề tài đƣợc trình bày ở phần mở đầu của luận văn.
Chƣơng I của luận văn trình bày đặc tả yêu cầu kỹ thuật và yêu cầu về chức
năng cho thiết bị VNUpad. Chƣơng này đi sâu tìm hiểu nhu cầu của ngƣời sử
dụng để đƣa ra các thông số kỹ thuật cũng nhƣ các chức năng cho thiết bị.
Chƣơng II tìm hiểu về hệ điều hành Android. Chƣơng III Xây dựng ứng dụng
cho VNUpad trên Android. Ở chƣơng này sẽ phân tích bài toán, thiết kế giao
diện và đƣa ra kết quả thử nghiệm.
4
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Trong các loại thiết bị di động cầm tay từ các nhà sản xuất khác nhau
nhƣ Apple, Samsung, Nokia, HTC, LC, … thì mỗi nhà sản xuất lại lựa chọn
cho mình các loại phần cứng, hay các bộ vi xử lý khác nhau nhằm hỗ trợ tốt các
đặc tính của các dòng di động đó. Vậy thì, ngoài việc khi chúng ta lựa chọn hệ
điều hành, chọn các phần mềm hoặc phát triển phần mềm cho thiết thị cầm tay,
thì các nhà sản xuất còn phải lựa chọn cho thiết bị đó phần cứng tốt để nó có
thể phù hợp với hệ điều hành hỗ trợ và phần mềm mong đợi.
Với tiêu chí đặt ra nhƣ vậy, trong khuôn khổ của luận văn này tôi có thể
lấy một trƣờng hợp cụ thể cho việc lựa chọn phần cứng cho thiết bị cầm tay để
có thể tích hợp trên hệ điều hành Android trên đó. Cụ thể lựa chọn phần cứng
cho thiết bị cầm tay VNUpad một định hƣớng phát triển thiết bị của Viện Công
nghệ thông tin- Trƣờng Đại học Quốc Gia Hà Nội.
Với sự thuận lợi của hệ điều hành Android, cùng với nhu cầu sử dụng và
sở hữu một thiết bị cầm tay với chức năng truy cập kho tri thức nội dung số, và
hỗ trợ ngƣời học của ĐHQGHN đƣợc thuận lợi. Mục đích của thiết bị cầm tay
truy cập nội dung số VNUpad đƣa ra có thể sử dụng internet mọi nơi và ngƣời
sử dụng có thể dùng với các mục đích chung và mục đích cá nhân nhƣ ghi
chép, truy cập kho dữ liệu tài nguyên số, nghe nhạc, xem vi deo, đọc sách, trình
chiếu, Dựa trên những tiêu trí đó, ngƣời phát triển phải có những lựa chọn về
thiết bị sao cho phù hợp với các chức năng. Với từng đối tƣợng ngƣời sử dụng
có thể là giáo viên hoặc sinh viên sẽ có một vài mục tiêu sử dụng nhƣ bảng 1.1
sau [2]:
6
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Bảng 1.1. Mục tiêu sử dụng của từng đối tượng
Chức năng
Mục tiêu sử dụng
Công nghệ
chƣa hỗ trợ ứng dụng này, nhƣng có thể download trên mạng để cài đặt vào
thiết bị VNUpad nhƣ một số ứng dụng ColorNote, EverNote, Mobisle Note,
…Về yêu cầu về phần cứng thì với ứng dụng này dung lƣợng bộ nhớ cũng rất
nhỏ không cần phải lớn nhƣ các ứng dụng khác.
ĐỌC SÁCH
VNUpad ra đời nhằm hỗ trợ ngƣời học và giáo viên có thể truy cập mạng
đọc sách hoặc đọc sách offline. Một số sách thông dụng thƣờng dùng ứng dụng là
word, powerpoint, excel, PDF để đọc văn bản. Bên cạnh đó có một số loại phần
mềm hỗ trợ thƣờng dùng là QuickOffice Pro, Documents To Go, …chúng thƣờng
có đuôi là .apk, ta có thể cài đặt phần mềm trực tuyến, hoặc qua sao chép. Yêu cầu
về phần cứng hỗ trợ là kết nối mạng, RAM, vi xử lý từ 1G trở lên.
7
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
THUYẾT TRÌNH
Dựa trên nhu cầu sử dụng của ngƣời dùng thì thuyết trình là công việc
thƣờng hay sử dụng nhất đối với giáo viên hoặc sinh viên khi báo cáo môn học trên
giảng đƣờng. Khi sử dụng thiết bị cầm tay hỗ trợ công việc này sẽ rất tiện lợi,
không phải trang bị những máy tính lớn. Ngoài ra phần mềm hỗ trợ cũng rất tiện lợi
ta có thể sử dụng luôn ứng dụng với phần đọc văn bản.
Hiện nay các các máy tính bảng đều có kích thƣớc nhỏ gọn, độ mỏng có thể
từ 6mm đến 8mm nên việc lựa chọn đƣợc thiết bị phù hợp hỗ trợ cho việc thuyết
trình của sinh viên và giáo viên là việc rất quan trọng.
Về phần cứng, khi thuyết trình ngƣời sử dụng sử dụng cáp kết nối máy tính
bảng với thiết bị hiển thị, có thể là màn hình tivi hoặc máy chiếu. Yêu cầu đòi hỏi
thiết bị cầm tay phải có cổng VGA hoặc HDMI.
Cổng VGA – Video Graphics Array: là một chuẩn hiển thị máy tính, có
thể hiển thị 256 màu, độ phân giải 640x480, 800x600, 1024x768.
Hình 1.1. Cổng VGA
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
- Âm thanh Stereo: là âm thanh từ nhiều nguồn âm đƣợc phân bổ 2 bên trái
phải, có thể là từ trái qua phải hoặc từ phải qua trái.
- Âm thanh Surround: là âm thanh đa chiều.
Hệ thống âm thanh nhằm mô tả lại âm thanh đang nghe, và tạo cảm giác
thực. Tuy nhiên với thiết kế giành cho thiết bị cầm tay thì khả năng hỗ trợ âm thanh
sẽ hạn chế hơn về vị trí và kích thƣớc. Nên có thể lựa chọn cho thiết bị cầm tay loại
âm thanh Stereo có 2 kênh trái và phải, có thể phân bổ sang loa trái hoặc phải tùy
theo lựa chọn. Còn âm thanh đa chiều Surround hỗ trợ chủ yếu với hệ thống loa lớn,
cố định nhƣ rạp hát hoặc chiếu phim, phòng hát.
XEM VIDEO
Song song với sự trợ giúp của phần mềm và phần cứng với nhu cầu nghe
nhạc và âm thanh, thì nhu cầu xem video của ngƣời học, ngƣời dạy cũng cần đƣợc
hỗ trợ. Video có thể lấy file từ ngoài vào thiết bị cầm tay hoặc xem trực tuyến. Khi
lấy file từ ngoài vào, thiết bị có thể trợ giúp tối thiểu một số file thông dụng nhƣ
*.avi, *.mp4, *.flv, *.dat, *.wmv. Với những video xem trực tuyến, thì thiết bị cần
kết nối mạng và trình duyệt web.
Phần cứng hỗ trợ xem video chủ yếu quan tâm thứ nhất là USB hoặc thẻ
nhớ, thứ hai là kết nối mạng, thứ ba là RAM
- Với USB là một thiết bị lƣu trữ dữ liệu bên ngoài, ngƣời sử dụng có thể
dùng để sao chép dữ liệu (file video) từ ngoài vào thiết bị cầm tay. Nhƣng để làm
đƣợc điều này trên thiết bị phải có ổ cắm hỗ trợ, hay nói chính xác ở đây là trên bộ
vi xử lý hỗ trợ có cổng (port) USB. Ngày nay với các trang thiết bị hiện đại, các nhà
sản xuất hay dùng USB 2.0 trở lên, nhằm hỗ trợ khả năng nhận và đọc thiết bị đƣợc
nhanh.
- Thẻ nhớ cũng là một thiết bị lƣu trữ bên ngoài, nhƣng nó nhỏ và gọn hơn
USB, nên có thể đính kèm theo máy. Nên trên bo mạch của máy thƣờng có khe
cắm. Hiện tại, thẻ nhớ có dung lƣợng rất lớn để hỗ trợ các thiết bị cầm tay di động,
thƣờng đƣợc dùng là 16GB, 32GB, 64GB.
hành Windows mobi và hệ điều hành iOS, hệ điều hành Android. Với hệ điều hành
Windows mobi trƣớc đây nay là hệ điều hành Windows phone có giao diện không
11
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
đƣợc đẹp và giá ứng dụng vẫn còn khá cao. Hệ điều hành iOS giao diện thiết kế
đẹp, tinh tế, bảo mật cao và sở hữu một ứng dụng vô cùng phong phú. Không những
đƣợc đánh giá rất cao về mặt giao diện sử dụng mà hầu hết những ứng dụng trên
iOS cũng rất hấp dẫn với chất lƣợng đồ họa cao, đa dạng thể loại nhƣng đây lại là
hệ điều hành độc quyền. Hệ điều hành Android là hệ điều hành ứng dụng hỗ trợ
phong phú, tƣơng thích với đa cấu hình phần cứng của các nhà sản xuất
Sở dĩ thiết bị truy cập nội dung số VNUpad đƣợc đƣa ra ở đây, là một máy
tính bảng cầm tay, nên lựa chọn hệ điều hành Android với nhiều tính năng hỗ trợ
cho máy tính bảng và tiết kiệm bộ nhớ, cũng nhƣ năng lƣợng. Ngoài ra do đặc thù
của chức năng thiết bị cần để đọc sách và hỗ trợ mạng internet, tốc độ xử lý nhanh,
nên cần sự hỗ trợ của hệ điều hành có tốc độ xử lý tốt, nên lựa chọn Android 4.1 là
phù hợp nhất cho thiết bị này.
1.2. Lựa chọn thiết bị
Xuất phát từ ý tƣởng nghiên cứu, thử nghiệm sản phẩm, tích hợp với phần
cứng, phát triển sản phẩm mẫu và sản xuất hàng loạt theo mô hình sau : .
Hình 1.3: Mô hình phát triển sản phẩm nhúng
LED IPS 9,7 inch
LED IPS 9,7 inch.
Độ phân giải
1.024 x 768 pixel
2.048 x 1.536 pixel - gấp 4 lần iPad 2
Bộ vi xử lý
A5.
A5X.
RAM
512 MB.
1GB
Camera mặt trƣớc
VGA.
VGA.
Camera mặt sau
0,7 megapixel.
5 megapixel.
Kết nối
3G, HSPA, Wi-Fi,
Bluetooth.
4G-LTE, HSPA+, Wi-Fi, Bluetooth.
Độ mỏng
8,8 mm.
9,4 mm.
Trọng lƣợng
601 g.
652 g.
Thời lƣợng pin
10 giờ.
10 giờ với mạng 3G và 9 tiếng với mạng 4G.
SSD (Solid-state drive) để lƣu trữ dữ liệu, chúng có ƣu điểm là nhỏ gọn và truy
cập tốc độ nhanh, khả năng lƣu trữ đủ dùng cho các ứng dụng. Ta có thể chọn
lựa từ 16GB, 32GB hoặc 64GB.
1.2.3. Màn hình
Đa số thiết bị cầm tay đƣợc trang bị màn hình LCD cảm ứng với công
nghệ đa điểm giúp ngƣời sử dụng thuận tiện khi điều khiển, đặc biệt là cảm ứng
điện dung, có độ nhạy cao, tuy nhiên có nhƣợc điểm là chi phí cao hơn. Để có
14
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
chế độ hiển thị tốt thì độ phân giải màn hình thông thƣờng là 1024x768, đặc
biệt là thiết bị VNUpad hay sử dụng trang web thì cần đƣợc trang bị, giúp thiết
bị hiển thị rõ, độ nhạy cao, thao tác dễ dàng.
1.2.4. Kết nối mạng
Kết nối mạng là điều không thể thiếu với trên thiết bị cầm tay, nên hầu
hết chúng đều đƣợc hỗ trợ kết nối mạng không dây WiFi. Trên thị trƣờng hiện
nay một số thiết bị cầm tay đời mới tốc độ có thể đạt tới 300Mbit/s theo chuẩn
802.11n, ngoài ra còn hỗ trợ kết nối 2G và 3G của mạng di động.
Với thị trƣờng nhƣ thế, VUNpad có thể kết nối mạng không dây WiFi
802.11 a/b/g với tốc độ 54Mbit/s. Hoặc kết nối 2G là 900/1800 MHz và 3G là
2100MHz.
1.2.5. Kết nối mạng thông dụng và chức năng khác
Ngoài các yêu cầu về xử lý, bộ nhớ, màn hình thì VNUpad cần có một số
kết nối thông dụng và chức năng cơ bản hỗ trợ sinh viên, giáo viên có thể sao
chép, nghe, và xem video, … hoặc có thể trình chiếu.
- USB: cổng kết nối chuẩn USB.
- HDMI: cổng kết nối chuẩn HDMI cho ra hình ảnh và âm thanh chất lƣợng cao.
- Memory card: Khe cắm hỗ trợ thẻ nhớ.
- SIM card: khe cắm Sim để hỗ trợ mạng 2G, 3G.
- Headphone: Cổng kết nối tai nghe.
dựa trên các phần của nhiều dự án mã nguồn mở khác nhau đƣợc phát triển bởi
Google và Open Hadset Alliance (Liên minh thiết bị cầm tay mã nguồn mở) [4]
Nền tảng chính của Android là Java, nó sử dụng thƣ viện Java và các ứng dụng
đƣợc viết mã theo ngôn ngữ lập trình C, C++, Java. Nó là ứng dụng duy nhất có
hơn 700.000 ứng dụng và có nhiều các ứng dụng hơn nữa đƣợc đƣa ra hàng
ngày, đƣợc sử dụng trong các thiết bị điện tử, điện thoại thông minh, máy tính
bảng, ipad, đồng hồ, tivi, đầu kỹ thuật số …
2.1.2. Lịch sử phát triển Android
Ban đầu, Android đƣợc phát triển bởi công ty liên hợp Android sau đó
đƣợc Google mua lại vào tháng 7 năm 2005. Những thành viên của Android
chuyển sang làm việc tại Google gồm có Andy Rubin, Rich Miner, Nick Sears
và Chris White. Tại Google họ đã bắt đầu phát triển nền tảng thiết bị di động
dựa trên hạt nhân Linux với hệ thống mềm dẻo, linh động và có khả năng nâng
cấp mở rộng cao. Các nhà phát triển viết ứng dụng Android dựa trên ngôn ngữ
Java. Vào ngày 5 tháng 11 năm 2007 sự ra mắt của Android gắn với thành lập
của Open Hadset Alliance bao gồm 78 công ty phần cứng, phần mềm và viễn
thông với mục đích phát triển các tiêu chuẩn mở cho thiết bị di động [4,10] .
Ngày 9 tháng 12 năm 2008, thêm 14 thành viên mới tham gia vào dự án Android
đƣợc công bố. Gồm có ARM Holdings, Atheros Communications, Asustek Computer
Inc, Garmin Ltd, Softbank, Sony Ericsson, Toshiba Corp, và Vodafone Group Plc.