3.4 Ứng dụng minh họa
Xây dựng tiện ích tìm kiếm quán cà phê theo ngữ cảnh tích hợp trên Smartphone Android: “Coffee Context Search”
Với sức mạnh công nghệ, việc tìm kiếm thông tin ngày nay đã trở nên rất nhanh chóng và dễ dàng. Chỉ cần một thiết bị cầm tay như điện thoại thông minh, thiết bị hỗ trợ số cầm tay (PDA- Personal Digital Asistant)… có kết nối mạng người dùng có thể tra cứu được thông tin mình cần. Tuy nhiên từ đây cũng phát sinh nhiều vấn đề như số lượng thông tin cung cấp tới khách hàng là quá lớn dẫn đến sự dư thừa, khiến cho người dùng khó lựa chọn luồng thông tin hợp lý theo nhu cầu. Trong khi đó, với nhịp sống bận rộn, điều kiện môi trường luôn thay đổi người dùng rất cần tới những ứng dụng mang tính cá nhân, tiện lợi và thích ứng cho các sở thích cũng như trong ngữ cảnh cụ thể.
Chương 3 sẽ trình bày về việc xây dựng một ứng dụng có khả năng tích hợp trên điện thoại chạy hệ điều hành Android giúp người dùng tìm kiếm địa điểm quán cà phê theo ngữ cảnh người dùng.
3.4.1 Giới thiệu về hệ điều hành Android
3.4.1.1 Android là gì?
Android là một ngăn xếp phần mềm cho các thiết bị di động bao gồm một hệ điều hành, middleware và các ứng dụng khóa được phát triển bởi Google Android.
Thông tin yêu cầu
Tham chiếu
Sự kiện thu được
Các quy tắc Các sự kiện
Thông tin lập lịch
Thông tin xã hội
được dựa trên nhân Linux 2.6 và các ứng dụng cho Android sử dụng ngôn ngữ lập trình Java [18].
Android là một hệ điều hành mã nguồn mở, các nhà phát triển có thể tạo ra các ứng dụng cho Android và bất kỳ ai cũng có thể lấy và sửa đổi theo ý thích. Tuy nhiên các thiết bị Android cũng chứa một số phần mềm độc quyền mà các nhà phát triển không thể tiếp cận được những phần mềm này. Ví dụ: hệ thống định vị toàn cầu (GPS). Android cũng hỗ trợ nhiều tính năng như: Wi-fi, Bluetooth, các mạng 3G và 4G, ….
3.4.1.2 Kiến trúc Android
Android là một ngăn xếp phần mềm, bao gồm các tầng như hình 3.5 được trích từ trang http://kebomix.wordpress.com/2010/08/17/android-system- architecture/ sau đây, trong đó các hàm thực thi các ứng dụng trong hai tầng Applications và Applications framework được viết bằng ngôn ngữ lập trình Java. Còn các hàm thực thi các ứng dụng ở các tầng dưới: Libraries, Android runtime, Linux kernel được viết bằng mã gốc hay native code được viết bằng ngôn ngữ C/C++.