1 .2Kiến trúc của hệ điều hành Android
3.1 Công cụ xây dựng chƣơng trình
3.1.1 Java Development Kit (JDK)
Java là một công nghệ xây dựng các ứng dụng phần mềm có vị trí rất lớn trong những năm cuối thế kỉ 20, đầu thế kỉ 21. Nó đƣợc coi là công nghệ mang tính cách mạng và khả thi nhất trong việc tạo ra các ứng dụng có khả năng chạy thống nhất trên nhiều nền tảng mà chỉ cần biên dịch một lần. Lần đầu tiên xuất hiện vào năm 1992 nhƣ là một ngôn ngữ dùng trong nội bộ tập đoàn Sun Microsystems để xây dựng ứng dụng điều khiển các bộ xử lý bên trong máy điện thoại cầm tay, lò vi sóng, các thiết bị điện tử dân dụng khác. Không chỉ là một ngôn ngữ, Java còn là một nền tảng phát triển và triển khai ứng dụng trong đó máy ảo Java, bộ thông dịch có vai trò trung tâm.
Thuật ngữ Java Development Kit (JDK) là bộ công cụ cho ngƣời phát triển ứng dụng bằng ngôn ngữ lập trình Java) là một tập hợp những công cụ phần mềm đƣợc phát triển bởi Sun Microsystems dành cho các nhà phát triển phần mềm, dùng để viết những applet Java hay những ứng dụng Java - bộ công cụ này đƣợc phát hành miễn phí gồm có trình biên dịch, trình thông dịch, trình giúp sửa lỗi (debugger), trình chạy applet và tài liệu nghiên cứu.
3.1.2 Eclipse
Eclipse[7] là một môi trƣờng phát triển tích hợp (Integrated Development Environment – IDE) cho Java, đƣợc phát triển ban đầu bởi IBM và hiện nay bởi tổ chức Eclipse). Đến thời điểm hiện nay, Eclipse không gói gọn trong việc cung cấp môi trƣờng phát triển tích hợp cho Java mà còn cho các ngôn ngữ khác nhƣ JavaScript, PHP, C, C++, Cobol, Python, C#, HTML,
Ứng dụng kích thích tƣ duy toán học cho trẻ em mầm non trên nền tảng Android 47
XML nếu ngƣời dùng mở rộng các trình bổ sung (plug-in components) đƣợc biết đến dƣới tên các hộp công cụ phát triển (development toolkits).
Các thành phần của Eclipse: Eclipse Workbench
Eclipse đƣợc cấu thành bởi nhiều thành phần (components), và thành phần cơ bản nhất là Eclipse Workbench. Đó chính là phần cửa sổ chính xuất hiện khi Eclipse đƣợc gọi thực thi. Workbench chỉ có một công việc đơn giản là kết nối các thành phần và các trình bổ sung lại với nhau cho phép ta làm việc hiệu quả. Hay nói cách khác, xét ví dụ về lập trình Java, Workbench không hề biết gì về biên soạn, thực thi và gỡ rối chƣơng trình Java; nó chỉ biết cách điều hƣớng các dự án và tài nguyên (ví dụ tập tin và thƣ mục). Với những thao tác không thực hiện đƣợc, Workbench trao cho các thành phần khác; trong ví dụ trên, JDT (Java Development Toolkit) có nhiệm vụ hỗ trợ các công cụ cho phép lập trình viên biên soạn, biên dịch, thực thi và gỡ rối các chƣơng trình Java.
Plugins
Trình bổ sung là một thành phần (component) cung cấp một số loại dịch vụ trong khuôn khổ của Eclipse Workbench.
Eclipse là một nền tảng có khả năng mở rộng cho việc xây dựng các môi trƣờng phát triển tích hợp (IDE). Eclipse cung cấp lõi các các dịch vụ (a core of services) điều khiển một tập hợp các công cụ (tools) kết hợp với nhau để hỗ trợ các tác vụ lập trình. Các nhà cung cấp các công cụ đóng góp vào nền tảng Eclipse bằng cách gói gọn các công cụ của họ vào các thành phần có thể gắn vào (pluggable) Eclipse, đƣợc gọi là trình bổ sung Eclipse (Eclipse plug- in).
Ứng dụng kích thích tƣ duy toán học cho trẻ em mầm non trên nền tảng Android 48
Perspective
Vào một thời điểm bất kỳ, Workbench là một cửa sổ ứng dụng đơn chứa một số lƣợng các kiểu ô cửa sổ (pane) khác nhau hay còn đƣợc gọi là các khung nhìn (views), và một view đặc biệt là trình soạn thảo (editor). Trong một số tình huống, một ô cửa sổ đơn có thể chứa một nhóm các ô cửa sổ khác dƣới dạng các thẻ (tabs). Tùy vào từng perspective, một ô cửa sổ có thể chứa cửa sổ thực thi lệnh trong khi ô cửa sổ khác chứa một bản phác thảo của dự án đang làm việc. Tuy nhiên, trình soạn thảo là một thành phần căn bản không thể thiếu của tất cả các perspective.
Vì có nhiều loại tài liệu (document) khác nhau, nên có nhiều loại trình soạn thảo khác nhau. Khi một tài liệu đƣợc mở ra hoặc đƣợc tạo mới, Eclipse tìm đến trình soạn thảo thích hợp nhất để ngƣời dùng thao tác trên tài liệu này. Nếu một tài liệu là một văn bản thông thƣờng (text document), trình soạn thảo văn bản cài đặt sẵn trong Eclipse đƣợc lựa chọn. Nếu tài liệu là một tập tin java nguồn, trình soạn thảo Java của JDT đƣợc lựa chọn, trình soạn thảo này có nhiều tính năng đặc biệt nhƣ kiểm tra cú pháp của các mã lệnh đƣợc soạn, hoàn thành mã lệnh tự động (code completion)… Nếu tài liệu là một văn bản Microsoft Word trên Windows và chƣơng trình Word đã đƣợc cài đặt trên máy đang sử dụng, tài liệu đƣợc mở bởi Word trong Eclipse bằng kỹ thuật kết nối và nhúng đối tƣợng (Object Linking and Embedding – OLE).
3.1.3 SQLite
SQLite là một dạng CSDL tƣơng tự nhƣ Mysql, PostgreSQL... Đặc điểm của SQLite là gọn, nhẹ, đơn giản. Chƣơng trình gồm 1 file duy nhất vỏn vẹn chƣa đến 500kB, không cần cấu hình hay khởi động mà có thể sử dụng ngay. Dữ liệu database cũng đƣợc lƣu ở một file duy nhất. Không có khái niệm user, password hay quyền hạn trong SQLite database.
Mỗi ứng dụng đều sử dụng dữ liệu, dữ liệu có thể đơn giản hay đôi khi là cả 1 cấu trúc. Trong Android thì hệ cơ sở dữ liệu đƣợc sử dụng là SQLite
Ứng dụng kích thích tƣ duy toán học cho trẻ em mầm non trên nền tảng Android 49
Database, đây là hệ thống mã nguồn mở đƣợc sử dụng rộng rãi trong các ứng dụng (Mozilla Firefox sử dụng SQLite để lƣu trữ các dữ liệu về cấu hình, iPhone cũng sử dụng cơ sở dữ liệu là SQLite). SQLite hiện đang là SQL Database Engine mã nguồn mở theo mô hình dữ liệu quan hệ đang đƣợc sử dụng nhiều nhất trên thế giới do tính cơ động cao, dễ sử dụng, gọn nhẹ, hiệu quả và tin cậy.
Một số đặc điểm chính của SQLite:
- Đảm bảo đầy đủ 4 đặc tính ACID của các giao tác: tuy cực kỳ nhỏ gọn nhƣng các giao tác làm việc với SQLite đƣợc đảm bảo đầy đủ 4 tính chất cơ bản của giao tác là tính nguyên tổ (Atomic), tính nhất quán (Consistent), tính cô lập (Isolated), và tính bền vững (Durable) thậm chí sau khi hệ thống bị crash hoặc gặp các sự cố về nguồn điện.
- Toàn bộ Database đƣợc lƣu trữ trong 1 tập tin trên đĩa duy nhất
- Bộ thƣ viện quản lý rất nhỏ, gọn: dƣới 500 KB cho bản đầy đủ tính năng, và có thể ít hơn nếu loại bớt một số đặc tính. Cụ thể, kích thƣớc phiên bản SQLite 3.7.17 (Phiên bản hiện tại, mới nhất của SQLite) ít hơn 350 KB trên hệ điều hành 32 bit và ít hơn 409 KB trên các hệ thống 64 bit.
- Đơn giản và dễ sử dụng bộ API tƣơng ứng.
- Tự tổ chức lƣu trữ (self-contained) mà không phải phụ thuộc vào các thƣ viện bên ngoài. Đây là một đặc điểm khá quan trọng khiến SQLite trở thành CSDL phù hợp để nhúng vào các thiết bị di động hoặc tích hợp vào các ứng dụng muốn chạy mà không cần phải điều chỉnh cấu hình hệ thống.
- Trong bộ thƣ viện SQLite có sẵn 1 client đơn giản giao tiếp theo chế độ dòng lệnh (Command-Line Interface – CLI) tên là sqlite3 (trên môi trƣờng Windows là tiện ích sqlite3.exe) để có thể đƣợc dùng để quản trị CSDL SQLite.
Do đặc điểm đƣợc thiết kế của SQLite nên CSDL nhúng này phù hợp với một số tình huống sử dụng nhƣ: SQLite có thể sử dụng nhƣ định dạng tập
Ứng dụng kích thích tƣ duy toán học cho trẻ em mầm non trên nền tảng Android 50
tin thích hợp cho các ứng dụng; Có thể sử dụng làm CSDL cho các thiết bị điện tử; Sử dụng nhƣ CSDL cho các website; SQLite có thể thay thế cho các CSDL quan hệ tầm doanh nghiệp.