MỞ ĐẦU Trong những năm gần đây, cùng với sự phong phú về chủng loại, cấu hình và giá thành, điện thoại Android đã trở nên phổ biến và xâm nhập ngày càng sâu rộng tới ngƣời sử dụng trên toàn thế giới. Có lẽ lý do giúp cho “dế” Android phát triển nhanh chính là có một hệ điều hành đƣợc ngƣời dùng ƣa chuộng nhất. Sở dĩ hệ điều hành Android thu hút đƣợc sự chú ý đó vì chúng đƣợc tạo nên từ nền tảng nguồn mở, cho phép ngƣời dùng có thể tùy biến nhiều trên đó. Mặt khác, với Android thiết bị ngƣời dùng không đòi hỏi phải có một cầu hình tối thiểu nào cả.
Chúng có thể hoạt động trên mọi cấu hình, máy có hỗ trợ cảm ứng hay không, cũng nhƣ tƣơng thích với mọi nhà sản xuất thiết bị phần cứng [9]. Bên cạnh đó, các thiết bị trong công nghiệp, dân sự cũng nhƣ quốc phòng ngày càng đa dạng, hiện đại, với sự trải rộng của không gian vận hành, cho nên việc quản lý, giám sát và điều khiển chúng thông minh, linh hoạt là yêu cầu thiết yếu. Thêm nữa, nền tảng di động trong xã hội hiện tại đã đạt tới mức phổ biết cũng nhƣ những tiện ích, dịch vụ mà nó mang lại là vô cùng phong phú, đây chính là cơ sở thuận lợi hƣớng tới một xã hội kết nối, khả năng đƣa con ngƣời có thể kiểm soát các thiết bị, dịch vụ mình làm ra trong quy mô rộng lớn. Năng suất lao động cũng từ đó mà có những bƣớc nhảy vọt.
Đó cũng là lý do tôi chọn đề tài: “Quản lý, giám sát và điều khiển thiết bị bằng phần mềm trên Android qua mạng điện thoại di động”. Đề tài đƣợc trình bày thành5 chƣơng: Chƣơng 1: Tổng quan về hệ điều hành Android. Chƣơng 2: Các giao thức sử dụng. Chƣơng 3: Tổng quan về mạng thông tin di động (Vinaphone).
Chƣơng 4: Giải pháp. Chƣơng 5: Kết quả và Hƣớng phát triển. Bùi Thị Linh – K16D2 TIEU LUAN MOI download : skknchat@gmail.com 16 CHƢƠNG 1: TỔNG QUAN HỆ ĐIỀU HÀNH ANDROID Hệ điều hành Android đã đƣợc mô tả chi tiết trong các tài liệu tham khảo [5-7], tuy nhiên, để có cái nhìn tổng quan về vấn đề này, dƣới đây là những trình bày tóm tắt. Giới thiệu Android Android làhệ điều hành dành cho điện thoại di động,đƣợc xây dựng dựa trên nền Linux.
Trƣớc đây hệ điều hành này thuộc sở hữu của Android Inc, Google đã mua lại hệ điều hành này tại thời điểm phát triển ban đầu (năm 2005) và tiếp tục phát triển nó nhƣ một phần của chiến lƣợc để bƣớc vào không gian di động. Google Android là hệ điều hành mở, hoàn thiện và miễn phí đầu tiên. Sự ra đời của nó 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 đính tạo nên một chuẩn mở cho điện thoại di động trong tƣơng lai. Các nhà cung cấp (thƣờng là các nhà sản xuất phần cứng) có thể thêm phần mở rộng cho Android và tùy biến Android để phân biệt sản phẩm của họ với những ngƣời khác.
Mô hình này phát triển đơn giản làm cho Android rất hấp dẫn và do đó đã khơi dậy sự quan tâm của nhiều nhà cung cấp. Tính năng Android Androidlà mã nguồn mở và miễn phí cho các nhà sản xuất tuỳ biến, có nghĩa là không có phần cứng cố định và cấu hình phần mềm. Tuy nhiên, Android tự bản thân nó đã hỗ trợ các tính năng sau đây: Lƣu trữ - Sử dụng SQLite, một cơ sở dữ liệu quan hệ, trọng lƣợng nhẹ cho dữ liệu lƣu trữ. Kết nối - Hỗ trợ GSM / EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth (bao gồm A2DP và AVRCP), WiFi, LTE và WiMAX.
Tin nhắn - Hỗ trợ cả SMS và MMS. Trình duyệt web - Dựa trên WebKit mã nguồn mở, cùng với V8 JavaScript của Chrome. Truyền thông hỗ trợ - Bao gồm hỗ trợ cho các phƣơng tiện truyền thông sau đây: H.264 (trong 3GP hoặc MP4 container), MPEG-4 SP, AMR, AMR-WB, AAC, HE-AAC, MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF và BMP. Hỗ trợ phần cứng - Accelerometer cảm biến, máy ảnh, kỹ thuật số Compass, Cảm biến tiệm cận và GPS.
Multi-touch - Hỗ trợ màn hình cảm ứng đa điểm. Đa chức năng - Hỗ trợ các ứng dụng đa tác vụ. Hỗ trợ Flash - Android 2.3 hỗ trợ Flash 10. Tethering - Hỗ trợ chia sẻ kết nối Internet là một điểm nóng không dây/có dây.
Bùi Thị Linh – K16D2 TIEU LUAN MOI download : skknchat@gmail.com 17 Tất cả các ứng dụng có sẵn đều đƣợc viết bằng ngôn ngữ Java và sử dụng Android SDK (Software Development Kit). Bộ SDK của Android bao gồm mọi thứ cần thiết giúp bạn có thể lập trình, debug và test ứng dụng Android. Android API Cốt lõi của bộ SDK là thƣ viện các API và Google cũng chỉ sử dụng bộ API này để xây dựng các ứng dụng có sẵn cho Android (native application). Development Tool SDK bao gồm rất nhiều công cụ giúp biên dịch, sửa lỗi và hỗ trợ trong việc lập trình ứng dụng.
Android Emulator Trình giả lập một thiết bị chạy Android thực sự với nhiều skin thay thế, cực kì tiện lợi cho việc test ứng dụng Android ngay trên máy tính mà không cần phải thông qua một thiết bị chạy Android thực. Tài liệu SDK bao gồm bộ tài liệu rất chi tiết, giải thích cặn kẽ, chính xác những gì bao gồm trong mỗi package, class cùng với cách sử dụng chúng. Ngoài tài liệu về “code”, còn có những tài liệu dùng để “getting started” và giải thích các nguyên tắc về cơ chế hoạt động của ứng dụng trong Android. Code mẫu SDK bao gồm các ứng dụng mẫu đơn giản minh họa cho các tính năng nổi bật trên Android, cũng nhƣ các ứng dụng demo cách sử dụng những tính năng của bộ API.
Đối với Eclipse IDE (Integrated Development Environment), Google cung cấp một plug-in giúp kết hợp chặt chẽ giữa Eclipse với Android Emulator cũng nhƣ công cụ debug. Điều này giúp cho việc phát triển ứng dụng cho Android bằng Eclipse thực sự trở nên đơn giản. Kiến trúc Android Các lớp khác nhau tạo nên hệ điều hành Android đƣợc miêu tả ở hình 1-1. Điều quan trọng cần lƣu ý rằng máy ảo không phải là một JVM nhƣ chúng ta có thể mong đợi, nhƣng là Dalvik Virtual Machine, một công nghệ mã nguồn mở.
Mỗi ứng dụng Android chạy trong một thể hiện của các máy ảo Dalvik, là nơi cƣ trú của một quá trình quản lý Linux kernel. Một số ứng dụng cơ bản bao gồm lịch, ứng dụng email, chƣơng trình tin nhắn SMS, bản đồ, thực hiện cuộc gọi điện thoại, truy cập trình duyệt Web, truy cập danh bạ điện thoại. Bùi Thị Linh – K16D2 TIEU LUAN MOI download : skknchat@gmail.com 18 Hình 1-1: Kiến trúc Android 1. Nền ứng dụng (Application Framework) Đây là lõi hay là nền tảng mà tất cả những nhà phát triển Android đều phải theo.
Các nhà phát triển có thể truy cập vào tất cả các framework API cơ bản của các chức năng của một điện thoại nhƣ quản lý phân bổ tài nguyên, chuyển đổi giữa các quy trình hoặc các chƣơng trình, các ứng dụng điện thoại và theo dõi lƣu giữ vị trí của điện thoại. Về cơ bản tất cả các ứng dụng đều là một tập hợp các dịch vụ và các hệ thống, bao gồm: Quản lý Activity. Quản lý cửa sổ (màn hình). Cung cấp nội dung.
Hệ thống View. Quản lý điện thoại. Quản lý nguồn tài nguyên. Quản lý vị trí.
Trong đó: Một tập phong phú và đa dạng Views có thể đƣợc sử dụng để xây dựng một ứng dụng, bao gồm lists, grids, text boxes, buttons và thậm chí một trình duyệt web nhúng. Bùi Thị Linh – K16D2 TIEU LUAN MOI download : skknchat@gmail.com 19 Cung cấp nội dung cho phép các ứng dụng truy cập dữ liệu từ các ứng dụng khác (nhƣ Contacts) hoặc để chia sẻ dữ liệu riêng của chúng. Quản lý nguồn tài nguyên, cung cấp quyền truy cập vào tài nguyên phi mã nguồn nhƣ chuỗi, đồ họa và các lớp tập tin. Quản lý thông báo cho phép tất cả các ứng dụng để hiển thị thông báo tùy chỉnh trong thanh trạng thái.
Quản lý Activity, quản lý vòng đời của ứng dụng và cung cấp một stack (ngăn xếp), back-stack. Kiến trúc đƣợc thiết kế để đơn giản hóa việc tái sử dụng của các thành phần. Hiểu cách khác framework ứng dụng nhƣ là một tập các công cụ cơ bản mà một nhà phát triển có thể xây dựng các công cụ phức tạp hơn nhiều. Thƣ viện (Libraries) Lớp này bao gồm thƣ viện của Android đƣợc viết bằng C, C++ và đƣợc sử dụng bởi các thành phần khác nhau của hệ thống Android.
Các nhà phán triển truy cập những tính năng cung cấp bởi các thƣ viện thông qua Framework ứng dụng Android. Một số các thƣ viện này bao gồm các phƣơng thức truyền thông (media), đồ họa, 3D, SQLite, thƣ viện trình duyệt web… Hệ thống thƣ viện C (Android Libc implementation): Kế thừa các hệ thống thƣ viện chuẩn C (LIBC), tối ƣu hóa để sử dụng trong các thiết bị nhúng trên nền Linux Theo giấy phép BSD. Kích thƣớc nhỏ và dẫn xuất mã nhanh. Tùy chỉnh nhanh thực hiện pthread.
Đƣợc xây dựng - trong hỗ trợ cho Android-dịch vụ cụ thể (thuộc tính hệ thống, khả năng đăng nhập). Không hỗ trợ một số tính năng POSIX. Lƣu trữ, dựng hình, đa phƣơng tiện (Media Library): Cung cấp các tính năng chính trên nền tảng Android: SQLite, một hệ thống quản lý cơ sở dữ liệu quan hệ đơn giản (không IPC, tập tin đơn giản). WebKit, một framwork ứng dụng cung cấp nền tảng cho việc xây dựng một trình duyệt web.
Media Framework, dựa trên nền tảng PacketVideo openCORE (codec). Tối ƣu hóa thƣ viện đồ họa 2D / 3D dựa trên OpenGL ES. Quản lý giao diện (Surface Manager): Cung cấp một hệ thống rộng các surface để có thể tạo ra tất cả các surface trong một bộ khung đệm: Kết hợp surface 2D và 3D. Bùi Thị Linh – K16D2 TIEU LUAN MOI download : skknchat@gmail.com 20 Có thể sử dụng OpenGL ES và bộ tăng tốc phần cứng 2D cho các thành phần của nó.
Hình 1-2: Quản lý Surface Quản lý âm thanh (Audio Manager): Quá trình nhiều dòng âm thanh trong đƣờng âm ra PCM. Xử lý các loại khác nhau của các thiết bị (tai nghe, loa ngoài…). Chuyển hƣớng dòng âm với đầu ra quy định. Hình 1-3: Quản lý Audio Thƣ viện trừu tƣợng phần cứng (Hardware Abstraction Libraries): Chỉ rõ giao diện phần cứng mà Androidđòi hỏi để vận hành.