Xây dựng ứng dụng đa phương tiện cho Mobile sử dụng hệ điều hành Android

112 528 0
Xây dựng ứng dụng đa phương tiện cho Mobile sử dụng hệ điều hành Android

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN Ngày Tháng Năm Giảng Viên Hướng Dẫn ( Ký, ghi rõ họ và tên ) NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN Ngày Tháng Năm Giảng Viên Phản Biện ( Ký, ghi rõ họ và tên ) LỜI CẢM ƠN Chúng em xin chân thành cảm ơn khoa Công Nghệ Thông Tin trường Đại Học Sư Phạm Kỹ Thuật Tp.HCM đã tạo điều kiện cho chúng em thực hiện đề tài này. Chúng em xin chân thành cảm ơn Thầy Nguyễn Trần Thi Văn đã tận tình hướng dẫn, chỉ bảo chúng em trong suốt quá trình thực hiện đề tài. Chúng em xin chân thành cám ơn quý Thầy Cô trong Khoa đã tận tình giảng dạy, trang bị cho chúng em những kiến thức quý báu trong những năm học vừa qua. Chúng con xin nói lên lòng biết ơn sâu sắc đối với Ông Bà, Cha Mẹ đã chăm sóc, nuôi dạy chúng con thành người. Xin chân thành cám ơn các anh chị và bạn bè đã ủng hộ, giúp đỡ và động viên chúng em trong thời gian học tập và nghiên cứu. Trong phạm vi khả năng cho phép, chúng em đã rất cố gắng để hoàn thành đề tài một cách tốt nhất. Song, chắc chắn sẽ không tránh khỏi những thiếu sót. Chúng em kính mong nhận được sự cảm thông và những ý kiến đóng góp của quý thầy cô và các bạn. Nhóm sinh viên thực hiện Châu Duy Thiện Vũ Thùy Linh Lê Quốc Tiến 06/ 2010 MỤC LỤC Chương 1: Tổng quan về Android và Android SDK MỞ ĐẦU Từ trước tới nay, mỗi khi nhắc tới các công nghệ di động, hay các thiết bị điện tử, thì đa phần mọi người đều nghĩ tới những ứng dụng nhúng, tức là ứng dụng được viết sẵn và chỉ chạy trên nền thiết bị đó mà thôi. Nhưng những năm gần đây, khi các thiết bị điện tử, đặc biệt là các thiết bị cá nhân di động như: điện thoại, máy trợ giúp cá nhân kỹ thuật số, …ngày càng trở nên phổ biến và càng ngày càng trở nên cá nhân hóa trong mục đích sử dụng. Điều này, làm nảy sinh nhiều vấn đề, trong đó, có một yêu cầu bức thiết đó là việc có thể thêm vào các thiết bị này những phần mềm ứng dụng mới, bởi vì những ứng dụng được thiết kế sẵn theo máy đã không còn đáp ứng được nhu cầu ngày càng đa dạng của người sử dụng. Chính vì điều này, mà hàng loạt những công nghệ đã ra đời nhắm đáp ứng những nhu cầu trên, như: Công nghệ JAVA được tích hợp trên các thiết bị cầm tay, công nghệ này cho phép người dùng cài thêm những ứng dụng mới, những tiện ích mới cho thiết bị cá nhân của họ. Tuy nhiên, công nghệ JAVA nhúng này, lại gặp một nhược điểm đó là quá phụ thuộc vào nền tảng phần cứng và phần cứng phải hỗ trợ thì mới thực hiện được, tức là rất hạn chế việc sử dụng phần cứng của máy, mà hầu như là không sử dụng được, trong việc viết chương trình. Thí dụ: một máy điện thoại hỗ trợ công nghệ JAVA nhưng chỉ cho phép sử dụng tài nguyên hạn chế, như: cho phép truy xuất dữ liệu thể bộ nhớ nhưng không cho phép chặn cuộc gọi hay truy cập vào danh bạ của máy. Đối với những máy có sử dụng hệ điều hành như Window Mobile, Symbian… Các hệ điều hành này phần nào cũng gây ít nhiều khó khăn cho những ai có ý định xây dựng các ứng dụng trên nó. Đối với Window Mobile là một công nghệ của Microsoft và hoàn toàn đóng đối với người dùng, nhà phát triển ứng dụng chỉ dựa hoàn toàn vào công nghệ mà Microsoft cung cấp, còn Symbian thì việc cấu hình để có thể lập trình trên nó cũng vô vàn khó khăn, đặc biệt là nó sử dụng ngôn ngữ C/C++ để làm nền tảng lập trình rõ ràng là không thuận tiện trong việc phát triển ứng dụng. Xuất phát từ nhu cầu thực tế đó, Google đã mạnh dạn nghiên cứu và đưa ra một nền tảng hệ điều hành mới, đó chính là Android. Một nền tảng hệ điều hành mã nguồn mở hoàn toàn và dựa hoàn toàn vào một ngôn ngữ lập trình rất mạnh là JAVA để phát triển ứng dụng. Chính vì Android hỗ trợ JAVA ngay từ trong nền tảng của nó, nên việc viết ứng dụng, ngay cả sử dụng các chức năng của phần cứng là hoàn toàn dễ dàng thông qua việc sử dụng bộ công cụ hỗ trợ lập trình được cung cấp hoàn toàn miễn phí, là Android SDK. Nhóm nghiên cứu nhận thấy, đây chính là nền tảng ứng dụng có thể phát triển trong tương lai, hoàn toàn có thể là đối trọng nặng ký của các nền tảng hệ điều hành đã Page 1 Chương 1: Tổng quan về Android và Android SDK có trước đây, như Window Mobile, Symbian … Chính vì thế, nhóm đã chọn đề tài: Tìm hiểu và viết ứng dụng trên nền hệ điều hành mobile Android. Với hy vọng sẽ bước đầu tìm hiểu, nắm bắt và làm chủ được công nghệ mới cho tương lai của các thiết bị di động. Nhưng vì thời gian, cũng như năng lực của nhóm có hạn, cho nên chỉ giới hạn ở việc tìm hiểu cách thức hoạt động, nghiên cứu cơ bản các chức năng và sử dụng bộ công cụ Android SDK để thiết kế một ứng dụng mục đích nghiệm thu quá trình nghiên cứu, đó là chương trình chỉnh sửa ảnh trên điện thoại có cài hệ điều hành Android. Đề tài bao gồm 3 phần: Phần A: Hệ điều hành android Chương 1: Tổng quan Android và SDK Chương 2: Applications and Activities Chương 3: User Interfaces Chương 4: Intents Chương 5: Data Storage Chương 6: Working in the Background Phần B: Chương trình minh họa - Chương trình chỉnh sửa ảnh Chương 7: Thiết kế chương trình Phần C: Kết luận Phụ lục: Hướng dẫn cài đặt, sử dụng. Page 2 Chương 1: Tổng quan về Android và Android SDK NỘI DUNG Phần A: Hệ điều hành android CHƯƠNG 1: TỔNG QUAN VỀ ANDROID VÀ ANDROID SDK 1.1 Giới thiệu 1.1.1 Giới thiệu về Android Hiện nay có rất nhiều hệ điều hành trên các thiết bị di động. Nổi tiếng phải kể đến là Window Mobile và Symbian. Cả hai hệ điều hành này phần nào cũng gây ít nhiều khó khăn cho những ai có ý định xây dựng các ứng dụng trên nó. Đối với Window mobile là một công nghệ của Microsoft và hoàn toàn đóng đối với người dùng, còn Symbian thì việc cấu hình để có thể lập trình trên nó cũng vô vàn khó khăn, đặc biệt nếu lựa chọn C/C++ là ngôn ngữ lập trình trên Symbian thì đúng là một thách thức. Trước tình hình đó thì Google đã có một tham vọng, họ muốn việc lập trình trên chiếc điện thoại di động là dễ dàng với một ngôn ngữ nổi tiếng là JAVA, một hệ điều hành có khả năng chạy trên nhiều dòng điện thoại. Với ý định này thì vào ngày 11/11/2007, phiên bản hệ điều hành đầu tiên có tên gọi là Android của Google và chủ yếu dựa trên nhân Linux phiên bản 2.6 đã ra đời. Android được thiết kế sao cho các nhà phát triển có thể tận dụng tối đa lợi thế của thiết bị cầm tay để xây dựng nên các ứng dụng thực sự thuyết phục. Android hoàn toàn là một hệ điều hành mở. Một ứng dụng có thể gọi thực hiện các chức năng lõi trong điện thoại như thực hiện cuộc gọi, gửi tin nhắn SMS, dùng camera … Các nhà phát triển có thể làm bất cứ việc gì trên thiết bị Android. Bởi vì hệ thống Android giao tiếp thông qua các Intents – nó đơn giản là một chuỗi mô tả một hành động nào đó – ví dụ: “android.provider.Telephony.SMS_RECEIVED”. Với Android, các nhà phát triển còn có khả năng chia sẻ thông tin cá nhân lên trang Web ví dụ như thông tin liên lạc, vị trí địa lí, lịch biểu… Android còn cung cấp sẵn các dịch vụ định vị (và đây là một thế mạnh của Google) cùng với một tập các ứng dụng về “Map” với các tính năng rất ấn tượng như dò đường, tính khoảng cách địa điểm, tìm bạn… Google còn dự định tích hợp các dịch vụ sẵn có của hãng lên Android, trong đó phải kể đến Google Maps, dịch vụ bản đồ trực tuyến từ lâu đã rất quen thuộc với chúng ta, người dùng sẽ thực sự bị thuyết phục bởi các ứng dụng độc đáo này. Ngoài ra còn có một số tính năng nổi bật khác như Animation và đồng thời cũng hỗ trợ media-playback. Page 3 Chương 1: Tổng quan về Android và Android SDK Để có thể phát triển các ứng dụng thì không thể không nói đến máy ảo. Máy ảo của Android có tên là Dalvik, chiếc máy ảo dựa trên việc đăng kí (register-based) và được thiết kế bởi Dan Bornstein và một vài kĩ sư của Google. Thuật ngữ “register- based” đã nói lên sự khác biệt giữa máy ảo Android với máy ảo JAVA thông thường. Tương tự như máy ảo JAVA, đây cũng chỉ là một máy ảo thông dịch, nhưng thông dịch các file có định dạng .dex (Dalvik Execute) – một định dạng giúp tối ưu bộ nhớ và khả năng lưu trữ của máy ảo – Các máy ảo JAVA ngày nay chủ yếu dựa trên ngăn xếp (Stack-based), còn máy ảo Android thì khác dựa trên việc đăng kí (Register- based), với tính chất này cho phép rút ngắn thời gian thực thi chương trình. Android cũng cung cấp một tập các giao diện dòng lệnh để ta có thể kiểm soát máy ảo mà không cần đến giao diện đồ họa. Ta có thể kết nối, chuyển cổng, cấu hình mạng, gọi điện, gửi tin nhắn, tạo thẻ nhớ, dò lỗi… tất cả chỉ thông qua dòng lệnh mà không cần cài đặt thêm bất cứ một IDE nào khác. Điều bất tiện ở đây là ta phải nhớ tất cả các cú pháp cho từng nhu cầu cụ thể. Có thể nói rằng Android đã cung cấp cho chúng ta khá đầy đủ các công cụ cơ bản, giúp các nhà phát triển có thể tự xây dựng các ứng dụng cho riêng mình một cách dễ dàng. Trong tương lai có thể nói Android là một đối thủ khá nặng kí đối với Symbian và Window Mobile, vốn đã là các hệ điều hành nổi tiếng. Cấu trúc của Android 1.1.2 Giới thiệu về Android SDK Song song với việc giới thiệu nền tảng hệ điều hành mới Android, Google cũng đã giới thiệu cho người dùng bộ công cụ phát triển ứng dụng Android SDK cho hệ điều hành này. Đây là công cụ giả lập thiết bị ảo trên máy tính để phát triển ứng dụng Page 4 Chương 1: Tổng quan về Android và Android SDK với các hàm API hỗ trợ cho những lập trình viên lập trình trên các thiết bị di động sử dụng nền tảng Android thông qua ngôn ngữ lập trình Java. Android SDK cung cấp đầy đủ mọi thứ cần thiết dùng để lập trình, kiểm tra và gỡ lỗi các chương trình ứng dụng Android, như: • Android APIs: phần nhân của SDK là thư viện Android API, trong đó chứa thư viện mà các nhà phát triển dùng để tạo ra các ứng dụng Android Native (tức là các ứng dụng đã được thiết kế sẵn đóng gói cùng với hệ điều hành). • Bộ công cụ phát triển: để chuyển mã nguồn thành các ứng dụng chạy theo chuẩn của Android. Nó cũng cung cấp các công cụ để biên dịch và gỡ lỗi cho chương trình. • Bộ giả lập Android: bộ giả lập này có đầy đủ các chức năng y như là mô hình thật và nó làm việc như một thiết bị Android thực sự. Vì thế, bộ giả lập này là công cụ môi trường Android tuyệt vời, dùng để thử nghiệm các ứng dụng của Android mà không phụ thuộc vào phần cứng. • Documentation: trong bộ Android SDK cung cấp sẵn một hệ thống hướng dẫn, trong đó giải thích về cách sử dụng và làm việc của tất cả các đối tượng được hỗ trợ như: các lớp chức năng, các phương thức trong các lớp đó … (với tính năng gần tương tự như bộ MSDN của Microsoft). • Sample code: đây là các đoạn mã mẫu và một vài ứng dụng được thiết kế hoàn chỉnh dùng để hướng dẫn về cách sử dụng của một vài và giúp các nhà phát triển ứng dụng mới tiếp cận với Android dễ dàng làm việc và tìm hiểu cách thức lập trình ứng dụng trên Android thông qua bộ SDK. Như đã nói ở trên, hệ điều hành Android là một hệ điều hành mở, nó cho phép nhà phát triển ứng dụng can thiệp vào tất cả các chức năng của hệ điều hành, thông qua bộ công cụ SDK. Sau đây sẽ trình bày một số thư viện chuẩn của Android SDK cung cấp để hỗ trợ cho việc thực hiện được chức năng mong muốn theo ý của nhà phát triển: • Gói android.os: gói này cho phép truy xuất đến các dịch vụ cơ bản của Android như tin nhắn, interprocess communication, đồng hồ … • Gói com.google.android.maps: chứa các hàm API cấp cao để truy xuất đến ứng dụng map (bản đồ) đã được nhúng sẵn trong hệ điều hành Android. Nó bao gồm MapView control, Overlay và MapController dùng để đánh dấu và điều khiển bản đồ. • Ngoài ra, còn các gói khác như .app, .widget, .view, .os, … mà nhóm sẽ trình bày như là một phần nội dung của đề tài này. 1.1.3 Cài đặt Chuẩn bị: • Phần mềm Eclipse (phiên bản 3.2 trở lên) có thể tải trực tiếp từ trang web http://www.eclipse.com. Page 5 Chương 1: Tổng quan về Android và Android SDK • Bộ công cụ Android SDK phiên bản mới nhất, tới thời điểm này (4/2009) là phiên bản 1.5_r1, có thể tải từ trang web http://developer.android.com. Ở đây nhóm thực hiện sẽ sử dụng hệ điều hành Microsoft Windows, phần mềm Eclipse và Android SDK để triển khai ứng dụng Android. Bắt đầu việc cài đặt: • Đầu tiên, bung nén chương trình eclipse vào một thư mục nào đó (thí dụ: C:\eclipse\) • Sau đó, bung nén bộ Android SDK vào một thư mục bất kỳ (thí dụ: D:\Android_SDK_1.5_r1\) • Bây giờ chạy chương trình eclipse. • Vào menu Help – Software Updates … • Chọn tab Available Software • Chọn Add Site, nhập vào đường dẫn sau: http://dl-ssl.google.com/android/eclipse/ • Chọn OK. • Chờ cho chương trình được cài đặt. • Sau khi cài xong, tiếp tục vào menu Window – Preferences • Chọn tab Android, chỉ đường dẫn đến thư mục đã bung nén Android SDK ở trên (ở đây là D:\Android_SDK_1.5_r1\). • Hoàn tất. Lưu ý: • Cách cài đặt ở trên đòi hỏi máy tính phải được nối mạng Internet thì mới cài đặt được. Page 6 [...]... Vòng đời của ứng dụng Android Không giống như hầu hết các môi trường truyền thống, các ứng dụng Android không có một điều khiển đến vòng đời của chúng Thay vào đó, các thành phần ứng dụng phải lắng nghe cho việc thay đổi trạng thái bên trong của ứng dụng đó và tác động trở lại một cách hợp lý Page 10 Chương 2: Cơ bản về việc tạo ứng dụng trên Android Như đã đề cập trước đó, mỗi một ứng dụng Android ở... các thành phần ứng dụng - permission: trước khi bạn có thể hạn chế việc truy xuất đến các thành phần ứng dụng, cần định nghĩa một quyền bên trong manifest Sử dụng thẻ permission để định nghĩa các quyền Các thành phần ứng dụng có thể sử dụng các quyền này bằng cách thêm vào thuộc tính android: permission.Các ứng dụng. .. nghĩa cho mỗi style, Android cung cấp một shortcut để bạn sử dụng các style từ theme hiện hành Để làm điều này, dùng ?android: trước resource muốn dùng: 2.6 Tổng quan về Android Activity Để tạo một giao diện cho ứng dụng, ... việc tạo ứng dụng trên Android CHƯƠNG 2: CƠ BẢN VỀ VIỆC TẠO ỨNG DỤNG TRÊN ANDROID 2.1 Các thành phần tạo nên một ứng dụng Android Có 6 thành phần được cung cấp để tạo nên các ứng dụng Android: • Activities: Mỗi một màn hình là một mở rộng của lớp Activity Activity dùng Views để tạo nên giao diện đồ họa người dùng, để hiển thị thông tin và đáp lại các hành động của người dùng Activity trong Android cũng... android: id=”@+id/myEditText” android: layout_width=”fill_parent” android: layout_height=”wrap_content” android: text=” @android: string/httpErrorBadUrl” Page 16 Chương 2: Cơ bản về việc tạo ứng dụng trên Android android:textColor=” @android: color/darker_gray” /> 2.5.2.4 Tham chiếu đến các style trong Theme hiện hành Theme là một cách tuyệt vời đảm bảo các ứng dụng có một giao diện nhất quán Điều này sẽ tiện. .. như trao đổi giữa các ứng dụng khác dễ dàng hơn, thậm chí đối với các ứng dụng third party 2.2 Giới thiệu Android Manifest Mỗi một project có một file AndroidManifest.xml, nó định nghĩa cấu trúc và siêu dữ liệu (metadata) cho ứng dụng Trong file AndroidManifest.xml chứa các nút cho mỗi thành phần (Activities, Services, Content Providers và Broadcast Receivers) tạo nên ứng dụng Android và xác Page 7... cũng tương tự như một Form trong các ứng dụng desktop truyền thống • Services: Các service làm việc ẩn dưới ứng dụng, được sử dụng để thực hiện các xử lý thông thường khi cần và thậm chí ngay cả lúc các Activity không hoạt động hoặc ẩn đi • Content Providers: được sử dụng để quản lý và chia sẽ cơ sở dữ liệu cho ứng dụng Chúng có thể được cấu hình để cho phép các ứng dụng khác truy xuất và ngược lại •... thống có thể sử dụng Các resource có thể được sử dụng trực tiếp từ phần code của ứng dụng và cũng có thể được tham chiếu từ một nguồn resource khác Page 14 Chương 2: Cơ bản về việc tạo ứng dụng trên Android Phần này sẽ mô tả cách định nghĩa một resource có thể thay đổi theo ngôn ngữ, vùng, và phần cứng khác nhau Android sẽ tự động chọn giá trị thích hợp nhất cho một resource dựa trên phần cứng và cài... android: layout_width=”fill_parent” android: layout_height=”fill_parent” android: padding=”@dimen/standard_border”> 2.5.2.3 Sử dụng tài nguyên hệ thống Các ứng dụng native của Android có nhiều resource được... android: name=”.MyService”> Page 8 Chương 2: Cơ bản về việc tạo ứng dụng trên Android - provider: thẻ provider được dùng cho mỗi Content Provider trong ứng dụng Content Provider được dùng cho việc quản lý và chia sẽ truy xuất dữ liệu bên trong và giữa các ứng dụng với nhau

Ngày đăng: 18/10/2014, 09:23

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan