Mục LụcNỘI DUNG .................................................................................................................. 1A. GIỚI THỆU CHUNG VỀ HỆ ĐIỀU HÀNH ......................................................... 11. Sơ lược về các hệ điều hành ......................................................................... 12. Giới thiệu về android ................................................................................... 23. Sơ lược về lịch sử phát triển......................................................................... 34. Các phiên bản chính thức đã ra mắt.............................................................. 75. Kiến trúc hệ điều hành Android. .................................................................. 76. Hệ thống tập tin trên hệ điều hành.............................................................. 127. So sánh giữa các hệ điều hành.................................................................... 16B. VIẾT ỨNG DỤNG ANDROID: TRÒ CHƠI XẾP HÌNH ................................... 21I. Phân tích ứng dụng ........................................................................................... 211. Phân tích .................................................................................................... 212. Các mô hình hóa của chương trình ............................................................. 22II. Xây dựng ứng dụng ....................................................................................... 231. Tiến hành cài đặt công cụ phát triển ........................................................... 232. Xây dựng ứng dụng.................................................................................... 26III. Thiết kế giao diện.......................................................................................... 291. Giao diện ứng dụng.................................................................................... 292. Menu của ứng dụng ................................................................................... 303. Kết thúc trò chơi ........................................................................................ 30C. KẾT LUẬN ........................................................................................................ 32 NỘI DUNGA. GIỚI THỆU CHUNG VỀ HỆ ĐIỀU HÀNH1. Sơ lược về các hệ điều hànhHệ điều hành là chương trình chạy trên các hệ thống máy tính, quản lý các tài nguyên trên máy tính và là môi trường cho các chương trình ứng dụng chạy trên nó.Ngày nay khái niệm hệ điều hành không chỉ trên máy vi tính mà còn được mở rộng cho nhiều thiết bị điện tử khác chẳng hạn như điện thoại thông minh (smart phone),các thiết bị cầm tay PDA….Như vậy hệ điều hành di động là hệ điều hành chạy trên hệ thống máy có tính di động cao. Với đặc thù đó, hệ điều hành di động phải có những khả năng đặc biệt mà những hệ điều hành thông thường không có được. Chẳng hạn như nó chạy trên máy có cấu hình máy hạn chế về tốc độ bộ vi xữ lý, bộ nhớ sử dụng, phải chạy được ổn định liên tục trong một thời gian dài mà chỉ sử một lượng năng lượng nhưng nhỏ, trong suốt thời gian chạy đó có thể duy trì các kết nối mạng không dây để đam bảo việc liên lạc.• Một số hệ điều hành tiêu biểu: Trên máy tính cá nhân: MS DOS,MS WINDOW, MAC OS, LINUX, UNIX.Trên thiết bị di động: Android, Symbian, Window Phone, iOS, BlackBerry, Bado OS, Palm OS.Ngoài ra còn có các hệ điều hành chạy trên mainframe, server, thẻ chíp,….• Các chức năng chính của hệ điều hànhQuản lý chia sẻ tài nguyên Tài nguyên phần cứng (CPU, bộ nhớ, các thiết bị IO) Tài nguyên phần mềm (các file, các ứng dụng dùng chung)Tạo môi trường ảo ít phụ thuộc vào phần cứng để các phần mềm ứng dụng hoạt động, phục vụ người dùng.• Phân loại hệ điều hành Theo loại thiết bị mà hệ điều hành hoạt động Theo số user và số chương trình cùng hoạt động o Hệ điều hành đơn nhiệm một người dùngo Hệ điều hành đa nhiệm một người dùngo Hệ điều hành đa nhiệm nhiều người dùngo … Theo góc độ người dùngo Một người dùngo Nhiều người dùng Theo mô hình xử lýo Hệ thống xử lý theo lôo Hệ thống xử lý theo lô đa chươngo Hệ thống chia sẻ thời giano Hệ thống song songo Hệ thống phân táno Hệ thống xử lý thời gian thựcTìm hiểu hệ điều hành Android và viết ứng dụng trò chơi xếp hình (Tetris) (Có source code)
Trang 1NHẬN XÉT (Của giảng viên hướng dẫn)
Trang 2
Phụ lục 1 Bảng các ký tự viết tắt
PDA Personal Digital Assistant - Thiết bị kỹ thuật số hỗ trợ cá nhân 1
XML eXtensible Markup Language -Ngôn ngữ Đánh dấu Mở rộng 3 NFC Near Field Communication – Truyền thông giao tiếp gần 7 CSS Cascading Style Sheets - Tập tin định kiểu theo tầng 10 DOM Document Object Model - Tài liệu Mô hình Đối tượng 10 HTML HyperText Markup Language-Ngôn ngữ Đánh dấu Siêu văn bản 10 AJAX Asynchronous JavaScript and XML - JavaScript và XML không
đồng bộ
10
SMS Short Message Services - Dịch vụ tin nhắn ngắn 12
API Application Programming Interface – Lập trình giao diện ứng
dụng
22
SDK Software Development Kit – Bộ công cụ phát triển phần mềm 23 JDK Java Development Kit - Bộ công cụ phát triển java 23 ADT Android Development Tools – Những công cụ phát triển
Android
25
Trang 3Phụ lục 2 Bảng hình ảnh sử dụng trong bài
Hình 1: Quá trình phát triển của hệ điều
hành Android
6
Hình 3: Bảng biểu diễn kiểu file trong
Hình 14: Hoàn thành việc tạo mới
Trang 4Mục Lục
NỘI DUNG 1
A GIỚI THỆU CHUNG VỀ HỆ ĐIỀU HÀNH 1
1 Sơ lược về các hệ điều hành 1
2 Giới thiệu về android 2
3 Sơ lược về lịch sử phát triển 3
4 Các phiên bản chính thức đã ra mắt 7
5 Kiến trúc hệ điều hành Android 7
6 Hệ thống tập tin trên hệ điều hành 12
7 So sánh giữa các hệ điều hành 16
B VIẾT ỨNG DỤNG ANDROID: TRÒ CHƠI XẾP HÌNH 21
I Phân tích ứng dụng 21
1 Phân tích 21
2 Các mô hình hóa của chương trình 22
II Xây dựng ứng dụng 23
1 Tiến hành cài đặt công cụ phát triển 23
2 Xây dựng ứng dụng 26
III Thiết kế giao diện 29
1 Giao diện ứng dụng 29
2 Menu của ứng dụng 30
3 Kết thúc trò chơi 30
C KẾT LUẬN 32
Trang 5NỘI DUNG
A GIỚI THỆU CHUNG VỀ HỆ ĐIỀU HÀNH
1 Sơ lược về các hệ điều hành
Hệ điều hành là chương trình chạy trên các hệ thống máy tính, quản lý các tài nguyên trên máy tính và là môi trường cho các chương trình ứng dụng chạy trên nó
Ngày nay khái niệm hệ điều hành không chỉ trên máy vi tính mà còn được mở rộng cho nhiều thiết bị điện tử khác chẳng hạn như điện thoại thông minh (smart phone),các thiết bị cầm tay PDA…
Như vậy hệ điều hành di động là hệ điều hành chạy trên hệ thống máy có tính di động cao Với đặc thù đó, hệ điều hành di động phải có những khả năng đặc biệt mà những hệ điều hành thông thường không có được Chẳng hạn như nó chạy trên máy có cấu hình máy hạn chế về tốc độ bộ vi xữ lý, bộ nhớ sử dụng, phải chạy được ổn định liên tục trong một thời gian dài mà chỉ sử một lượng năng lượng nhưng nhỏ, trong suốt thời gian chạy đó có thể duy trì các kết nối mạng không dây để đam bảo việc liên lạc
Một số hệ điều hành tiêu biểu:
- Trên máy tính cá nhân: MS DOS,MS WINDOW, MAC OS, LINUX, UNIX
- Trên thiết bị di động: Android, Symbian, Window Phone, iOS, BlackBerry, Bado OS, Palm OS
Ngoài ra còn có các hệ điều hành chạy trên mainframe, server, thẻ chíp,…
Các chức năng chính của hệ điều hành
Quản lý chia sẻ tài nguyên
- Tài nguyên phần cứng (CPU, bộ nhớ, các thiết bị IO)
- Tài nguyên phần mềm (các file, các ứng dụng dùng chung)
Tạo môi trường ảo ít phụ thuộc vào phần cứng để các phần mềm ứng dụng hoạt
Trang 6o Hệ điều hành đơn nhiệm một người dùng
o Hệ điều hành đa nhiệm một người dùng
o Hệ điều hành đa nhiệm nhiều người dùng
o Hệ thống xử lý theo lô đa chương
o Hệ thống chia sẻ thời gian
o Hệ thống song song
o Hệ thống phân tán
o Hệ thống xử lý thời gian thực
2 Giới thiệu về android
Android là một hệ điều hành di động dựa trên nền tảng linux phiên bản 2.6 dành cho các dòng điện thoại SmartPhone Đầu tiên được ra đời bởi công ty liên hợp Android, sau đó được Google mua lại và phát triển từ năm 2005 và trở thành một hệ điều hành di động mã nguồn mở, miễn phí, mạnh mẽ và được ưa chuộng nhiều trên thế giới
Hệ điều hành Android một hệ điều hành rất mạnh, có bảo mật cao, hỗ trợ được nhiều công nghệ tiên tiến, tương thích với nhiều phần cứng, hỗ trợ nhiều loại bộ nhập
dữ liệu như keyboard, touch và trackball Android là hệ điều hành di động nên có khả năng kết nối cao với các mạng không dây Hỗ trợ công nghệ OpenGL nên có khả năng chơi các phương tiện media, hoạt hình cũng như trình diễn các khả năng đồ họa khác cực tốt, là tiền đề để phát triển các ứng dụng có giao diện phức tạp chẳng hạn như là các trò chơi
Trang 7Android liên tục được phát triển, mỗi bản cập nhật từ google là mỗi lần Android được tối ưu hóa để hoạt động tốt hơn, nhanh và ổn định hơn, hỗ trợ thêm công nghệ mới Chẳng hạn như theo một đánh giá thì Android phiên bản 2.2 hoạt động nhanh hơn bản 2.1 tới 450% Hiện nay, phiên bản mới nhất 4.2 phát hành 2012 và đang tiếp tục được cập nhật
Năm 2008, hệ điều hành Android đã chính thức mở toàn bộ mã nguồn, điều đó cho phép các hãng điện thoại có thể đem mã nguồn về tùy chỉnh, thiết kế lại sao cho phù hợp với mỗi mẫu mã điện thoại của họ và điều quan trọng nữa là hệ điều hành mở này hoàn toàn miễn phí, không phải trả tiền nên giúp họ tiết kiệm khá lớn chi phí phát triển hệ điều hành Những điều đó là cực kỳ tốt không chỉ đối với các hãng sản xuất điện thoại nhỏ mà ngay cả với những hãng lớn như Samsung, HTC…
Với Google, vì Android hoàn toàn miễn phí, Google không thu tiền từ những hãng sản xuất điện thoại, tuy không trực tiếp hưởng lợi từ Android nhưng bù lại, những dịch vụ của hãng như Google Search, Google Maps,… nhờ có Android mà có thể dễ dàng xâm nhập nhanh vào thị trường di động vì mỗi chiếc điện thoại được sản xuất ra đều được tích hợp hàng loạt dịch vụ của Google Từ đó hãng có thể kiếm bội, chủ yếu
là từ các nguồn quảng cáo trên các dịch vụ đó
Với các nhà phát triển ứng dụng (developers), việc hệ điều hành Android được sử dụng phổ biến đồng nghĩa với việc họ có thể thoải mái phát triển ứng dụng trên nền Android với sự tin tưởng là ứng dụng đó sẻ có thể chạy được ngay trên nhiều dòng điện thoại của các hãng khác nhau Họ ít phải quan tâm là đang phát triển cho điện thoại nào, phiên bản bao nhiêu vì nền tảng Android là chung cho nhiều dòng máy, máy ảo Java đã chịu trách nhiệm thực thi những ứng dụng phù hợp với mỗi dòng điện thoại mà nó đang chạy Tất cả các chương trình ứng dụng được viết bằng ngôn ngữ Java kết hợp
Trang 8 Năm 2003, một công ty hoạt động trong lĩnh vực phát triển phần mềm cho các thiết bị di động mang tên là Android được thành lập bởi 4 thành viên là:
- Andy Rubin (nhà đồng sáng lập công ty Danger - công ty chuyên về các nền tảng, phần mềm, thiết kế, và dịch vụ cho các thiết bị điện toán di động)
- Rich Miner (nhà đồng sáng lập công ty truyền thông Wildfire Communications)
- Nick Sears (một trong những vị phó chủ tịch của nhà cung cấp mạng viễn thông di động T-Mobile ở Mỹ)
- Chris White (trưởng bộ phận thiết kế và phát triển giao diện của WebTV)
Năm 2005, sau hơn 2 năm hoạt động thì Android được Google mua lại với một khoản tiền không được tiết lộ và chính thức trở thành một trong những công ty con của gã khổng lồ ngành tìm kiếm Đồng thời cả Andy Rubin, Rich Miner và Chris White đều quyết định tiếp tục làm việc tại chính công ty của mình sau khi được mua lại Ở thời điểm đó, nhiều người không thực sự chú ý vào thương vụ này, thế nhưng nó lại đánh dấu bước đi đầu tiên của Google trong thị trường thiết bị di động thế giới
Tại Google, một nhóm nghiên cứu đứng đầu là Rubin đã bắt đầu phát triển một nền tảng dành cho thiết bị di động dựa trên nhân của hệ điều hành Linux Và sau
đó, hệ điều hành này cũng được giới thiệu đến các nhà phát triển phần cứng lẫn phần mềm, báo hiệu sự có mặt của một "ngôi sao" khác trên "thiên hà" thị trường công nghệ di động
Đến tháng 12 năm 2006, suy đoán về ý định gia nhập thị trường truyền thông di động của Google tiếp tục được củng cố sau khi BBC và The Wall Street Journal cho biết rằng hãng này muốn đưa ứng dụng và chức năng tìm kiếm của mình lên các thiết bị di động Lập tức ngay sau đó, nhiều tin đồn về chiếc điện thoại mang thương hiệu Google xuất hiện khắp các phương tiện truyền thông
Tháng 5 năm 2007, liên minh các nhà sản xuất thiết bị cầm tay - Open Handset Alliance (OHA) được thành lập bao gồm Google và một số thành viên khác của cộng đồng Linux mở như: Broadcom Corporation, Google, HTC, Intel, LG,
Trang 9Marvell Technology Group, Motorola, Nvidia, Qualcomm, Samsung Electronics, Sprint Nextel, T-Mobile và Texas Instruments Mục tiêu của OHA
là phát triển tiêu chuẩn mở cho các thiết bị di động và sản phẩm đầu tiên của liên minh này đó là Android, một nền tảng di động được xây dựng trên nhân Linux phiên bản 2.6
Tính cho đến thời điểm này, Google Android đã có 6 phiên bản chính thức và 1 phiên bản được đặt tên theo những món tráng miệng, với ngụ ý người dùng sẽ
dễ dàng sử dụng hệ điều hành của họ như thưởng thức các món ăn đó Các phiên bản Android có tên mã lần lượt là: Cupcake 1.5, Donut 1.6, Éclair 2.0, Froyo 2.2, Gingerbread 2.3, Honeycomb 3.0/3.1 và phiên bản Android 4.0 Ice Cream Sandwich
Trang 10Hình 1: Quá trình phát triển của hệ điều hành Android
Trang 114 Các phiên bản chính thức đã ra mắt
Android 1.5 Cupcake: đây là phiên bản đầu tiên với nhiều tính năng và cải tiến mới mang tính văn phòng đến cho người dùng T-Mobile G1 Điểm nổi bật ở phiên bản này là người dùng có thể quay video và tải lên YouTube từ chính thiết bị của mình
Android 1.6 Donut: nâng cao khả năng hỗ trợ ứng dụng thông qua Android Market trên các thiết bị và một số tính năng trên có trên nền tảng
Android 2.2 Froyo: cải thiện tốc độ thực thi, hỗ trợ Adobe Flash và thêm chức năng tethering cho phép biến chiếc điện thoại thành một điểm phát wifi
Android 2.3 Gingerbread: tiếp tục nâng cấp giao diện người dùng, cải thiện bàn phím cảm ứng, tính năng sao chép dữ liệu (copy/paste) và hỗ trợ truyền thông gần (NFC – Near Field Communication)
Android 3.0/3.1 Honeycomb: đây là phiên bản hệ điều hành Android dành riêng cho máy tính bảng được phát hành nhằm đạt được hiệu quả cao hơn trong việc sử dụng các thiết bị có kích thước màn hình lớn và giới thiệu thêm một số tính năng mới trên giao diện người dùng cho máy tính bảng
5 Kiến trúc hệ điều hành Android
Hệ điều hành Android có 4 tầng từ dưới lên trên:
- Tầng kernel Linux (Phiên bản 2.6)
- Tầng Libraries & Android runtime
- Tầng Application Framework
- Tầng Application
Trang 12Hình 2: Kiến trúc hệ điều hành Android
a Tầng hạt nhân Linux (Linux Kernel layer)
Hệ điều hành Android được phát triển dựa trên hạt nhân linux, cụ thể là linux kernel 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 :
Trang 13- Display Driver : Điều khiển việc hiển thị lên màn hình cũng như thu nhậ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ệu từ 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ính 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 Madagement : Giám sát việc tiêu thụ điện năng
Tầng Library và Android runtime: Phần này có 2 thành phần là phần Library và Android Runtime
Trang 14- Thư viện web (LibWebCore) : Đây là thành phần để xem nội dung trên web, được sử dụng để xây dựng phần mềm duyệt web (Android Browse) cũng như
để các ứng dụng khác có thể nhúng vào Nó cực kỳ mạnh, hỗ trợ được nhiều công nghệ mạnh mẽ như HTML5, JavaScript, CSS, DOM, AJAX
- Thư viện SQLite : Hệ cơ sở dữ liệu để các ứng dụng có thể sử dụng
- …
Phần Android runtime
Phần này chứa các thư viện mà một chương trình viết bằng ngôn ngữ Java có thể hoạt động Phần này có 2 bộ phận tương tự như mô hình chạy Java trên máy tính thường
- Thứ nhất là các thư viện lõi (Core Library), chứa các lớp như JAVA IO, Collections, File Access
- Thứ hai là một máy ảo java (Dalvik Virtual Machine)
Mặc dù cũng được viết từ ngôn ngữ Java nhưng một ứng dụng Java của hệ điều hành Android không được chạy bằng JRE của Oracle (JVM) mà là chạy bằng máy ảo Dalvik do Google phát triển
c Tầng 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ả 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…
Trang 15- 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 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)
- …
d Tầng Application
Đâ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ư :
Trang 16Cá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ử dung quá 5~10% công suất CPU, điều đó nhằn để tránh độc quyền trong việc sử dụng CPU
6 Hệ thống tập tin trên hệ điều hành
Vấn đề quản lý hệ thống tập tin Phần này có điểm thuận lợi để tìm hiểu đó là vì được phát triển từ nhân linux nên hệ thống tập tin trên Android cực kỳ giống hệ thống tập tin trên linux như là về cách tổ chức, những quyền hạn của người sử dụng lên file…
a Tổng quan về hệ thống file trên Android
Trang 17Trong Android, các file được tổ chức thành các thư mục, theo mô hình phân cấp Tham chiếu đến một file bằng tên và đường dẫn Các câu lệnh thao tác file cho phép thực hiện các chức năng như dịch chuyển, sao chép toàn bộ thư mục cùng với các thư mục con chứa trong nó…
Có thể sử dụng các ký tự, dấu gạch dưới, chữ số, dấu chấm và dấu phảy để đặt tên file Không được bắt đầu một tên file bằng dấu chấm hay chữ số Những ký tự khác như ‘/’, ‘?’, ‘*’, là ký tự đặc biệt được dành riêng cho hệ thống Chiều dài của tên file
có thể tới 256 ký tự Trong hệ điều hành Android có sự phân biệt tên file chữ hoa và chữ thường, điều đó có nghĩa là trong cùng 1 thư mục có thể tồn tại những file có tên là File, FILE, file và chúng là những file khác nhau
Tất cả các file trong Android có chung cấu trúc là chuỗi các byte (byte stream) Cấu trúc thống nhất này cho phép Android áp dụng khái niệm file cho mọi thành phần dữ liệu trong hệ thống Thư mục cũng như các thiết bị được xem như file Chính việc xem mọi thứ như các file cho phép Android quản lý và chuyển đổi dữ liệu một cách dễ dàng Một thư mục chứa các thông tin về thư mục, được tổ chức theo một định dạng đặc biệt Các thành phần được xem như các file, chúng được phân biệt dựa trên kiểu file: ordinary file, directory file, character device file, và block device file
b Các kiểu file trên Android
Trong nhiều hệ điều hành như window, người ta phân biệt rõ file (tập tin) và folder (hay directory : thư mục) là 2 thành phần khác hẳn nhau Tuy nhiên trên hệ điều hành Android (cũng như linux) thì coi directory cũng là file và nó là một loại file đặc biệt Thực tế còn một số loại file nữa có thể liệt kê theo bảng sau :
Trang 18Hình 3: Bảng biểu diễn kiểu file trong Android
c Tổ chức quyền sở hữu và quyền hạn trên file
Tương tự trên hệ thống linux, trên hệ điều hành Android, một file có thể liên kết với một người sử dụng và một nhóm người sử dụng Sự liên kết đó là một tập hợp các quyền hạn truy cập bao gồm quyền được phép đọc (read), được phép ghi (write) và được phép thực thi (execute)
Cụ thể như sau: Một file sẽ có những quyền hạn tương ứng với 9 ký tự theo mẫu sau : Với ký tự r w x nghĩa là có quyền tương ứng với ký tự viết tắt đó, – nghĩa là không có quyền hạn đó
3 ký tự đầu tiên là quyền hạn người sở hữu file
3 ký tự giữa là quyền hạn của nhóm tài khoản sở hữu file
3 ký tự cuối là quyền hạn của những người không thuộc nhóm sở hữu file
Ví dụ : Một file có dãy ký tự biểu diễn quyền hạn là rwxr-xr— thì điều đó có nghĩa :
3 ký tự đầu là rwx : người sở hữu có thể đọc, ghi và thực thi file
3 ký tự tiếp theo là r-x thì nhóm tài khoản sở hữu file có quyền đọc và thực thi file chứ không có quyền ghi, chỉnh sửa file