Tìm hiểu công nghệ android và ứng dụng trên di động

49 703 0
Tìm hiểu công nghệ android và ứng dụng trên di động

Đ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

Tìm hiểu Công nghệ Android ứng dụng trên di động LỜI CẢM ƠN Em xin gửi lời cảm ơn chân thành đến tất cả các thầy giáo, cô giáo trường Đại học Vinh nói chung khoa Công nghệ thông tin nói riêng đã dạy dỗ, trang bị cho em những kiến thức trong suốt những năm học vừa qua. Em xin gửi lời cảm ơn sâu sắc đến các thầy cô giáo đã hướng dẫn định hướng giúp đỡ em thực hiện đồ án tốt nghiệp này. Đặc biệt là thầy giáo Th.s Trương Trọng Cần đã tận tình hướng dẫn em trong suốt thời gian thực tập làm đồ án tốt nghiệp. Nhân dịp này em xin gửi lời cảm ơn chân thành đến gia đình, bạn bè, những người thân đã tạo mọi điều kiện, động viên giúp đỡ em hoàn thành tốt đồ án tốt nghiệp này. Tuy nhiên, trong thời gian có hạn nên em không thể phát huy hết những ý tưởng của mình, khả năng hỗ trợ của ngôn ngữ công nghệ vào đề tài. Trong quá trình thực hiện đề tài không thể tránh khỏi sai sót, mong nhận được sự góp ý cảm thông của quý thầy cô các bạn. Em xin chân thành cảm ơn! Vinh, ngày 17 tháng 12 năm 2012 Sinh viên Nguyễn Bá Thành LỜI MỞ ĐẦU Những năm gần đây sự phát triển của công nghệ thông tin đã đang làm thay đổi toàn bộ thế giới. Mọi ngành nghề, mọi lĩnh vực trong đời sống đều được áp dụng công Nguyễn Bá Thành 49K-CNTT Khoa CNTT Page 1 Tìm hiểu Công nghệ Android ứng dụng trên di động nghệ như kinh tế, y khoa, công nghiệp…vì vậy mọi việc đã đang trở nên dễ dàng, nhanh chóng, tiện lợi hơn rất nhiều. Đặc biệt trong lĩnh vực di động, từng ngày từng giờ các phát minh công nghệ liên tiếp được công bố. Cách đây không lâu chiếc điện thoại di động chỉ là một vật dụng dùng để gọi nhắn tin với nhau, nhưng cho đến bây giờ thì những công dụng mà nó mang lại đã vượt lên trên cả sự mong đợi. Bây giờ chiếc điện thoại không chỉ đơn thuần là gọi nhắn tin nữa mà nó là cả một kho các ứng dụng, phục vụ rất nhiều cho nhu cầu của người sử dụng. Các hãng di dộng lớn hiện nay đang ra sức cạnh tranh nhau bằng những phát minh có độ hoàn hảo đến từng centimet. Tuy nhiên một thiết bị di động hoàn hảo không chỉ xét về mẫu mã bên ngoài mà còn phải xét đến cả một hệ thống phần mềm chạy bên trong nó nữa. Vì vậy mà các nhà nghiên cứu hệ điều hành dành cho thiết bị di động cũng đang thực sự tham gia vào một cuộc cách mạng về công nghệ. Có thể nhận thấy rõ rệt nhất trên thị trường hiện nay, hệ điều hành Android do Google phát triển đang làm mưa làm gió với một kho ứng dụng đồ sộ một số lượng lớn các thiết bị đang sử dụng hệ điều hành này. Tương lai không xa nó sẽ chiếm thế độc tôn trên lĩnh vực di động. Vì những lý do trên mà em chọn đề tài “Tìm hiểu công nghệ Android ứng dụng trên di động ” để nghiên cứu nắm bắt công nghệ mới làm đề tài tốt nghiệp của mình MỤC LỤC Nguyễn Bá Thành 49K-CNTT Khoa CNTT Page 2 Tìm hiểu Công nghệ Android ứng dụng trên di động NỘI DUNG Chương 1: TÌM HIỂU CÔNG NGHỆ ANDROID 1.1 Tổng quan về các hệ điều hành dành cho di động Các dòng thiết bị nền tảng phần mềm hiện có: - Nokia: chạy trên hệ điều hành Symbian. - BlackBerry: chạy trên hệ điều hành RIM. - Samsung i770, HTC Touch Pro…: chạy trên hệ điều hành Windows Mobile. - iPhone: chạy trên hệ điều hành IOS. - Một số lượng lớn smartPhone: chạy trên hệ điều hành Android … 1.1.1 Hệ điều hành Symbian Đây là hệ điều hành ra đời sớm nhất trên thế giới, được viết tiền thân bởi David potter 1980. Chiếc điện thoại đầu tiên chạy hệ điều hành này là Nokia 6160 vào tháng 6/1998. Đặc trưng của hệ điều hành Symbian là một hệ điều hành có phím chức năng, tuy nhiên cho đến thời điểm hiện tại thì Symbian cũng đã đáp ứng sự tương tác với người dùng thông qua màn hình cảm ứng. Symbian phát triển trên ngôn ngữ C/C++ nền tảng J2ME. 1.1.2 Hệ điều hành RIM RIM (Research In Motion) đây là hệ điều hành cài cho điện thoại Blackberry, đây là chiếc điện thoại được thiết kế chủ yếu phục vụ cho các nghiệp vụ văn phòng, vì vậy các Nguyễn Bá Thành 49K-CNTT Khoa CNTT Page 3 Tìm hiểu Công nghệ Android ứng dụng trên di động ứng dụng cũng như hệ điều hành rất linh hoạt uyển chuyển. RIM được thành lập vào năm 1995 đến tháng 8/1998 sản phẩm đầu tiên là Inter@ctivePager. Đặc trưng của Hệ điều hành RIM là sử dụng phím checkball (giống với con chuột trên máy tính), ngoài ra cũng có các phím chức năng, bàn phím rộng hơn sơ với các thiết bị trước đây. RIM phát triển trên ngôn ngữ Java bộ JDE. 1.1.3 Hệ điều hành Windows Mobile Đây là một hệ điều hành windows dành cho mobile do Microsoft phát triển. Tháng 8/2000 Microsoft ra phiên bản Windows Mobile đầu tiên dành cho PC pocket. Windows Mobile được phát triển từ nhân của windows CE 3.0. Windows Mobile hỗ trợ cả phím bấm cảm ứng. Đây là hệ điều hành được xây dựng từ bộ ngôn ngữ trong visual studio do Microsoft cung cấp. 1.1.4 Hệ điều hành IOS Đây là hệ điều hành cài đặt cho điện thoại iPhone. IPhone là chiếc điện thoại đã làm thay đổi hoàn toàn cách sử dụng điện thoại di động truyền thống, không chỉ đơn thuần là gọi nhắn tin nữa mà iPhone còn có cả một kho ứng dụng rất lớn, trở thành một thiết bị giải trí đa phương tiện. Tháng 1/2007 iPhone 2G chính thức ra mắt. IOS được phát triển từ nhân của MacOS CocoTouch (bộ cảm ứng đa điểm). Lập trình IOS sử dụng ngôn ngữ Objective C iPhone SDK. 1.2 Tổng quan về hệ điều hành di động Google Android Trong vài năm trở lại đây, có thể nói Android là một trong những hệ điều hành gây được tiếng vang lớn cũng như có sự phát triển nhanh nhất trong làng công nghệ nói chung mảng thiết bị di động nói riêng. Đây là một hệ điều hành với mã nguồn mở, các nhà phát triển có thể down mã nguồn về để sửa đổi theo thiết bị của mình, tuy nhiên vẫn phải theo một quy đinh của Google đó là giấy phép Apache2. Có thể nói đây là một tính chất quan trọng làm nên sự khác biệt của Android, với tính mở này Android đã phát triển rất nhanh đã vượt mặt các ông chủ trong làng công nghệ hệ điều hành cho thiết bị di động. 1.2.1 Sơ lược về lịch sử phát triển - 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, Rich Miner, Nick Sears, Chris White. - 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ộ 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, Nick Sears, 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. Nguyễn Bá Thành 49K-CNTT Khoa CNTT Page 4 Tìm hiểu Công nghệ Android ứng dụng trên di động Ở 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 được đá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. 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 The Wall Street Journal cho biết rằng hãng này muốn đưa ứng dụng 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 một số thành viên khác của cộng đồng Linux mở như: Broadcom Corporation, Google HTC, Intel, LG, Marvell Technology Group, Motorola, Nvidia, Qualcomm, Samsung Electronics, Sprint Nextel, T-Mobile 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 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 đến thời điểm hiện nay, Google Android đã có 9 phiên bản chính thức, cụ thể là: Android 1.5, Android 1.6, Android 2.0/2.1, Android 2.2, Android 2.3, Android 3.0/3.1, Android 4.0, Android 4.1, Android 4.2. 1.2.2 Một số tính năng cơ bản - Khả năng thích ứng của nền tảng (Handset Layout): ví dụ như kích cỡ màn hình từ lớn đến nhỏ hay hỗ trợ cả đồ họa 2D 3D dựa trên các chi tiết kỹ thuật trong thư viện đồ họa OpenGL ES 2.0. - Kết nối (Connectivity): Android hỗ trợ hầu hết các công nghệ kết nối hiện đại bao gồm GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi (không kết nối thông qua máy chủ), LTE, WiMax hay NFC. - Tin nhắn (Messaging): bao gồm cả nhắn tin văn bản (SMS) nhắn tin đa phương tiện (MMS). Ngoài ra, dịch vụ Android Cloud To Device Messaging Framework (C2DM – dịch vụ cho phép các nhà phát triển gửi dữ liệu từ máy chủ đến các ứng dụng của họ trên các thiết bị Android) cũng tích hợp một phần vào trình nhắn tin trên Android. - Ngôn ngữ (Language): hỗ trợ nhiều số lượng ngôn ngữ được hỗ trợ tính đến phiên bản Android 2.3 đã tăng gấp đôi so với phiên bản đầu tiên ra mắt. Một số ngôn ngữ sử dụng ký tự đặc thù như tiếng Hoa, tiếng Thái… cũng đã được hỗ trợ. Nguyễn Bá Thành 49K-CNTT Khoa CNTT Page 5 Tìm hiểu Công nghệ Android ứng dụng trên di động - Trình duyệt web (Browser): có sẵn trong Android được phát triển dựa trên công cụ mã nguồn mở Webkit cùng với JavaScript V8 của Chrome. Trình duyệt đạt được số điểm 93/100 trong bài kiểm tra Acid3 (bài kiểm tra về hiệu suất của một trình duyệt web liên quan đến các tiêu chuẩn web). - Hỗ trợ Java: Các lớp Java được biên dịch vào các tập tin thực thi Dalvik chạy trên máy ảo Dalvik. Dalvik là một máy ảo đặc biệt giành riêng cho Android nhằm tối ưu hóa cho các thiết bị chạy bằng pin điện thoại di động với khả năng hạn chế bộ nhớ trên CPU. - Phương tiện truyền thông giải trí (Media): hỗ trợ hầu hết các định dạng âm thanh, video, hình ảnh phổ biến. Ví dụ như: WebM, H.263, H.264 (trong các tập tin 3GP hay 4GP), MPEG-4 SP, AMR, AMR-WB (trong tập tin 3GP), ACC, HE- ACC (trong các tập tin 3GP hay MP4), MP3, MIDI, FLAC, WAV, JPEG, PNG, GIF, BMP. - Phần cứng (Hardware): camera, màn hình cảm ứng, GPS, gia tốc, con quay hồi chuyển, từ kế, điều khiển chơi game chuyên dụng, cảm biến áp suất, nhiệt kế đồ họa 2D, 3D… - Cảm ứng đa điểm (Multitouch): Android hỗ trợ cảm ứng đa điểm từ sản phẩm HTC Hero. Tính năng này ban đầu bị vô hiệu hóa (có thể để tránh vi phạn bằng sáng chế của Apple trong công nghệ màn hình cảm ứng vào thời điểm đó) nhưng sau khi HTC Hero ra mắt thì Google đã phát hành một bản cập nhật cho Nexus One Motorola Droid cho phép cảm ứng đa điểm nguyên bản. - Bluetooth: hỗ trợ gửi các tập tin, truy nhập vào danh bạ điện thoại, quay số bằng giọng nói gửi địa chỉ liên lạc giữa các điện thoại. - Đa nhiệm (MultiTasking): Android có khả năng chạy cùng một lúc nhiều ứng dụng trên thiết bị - Các tính năng thoại (Voice): các tính năng dùng giọng nói để gọi điện, nhắn tin, định hướng… được cung cấp từ phiên bản 2.2 trở đi. - Tethering: đây là tính năng cho phép sử dụng điện thoại như một điểm truy cập không dây hay có dây. Trước khi Android 2.2 ra mắt thì tính năng này được hỗ trợ thông qua các ứng dụng của bên thứ ba hay các tùy chỉnh từ nhà sản xuất. 1.3 Cấu trúc hệ điều hành 1.3.1 Ứng dụng (Application) Android được phát hành cùng với một bộ các ứng dụng gốc bao gồm: email, trình tin nhắn SMS, lịch, bản đồ, trình duyệt web, danh bạ một số ứng dụng khác. Tất cả các ứng dụng trên được viết bằng ngôn ngữ lập trình Java. 1.3.2 Nền tảng ứng dụng (Application Framework) Nguyễn Bá Thành 49K-CNTT Khoa CNTT Page 6 Tìm hiểu Công nghệ Android ứng dụng trên di động Bằng cách phát triển một nền tảng mở, Android cung cấp cho các nhà phát triển khả năng xây dựng các ứng dụng vô cùng phong phú. Bên cạnh đó, họ có thể tự do tận dụng ưu điểm của các thiết bị phần cứng, thông tin địa điểm truy cập hay các dịch vụ chạy nền để thiết lập hệ thống báo động, thông báo trên thanh trạng thái rất nhiều dịch vụ khác nữa. Ngoài ra các nhà phát triển có toàn quyền truy cập vào nền tảng API (Application Programming Interface – giao diện lập trình ứng dụng) mà các ứng dụng gốc sử dụng. Cấu trúc của các ứng dụng được đơn giản hóa thiết kế giúp cho việc tái sử dụng, thay thế các thành phần của bất kỳ ứng dụng nào đó một cách dễ dàng (nhưng phải tùy thuộc vào cơ chế bảo mật riêng của từng ứng dụng). - View System: được dùng để xây dựng một ứng dụng bao gồm các văn bản, nút bấm cả những trình duyệt web nhúng. - Content Provider: cho phép 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 mình. - Resource Manager: cung cấp khả năng truy cập mã nguồn. - Notification Manager: 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 - Activity Manager: quản lý thời gian hoạt động của các ứng dụng. 1.3.3 Thư viện (Libraries) Android được tích hợp một thư viện ngôn ngữ C/C++ được sử dụng bởi nhiều thành phần khác nhau của hệ thống. Thư viện ngôn ngữ này sẽ tiếp xúc với các nhà phát triển ứng dụng thông qua nền tảng hệ điều hành Android. Một số thư viện như: - System C library: có gốc từ hệ thống thư viện chuẩn C (LIBC) giúp điều chỉnh nhúng cho các thiết bị sử dụng nền tảng Linux. - Media Libraries: dựa trên OpenCore của PacketVideo, hỗ trợ ghi phát lại âm thanh, hình ảnh, video dưới nhiều định dạng phổ biến như MPEG4, MP3, AAC, JPG, PNG. - Surface Manager: quản lý truy cập vào các hệ thống hiển thị tổng hợp đồ họa 2D, 3D các lớp từ nhiều ứng dụng trên thiết bị. - LibWebCore: trình duyệt web hiện đại hỗ trợ cả trình duyệt web của Android các trình duyệt web nhúng khác. - SGL: công cụ đồ họa 2D cơ bản. - 3D Libraries: dựa trên OpenGL ES 1.0 API, dung để tăng tốc phần cứng 3D (nếu có) hoặc để tối ưu hóa các phần mềm 3D. - SQLite: cơ sở dữ liệu dùng cho tất cả các ứng dụng. 1.3.4 Trình biên dịch (Android Runtime) Nguyễn Bá Thành 49K-CNTT Khoa CNTT Page 7 Tìm hiểu Công nghệ Android ứng dụng trên di động Cung cấp các chức năng có sẵn trong thư viện gốc của ngôn ngữ lập trình Java. Mỗi ứng dụng trên hệ điều hành Android sẽ chạy trên một tiến trình của riêng nó. Ví dụ: các máy ảo Dalvik chạy trên các lớp được biên soạn bởi một trình biên dịch ngôn ngữ Java được chuyển đổi sang dạng Dalvik (.dex) bằng công cụ “dx” tích hợp. Các tập tin được thực thi dưới dạng .dex sẽ giúp tối ưu hóa cũng như quản lý bộ nhớ ở cấp độ thấp. 1.3.5 Nhân của Linux (Linux Kernel) Android hoạt động dựa trên nhân hệ điều hành Linux 2.6 qua đó cung cấp các dịch vụ cho hệ thống cốt lõi như an ninh, quản lý bộ nhớ, quá trình hay mô hình điều khiển… Đồng thời nhân hệ điều hành hoạt động như một lớp trừu tượng giúp kết nối giữa phần cứng những phần mềm còn lại trên nền tảng. 1.4 Lập trình với Android 1.4.1 Công cụ hỗ trợ Để lập trình Android thì mỗi bộ SDK của Google là không đủ, chúng ta còn cần phải tích hợp nó vào một IDE như Eclipse. Ngoài Eclipse còn có Netbeans, tuy nhiên đa số hiện nay đều dung Eclipse, vì nó hỗ trợ nhiều hơn so với Netbeans. Ngôn ngữ dùng để lập trình là ngôn ngữ Java. Khi có một lượng kiến thức cơ bản về Java thì tiếp cận với lập trình Android sẽ dễ dàng hơn. Căn bản ở đây có nghĩa là hiểu được thế nào là class, package, biết ý nghĩa của các từ khóa như public, private, protected,… thành thạo các lệnh cơ bản như if(), for(), switch(), while()…biết sử dụng các lệnh như Integer.ParseInt() hay String.valueOf()… Nên có thêm kiến thức về gói java.util, vì đây là gói hỗ trợ nhiều lớp rất mạnh được sử dụng trên mọi nền, ngoài ra các gói như java.io, java.net… cũng rất quan trọng. 1.4.2 Các thành phần cơ bản của một ứng dụng Android Các thành phần trong một ứng dụng Android được chia thành 6 loại chính, bao gồm: Activity, Service, Content Provider, Intent, Broadcast Receiver, Notification. 1.4.2.1 Activity Hiểu một cách đơn giản thì Activity là nền của một ứng dụng. Khi khởi động một ứng dụng Android nào đó thì bao giờ cũng có một main Activity được gọi, hiển thị màn hình giao diện của ứng dụng cho phép người dùng thao tác. Hệ điều hành quản lý Activity theo dạng Stack: khi một Activity mới được khởi tạo, nó sẽ được xếp lên đầu của stack trở thành running activity, các Activity trước đó sẽ bị tạm dừng chỉ hoạt động trở lại khi Activity mới được giải phóng. Nguyễn Bá Thành 49K-CNTT Khoa CNTT Page 8 Tìm hiểu Công nghệ Android ứng dụng trên di động Activity bao gồm 4 state: - Activity (running): Activity đang hiển thị trên màn hình (foreground). - Pause: Activity vẫn hiển thị (visible) nhưng không thể tương tác (lost focus). Ví dụ: Một activity mới xuất hiện hiển thị giao diện đè lên activity cũ , nhưng giao diện này nhỏ hơn giao diện của activity cũ, do đó ta vẫn thấy được một phần giao diện của activity cũ nhưng lại không thể tương tác với nó. - Stop: Activity cũ được thay thế hoàn toàn bởi một Activity mới, khi đó Activity cũ sẽ tiến hành đến trạng thái stop. - Killed: Khi hệ thống bị thiếu bộ nhớ, nó sẽ giải phóng các tiến trình theo nguyên tắc ưu tiên. Các Activity ở trạng thái stop hoặc paused cũng có thể bị giải phóng khi nó được hiển thị lại thì các Activity này phải khởi động lại hoàn toàn phục hồi lại trạng thái trước đó. Biểu đồ miêu tả Activity state: Nguyễn Bá Thành 49K-CNTT Khoa CNTT Page 9 Tìm hiểu Công nghệ Android ứng dụng trên di động Biểu đồ 1: Biểu đồ mô tả vòng đời của một Activity Vòng đời của Activity: - Entire lifetime: từ phương thức onCreate() cho tới onDestroy(). - Visible lifetime: từ phương thức onStart() cho tới onStop(). Nguyễn Bá Thành 49K-CNTT Khoa CNTT Page 10

Ngày đăng: 14/12/2013, 00:19

Từ khóa liên quan

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

Tài liệu liên quan