Android là một hệ điều hành mã nguồn mở, chỉ cần nắm được lập trình java và một số khái niệm trong Android là chúng ta có thể làm chủ được nó.Với hệ điều hành Android, ta có thể tạo các ứng dụng cho Android như những ứng dụng đọc tin nhắn, báo thức, nghe nhạc... mà chính chúng ta là người tạo ra và sử dụng trên điện thoại của mình, tạo ra những ứng dụng mới lạ và thiết thực với cuộc sống cho chính chúng ta sử dụng như phần mềm đo tốc độ khi chạy xe và cảnh báo khi vượt quá tốc độ… 2. Mục tiêu của đề tài. • Về cơ bản xây dựng được một chương trình hoàn chỉnh trên nền tảng Android. Tìm hiểu hệ điều hành và cách xây dựng trên hệ đều hành Android. • Về chương trình: Có khả năng áp sử dụng trong thực tế của cuộc sống, mang lại lợi ích khi người sử dụng. Chạy trên hệ điều hành Android được viết bằng ngôn ngữ Java có giao diện thân thiện, đẹp mắt, dễ sử dụng.
LỜI CẢM ƠN Trải qua một thời gian tìm hiểu và làm việc nghiêm túc, em đã hoàn thành đồ án tốt nghiệp “ Nghiên cứu về hệ điều hành Android và xây dựng ứng dụng chat âm thanh” Chúng em xin cảm ơn các thầy phòng lập trình Hệ thống đào tạo CNTT Quốc tế Bachkhoa-Aptech- người đã trực tiếp giảng dạy, truyền đạt kiến thức bổ ích cho chúng em, là tảng bản, là hành trang vô quý giá, là bước đầu tiên cho chúng em bước vào tương lai Chúng em cảm ơn các thầy đã tạo điều kiện tốt nhất giúp đỡ chúng em suốt quá trình học tập trường Và một lời cám ơn sâu sắc, chúng em xin gửi tới thầy Vũ Tuấn Minh Thầy là người đã trực tiếp hướng dẫn chúng em suốt quá trình làm đồ án, em cảm ơn thầy đã tận tình quan tâm, giúp đỡ quá trình học tập, giải đáp thắc mắc quá trình làm đồ án em Trong quá trình làm đồ án chắc chắn không thể sai sót, chúng em kính mong nhận được góp ý từ các thầy để kiến thức chúng em ngày càng hoàn thiện Chúng em kính chúc các thầy vui vẻ, hạnh phúc, dồi dào sức khỏe và thành công công việc Chúng em xin chân thành cảm ơn quý thầy/cô ! Hà Nội, ngày 22 tháng 04 năm 2016 Nghiên cứu hệ điều hành android xây dựng chương trình minh họa GIỚI THIỆU VỀ CƠ SỞ THỰC TẬP Hệ thống đào tạo CNTT Quốc tế Bachkhoa – Aptech được thành lập và hoạt động lĩnh vực đào tạo nguồn nhân lực Công nghệ thông tin Bằng nội lực và cố gắng toàn thể CBNV, Giảng viên, Bachkhoa-Aptech đã mở rộng hoạt động và gây dựng được uy tín thị trường với tư cách là một doanh nghiệp cung cấp giải pháp nhân lực CNTT chất lượng cao cho các đơn vị Hệ thống đào tạo CNTT Quốc tế Bachkhoa – Aptech đã và hướng tới xây dựng một thương hiệu Bachkhoa-Aptech: » Thương hiệu trường đào tạo Quốc tế đẳng cấp chuyên đào tạo các ngành học Lập trình viên, Quản trị mạng, cung ứng nguồn nhân lực CNTT có chất lượng cao cho XH » Đào tạo sinh viên toàn diện để hội nhập quốc tế » Mở rộng quy mô để Hệ thống ngày càng hiện đại, chuyên nghiệp; » Không ngừng nâng cao chất lượng phục vụ, lấy khách hàng, sinh viên làm trung tâm; » Mở rộng các chương trình đào tạo CNTT nhằm đáp ứng nhu cầu thiết XH; » Xác lập hình ảnh đáng tin cậy tâm vươn lên vị hàng đầu chất lượng thật » Trên tảng giá trị trung thực, tự trọng, Bachkhoa-Aptech bảo đảm môi trường đào tạo lành mạnh, liên thông với Quốc tế, giúp sinh viên phát huy lực tư duy, tự hoàn thiện mình tri thức, kỹ năng, nhân cách để lập thân, lập nghiệp, phục vụ cộng đồng và thích ứng với xã hội không ngừng biến đổi thông qua chương trình, phương thức đào tạo hiện đại, thông qua các hoạt động thực tế, thực tập, nghiên cứu, ứng dụng, thông qua giao lưu quốc tế và sinh hoạt ngoại khóa hào hứng, hiệu quả MỞ ĐẦU Lý chọn đề tài Android là một hệ điều hành mã nguồn mở, cần nắm được lập trình java và một số khái niệm Android là chúng ta có thể làm chủ được nó.Với hệ điều hành Android, ta có thể tạo các ứng dụng cho Android ứng dụng đọc tin nhắn, báo thức, nghe nhạc mà chúng ta là người tạo và sử dụng điện thoại mình, tạo ứng dụng lạ và thiết thực với cuộc sống cho chúng ta sử dụng phần mềm đo tốc độ chạy xe và cảnh báo vượt quá tốc độ… Mục tiêu đề tài • Về bản xây dựng được một chương trình hoàn chỉnh tảng Android Tìm hiểu hệ điều hành và cách xây dựng hệ hành Android • Về chương trình: Có khả áp sử dụng thực tế cuộc sống, mang lại lợi ích người sử dụng Chạy hệ điều hành Android được viết ngôn ngữ Java có giao diện thân thiện, đẹp mắt, dễ sử dụng Nghiên cứu hệ điều hành android xây dựng chương trình minh họa CHƯƠNG 1: CƠ SỞ LÝ THUYẾT Tổng quan Android Hệ điều hành Android là gì? ■ Nền tảng cho các thiết bị di động bao gồm điện thoại, máy tính bảng, TV, HD player… ■ Mã nguồn mở dựa tảng Linux (Apache/MIT) ■ Sở hữu Google và thuộc Open Handset Alliance ■ Một bộ phát triển đầy đủ (full stack) Android SDK, bao gồm nhiều tool dev/debug LỊCH SỬ ANDROID Nghiên cứu hệ điều hành android xây dựng chương trình minh họa Nghiên cứu hệ điều hành android xây dựng chương trình minh họa Hình 1-1 Android timeline 2009 Sự bùng nổ các thiết bị Android Hơn 20 thiết bị chạy Android Các phiên bản nối tiếp đời: Cupcake (1.5), Donut (1.6), Eclair (2.0 và 2.1) 2010 Android đứng sau Blackberry là tảng được dùng nhiều nhất với các thiết bị Nexus 2015 Phiên bản nhất là Android 5.1.1 Lollipop Hình 1.2- Các phiên Android DELVING VỚI MÁY ẢO DALVIK Dalvik là máy ảo giúp các ứng dụng java chạy được các thiết bị động Android Nó chạy các ứng dụng đã được chuyển đổi thành một file thực thi Dalvik (dex) Định dạng phù hợp cho các hệ thống mà thường bị hạn chế bộ nhớ và tốc độ xử lý Dalvik đã được thiết kế và viết Dan Bornstein, người đã đặt tên cho sau đến thăm một làng đánh cá nhỏ có tên là Dalvík đảo Eyjafjörður, nơi mà một số tổ tiên ông sinh sống Từ góc nhìn một nhà phát triển, Dalvik trông giống máy ảo Java (Java Virtual Machine) thực tế thì hoàn toàn khác Khi nhà phát triển viết một ứng dụng dành cho Android, thực hiện các đoạn mã môi trường Java Sau đó, được biên dịch sang các bytecode Java, nhiên để thực thi được ứng dụng Nghiên cứu hệ điều hành android xây dựng chương trình minh họa này Android thì nhà phát triển phải thực thi một công cụ có tên là dx Đây là công cụ dùng để chuyển đổi bytecode sang một dạng gọi là dex bytecode "Dex" là từ viết tắt "Dalvik executable" đóng vai trò chế ảo thực thi các ứng dụng Android KIẾN TRÚC CỦA ANDROID Mô hình sau thể hiện một cách tổng quát các thành phần hệ điều hành Android Mỗi một phần được đặc tả một cách chi tiết Hình 1-3 Cấu trúc stack hệ thống Android 4.1 Tầng ứng dụng Android được tích hợp sẵn một số ứng dụng cần thiết bản như: contacts, browser, camera, Phone,… Tất cả các ứng dụng chạy hệ điều hành Android được viết Java 4.2 Application framework Bằng cách cung cấp một tảng phát triển mở, Android cung cấp cho các nhà phát triển khả xây dựng các ứng dụng phong phú và sáng tạo Nhà phát triển được tự tận dụng các thiết bị phần cứng, thông tin địa điểm truy cập, các dịch vụ chạy nền, thiết lập hệ thống báo động, thêm các thông báo để các trạng thái, và nhiều, nhiều Nghiên cứu hệ điều hành android xây dựng chương trình minh họa Nhà phát triển có thể truy cập vào các API một khuôn khổ được sử dụng các ứng dụng lõi Các kiến trúc ứng dụng được thiết kế để đơn giản hóa việc sử dụng lại các thành phần; bất kỳ ứng dụng có thể xuất bản khả mình và ứng dụng nào khác sau có thể sử dụng khả (có thể hạn chế bảo mật được thực thi khuôn khổ) Cơ chế này cho phép các thành phần tương tự được thay người sử dụng Cơ bản tất cả các ứng dụng là một bộ các dịch vụ và các hệ thống, bao gồm: Một tập hợp rất nhiều các View có khả kế thừa lẫn dùng để thiết kế phần giao diện ứng dụng như: gridview, tableview, linearlayout,… Một “Content Provider” cho phép các ứng dụng có thể truy xuất liệu từ các ứng dụng khác (chẳng hạn Contacts) là chia sẻ liệu các ứng dụng Một “Resource Manager” cung cấp truy xuất tới các tài nguyên không phải là mã nguồn, chẳng hạn như: localized strings, graphics, and layout files Một “Notifycation Manager” cho phép tất cả các ứng dụng hiển thị các custom alerts status bar Activity Maanager được dùng để quản lý chu trình sống ứng dụng và điều hướng các activity Library Android bao gồm một tập hợp các thư viên C/C++ được sử dụng nhiều thành phần khác hệ thống Android Điều này được thể hiện thông qua tảng ứng dụng Android Một số các thư viện bản được liệt kê đây: System C library: a BSD-derived implementation of the standard C system library (libc), tuned for embedded Linux-based devices Media Libraries - based on PacketVideo's OpenCORE; the libraries support playback and recording of many popular audio and video formats, as well as static image files, including MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG Surface Manager – Quản lý việc truy xuất vào hệ thống hiển thị LibWebCore - a modern web browser engine which powers both the Android browser and an embeddable web view SGL - the underlying 2D graphics engine 3D libraries - an implementation based on OpenGL ES 1.0 APIs; the libraries use either hardware 3D acceleration (where available) or the included, highly optimized 3D software rasterizer FreeType - bitmap and vector font rendering SQLite - a powerful and lightweight relational database engine available to all applications 4.3 Android Runtime Nghiên cứu hệ điều hành android xây dựng chương trình minh họa Android bao gồm một tập hợp các thư viện bản mà cung cấp hầu hết các chức có sẵn các thư viện lõi ngôn ngữ lập trình Java Tất cả các ứng dụng Android chạy tiến trình riêng Máy ảo Dalvik đã được viết để cho một thiết bị có thể chạy nhiều máy ảo hiệu quả Các VM Dalvik thực thi các tập tin thực thi Dalvik (dex) Định dạng được tối ưu hóa cho bộ nhớ tối thiểu VM là dựa register-based, và chạy các lớp đã được biên dịch một trình biên dịch Java để chuyển đổi thành các định dạng dex Các VM Dalvik dựa vào nhân Linux cho các chức bản luồng và quản lý bộ nhớ thấp 4.4 Linux kernel Android dựa Linux phiên bản 2.6 cho hệ thống dịch vụ cốt lõi security, memory management, process management, network stack, and driver model Kernel Linux hoạt động một lớp trừu tượng hóa phần cứng và phần lại phần mềm stack ANDROID EMULATOR Android SDK và Plugin Eclipse được gọi là một Android Deverloper Tool (ADT) Các Android coder cần phải sử dụng công cụ IDE (Integrated Development Enveronment) này để phát triển, debugging và testing cho ứng dụng Tuy nhiên, các coder có thể không cần phải sử dụng IDE mà thay vào là sử dụng command line để biên dịch và tất nhiên là vẫn có Emulator thường Android Emulator được trang bị đầy đủ hầu hết các tính một thiết bị thật Tuy nhiên, một số đã bị giới hạn là kết nối qua cổng USB, camera và video, nghe phone, nguồn điện giả lập và bluetooth Android Emulator thực hiện các công việc thông qua một bộ xử lý mã nguồn mở, công nghệ này được gọi là QEMU (http://bellard.org/qemu/) được phát triển Fabrice Bellard Nghiên cứu hệ điều hành android xây dựng chương trình minh họa Hình 1-4 Android emulator CÁC THÀNH PHẦN TRONG MỘT ANDROID PROJECT Android project là một hệ thống thư mục file chứa toàn bộ source code, tài nguyên… mà mục đích cuối là để đóng gói thành một file apk nhất Trong một thư mục project, có một số thành phần (file, thư mục con) được tạo mặc định, lại phần lớn được tạo sau cần phát triển ứng dụng Nghiên cứu hệ điều hành android xây dựng chương trình minh họa CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 2.1 Các xử lý liên quan đến đăng nhập 2.1.1 Xử lý đăng nhập: Mô hình xử lý: Đăng nhập thành công Hình 2.1: Mô hình xử lý đăng nhập Mô tả: Khi một User yêu cầu đăng nhập hệ thống, Client gởi Username và Password cho Server Server kiểm tra Username và Password có hợp lệ hay không Sau đó, Server kiểm tra Username này đã đăng nhập chưa Nếu đăng nhập thành công, Server lấy danh sách các Friend Offline và Online User kèm theo danh sách các tin nhắn Offline (nếu có) và gởi cho User và cập nhật lại trạng thái đăng nhập User Đồng thời gởi thông báo đến các Users khác có Friend là User này Online 2.1.2 Xử lý đăng xuất: 28 Nghiên cứu hệ điều hành android xây dựng chương trình minh họa Mô hình xử lý: Người dùng đăng xuất khỏi chương trình Hình 2.2: Mô hình xử lý đăng xuất Mô tả: Khi một User yêu cầu đăng xuất lại hệ thống, Client hiển thị lại màn hình đăng nhập và đồng thời gởi thông báo xuất đến Server Server gởi thông báo đăng xuất tới các Users có Friend là User này Bên cạnh đó, Server kiểm tra tất cả các Groups mà User này tham gia Server gởi thông báo hủy đến các Group mà User này là người khởi tạo và gởi thông báo đăng xuất đến các Group mà User này tham gia với tư cách là thành viên Cuối cùng, Server cập nhật lại trạng thái đăng nhập User 2.2 Các xử lý việc gởi tin nhắn Gởi tin nhắn Online: Mô hình xử lý: 29 Nghiên cứu hệ điều hành android xây dựng chương trình minh họa Gởi tin nhắn Online Hình 2.3: Mô hình xử lý gởi tin nhắn Online Mô tả: Khi người dùng nhập tin nhắn và nhấn phím Enter (hoặc button Send), Client hiển thị tin nhắn Tab Chat đồng thời gởi tin nhắn và tên người nhận lên cho Server Server kiểm tra xem người nhận có phải Online hay không Nếu người nhận Online, Server gởi tin nhắn và tên người gởi Khi nhận được tin nhắn, Client hiển thị tin nhắn thông qua một Tab Chat (Tab này được mở chưa có trước đó) Gởi tin nhắn Offline: Mô hình xử lý: 30 Nghiên cứu hệ điều hành android xây dựng chương trình minh họa Gởi tin nhắn Offline Hình 2.4: Mô hình xử lý gởi tin nhắn Offline Mô tả: Khi người dùng nhập tin nhắn và nhấn phím Enter (hoặc button Send), Client hiển thị tin nhắn Tab Chat đồng thời gởi tin nhắn và tên người nhận lên cho Server Server kiểm tra xem người nhận có phải Online hay không Nếu người nhận Offline, Server lưu tin nhắn tên người gởi vào bảng OfflineMessage để gởi cho người nhận lần đăng nhập 2.3 Các xử lý FriendList 2.3.1 Thêm Friend vào FriendList: Mô hình xử lý: 31 Nghiên cứu hệ điều hành android xây dựng chương trình minh họa Thêm Fri end vào FriendList Hình 2.5: Mô hình xử lý thêm Friend Mô tả: Khi người dùng chọn chức thêm một Friend vào FriendList, màn hình thêm FriendList được mở Người dùng nhập tên Friend và sau Client gởi tên Friend này lên cho Server Trước tiên, Server kiểm tra Friend này có tồn hay không Tiếp theo, kiểm tra Friend này đã được thêm vào FriendList trước hay chưa Nếu Friend này chưa có FriendList, Server thêm Friend này vào FriendList người dùng Cuối cùng, Server gởi kết quả công việc cho Client Dựa vào kết quả nhận được, Client thông báo cho người dùng biết là việc thêm thành công hay thất bại (có hai nguyên nhân thất bại là Friend không tồn và Friend đã có FriendList rồi) 2.3.2 Xóa Friend khỏi FriendList: Mô hình xử lý: 32 Nghiên cứu hệ điều hành android xây dựng chương trình minh họa Xóa Friend khỏi FriendList Hình 2.6: Mô hình xử lý xóa Friend Mô tả: Khi người dùng chọn chức xóa một Friend vào FriendList, màn hình thêm FriendList được mở Người dùng nhập tên Friend và sau Client gởi tên Friend này lên cho Server Trước tiên, Server kiểm tra Friend này có tồn hay không Tiếp theo, kiểm tra Friend này đã được thêm vào FriendList trước hay chưa Nếu Friend này đã có FriendList, Server xóa Friend này khỏi FriendList người dùng Cuối cùng, Server gởi kết quả công việc cho Client Dựa vào kết quả nhận được, Client thông báo cho người dùng biết là việc Xóa thành công hay thất bại (có hai nguyên nhân thất bại là Friend không tồn và Friend chưa có FriendList) đồng thời cập nhật lại màn hình cần Ghi chú: Chức này có thể được gọi người dùng nhấn phím Delete Listbox FriendList 33 Nghiên cứu hệ điều hành android xây dựng chương trình minh họa CHƯƠNG 3: THIẾT KẾ GIAO DIỆN PHẦN MỀM CHAT TRÊN ĐIÊN THOẠI ANDROID Tổng quan hệ thống Chat Trò chuyện trực tuyến hay gọi là chat, ngày đã trở thành một hoạt động không thể thiếu người dùng máy tính Nó giúp kết nối người cách rất xa mặt địa lý vẫn có thể trò chuyện, chia sẻ, tâm tình và để cho các doanh nghiệp tổ chức hội thảo, họp hành qua mạng Internet Để có thể chat, người dùng phải sử dụng các phần mềm chat (còn gọi là phần mềm nhắn tin nhanh - IM viết tắt Instant Messenger) Nếu chọn đúng một chương trình chat hợp với nhu cầu mình, bạn tiết kiệm được rất nhiều thời gian, đồng thời làm được rất nhiều việc có ích Thông thường một phần mềm chat (IM) cần có các chức chính: • Tạo tài khoản sử dụng • Login • Xem danh sách bạn bè • Trò chuyện (chat) • Thêm bạn vào danh sách bạn Chat điện thoại a) Tìm hiểu yêu cầu người dung • Một phần mềm chat chạy điện thoại • Đơn giản dễ sử dụng • Miễn phí • Có khả trao đổi diệu và hình ảnh • Hỗ trợ Video call • Có khả kết nối với tài khoản Facebook • Trợ giúp Check mail b) Phân tích yêu cầu người dung 34 Nghiên cứu hệ điều hành android xây dựng chương trình minh họa Với các yêu cầu đầu tiên, thứ hai và thứ ba: là các yêu cầu bản và phải thực hiện được Với các yêu cầu lại: là các tiện ích rất tốt cho một phàn mềm chat Tuy nhiên điều kiện thời gian và tiền bạc nhóm phát triển thì rất khó để đáp ứng được Vì phần mềm thực hiện chức bản một chương trình chat (IM) c AndroidChat Tổng quan: • Hệ điều hành : Android 4.4 trở lên • Công cụ : Android studio • Ngôn ngữ : Java Đánh giá Tính thẩm mỹ: có giao diện với mầu sắc khá hài hòa dịu mắt, đơn giản và hiệu quả Tuy nhiên có phần đơn điệu Tính rõ ràng: các giao diện rõ ràng chức văn bản Tính tương thích: tương thích với tất cả các máy điện thoại Android 2.3.3 trở lên, và hoàn toàn dễ sử dụng Cấu hình: chưa cho phép người dùng cá nhân hóa Tính quán: tốt Tính trực tiếp: tốt Hiệu quả: mức chấp nhận được Thân thiện: sử dụng tiếng Anh đơn giản, thao tác dễ dàng Tính mềm dẻo: hệ tương tác cững nhắc chưa đủ mềm dẻo Bỏ qua: có thông báo người dùng mắc lỗi và cách giải Khôi phục: cho phép người dùng tiến tới lùi lại một số quá trình Trách nhiệm: phản hồi nhanh chóng các yêu cầu người dùng Đơn giản: giao diện đơn giản dễ nhìn Trong suốt: tốt 35 Nghiên cứu hệ điều hành android xây dựng chương trình minh họa Dễ hiểu dễ đọc: tốt, có gợi ý giúp dễ dàng hiểu Một số hình ảnh giao diện chương trình a Giao diện đăng nhập b Giao diện đăng ký 36 Nghiên cứu hệ điều hành android xây dựng chương trình minh họa c Màn hình chat 37 Nghiên cứu hệ điều hành android xây dựng chương trình minh họa TÀI LIỆU THAM KHẢO http://developer.android.com/index.html Slide bài giảng lớp http://vietandroid.com http://tinsp412.forumvi.com/t599-topic http://developer.android.com/intl/vi/index.html https://www.udacity.com/course/android-development-for-beginners-ud837 https://www.udacity.com/course/developing-android-apps ud853 https://books.google.com.vn/ 38 MỤC LỤC GIỚI THIỆU VỀ CƠ SỞ THỰC TẬP 1.Lý chọn đề tài Mục tiêu đề tài CHƯƠNG 1: CƠ SỞ LÝ THUYẾT .2 1.Tổng quan Android 3.DELVING VỚI MÁY ẢO DALVIK 4.KIẾN TRÚC CỦA ANDROID 4.1.Tầng ứng dụng 4.2.Application framework 4.3.Android Runtime 4.4.Linux kernel .7 5.ANDROID EMULATOR 6.CÁC THÀNH PHẦN TRONG MỘT ANDROID PROJECT 6.1 AndroidManifest.xml 6.2 File R.java .10 7.CHU KỲ ỨNG DỤNG ANDROID .10 7.1.Chu kỳ sống thành phần 11 7.2.Activity Stack 11 7.3.Các trạng thái chu kỳ sống 12 7.4.Chu kỳ sống ứng dụng .13 7.5.Các kiện chu kỳ sống ứng dụng 13 7.6.Thời gian sống ứng dụng 14 7.7.Thời gian hiển thị Activity 14 7.8.Các phương thức chu kỳ sống 14 CÁC THÀNH PHẦN GIAO DIỆN TRONG ANDROID 15 8.1 View 15 8.2 ViewGroup 16 8.3 Button 17 8.4 ImageButton 17 8.5 ImageView 18 8.6 ListView 18 Nghiên cứu hệ điều hành android xây dựng chương trình minh họa 8.7 TextView 18 8.8 EditText 18 8.9 CheckBox 19 8.10 MenuOptions 19 8.11 ContextMenu 21 8.12 Quick Search Box 21 8.13 Activity & Intend 21 9.CONTENT PROVIDER VÀ URI 23 10.BACKGROUND SERVICE 24 11.TELEPHONY .24 12.SQLITE 24 13 ANDROID & WEBSERVICE 25 13.1 Khái niệm Web service và SOAP 25 13.2 Giới thiệu XStream 26 CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 28 2.1.Các xử lý liên quan đến đăng nhập .28 2.1.1.Xử lý đăng nhập: 28 2.1.2.Xử lý đăng xuất: 28 2.2.Các xử lý đối với việc gởi tin nhắn .29 2.3.Các xử lý đối với FriendList .31 2.3.1.Thêm một Friend vào FriendList: 31 2.3.2.Xóa một Friend khỏi FriendList: 32 1.Tổng quan hệ thống Chat .34 Một số hình ảnh giao diện chương trình .36 b Giao diện đăng ký 36 c Màn hình chat .37 Nghiên cứu hệ điều hành android xây dựng chương trình minh họa DANH MỤC HÌNH ẢNH GIỚI THIỆU VỀ CƠ SỞ THỰC TẬP 1.Lý chọn đề tài Mục tiêu đề tài CHƯƠNG 1: CƠ SỞ LÝ THUYẾT .2 1.Tổng quan Android 3.DELVING VỚI MÁY ẢO DALVIK 4.KIẾN TRÚC CỦA ANDROID 4.1.Tầng ứng dụng 4.2.Application framework 4.3.Android Runtime 4.4.Linux kernel .7 5.ANDROID EMULATOR 6.CÁC THÀNH PHẦN TRONG MỘT ANDROID PROJECT 6.1 AndroidManifest.xml 6.2 File R.java .10 7.CHU KỲ ỨNG DỤNG ANDROID .10 7.1.Chu kỳ sống thành phần 11 7.2.Activity Stack 11 7.3.Các trạng thái chu kỳ sống 12 7.4.Chu kỳ sống ứng dụng .13 7.5.Các kiện chu kỳ sống ứng dụng 13 7.6.Thời gian sống ứng dụng 14 7.7.Thời gian hiển thị Activity 14 7.8.Các phương thức chu kỳ sống 14 CÁC THÀNH PHẦN GIAO DIỆN TRONG ANDROID 15 8.1 View 15 8.2 ViewGroup 16 8.3 Button 17 8.4 ImageButton 17 8.5 ImageView 18 8.6 ListView 18 Nghiên cứu hệ điều hành android xây dựng chương trình minh họa 8.7 TextView 18 8.8 EditText 18 8.9 CheckBox 19 8.10 MenuOptions 19 8.11 ContextMenu 21 8.12 Quick Search Box 21 8.13 Activity & Intend 21 9.CONTENT PROVIDER VÀ URI 23 10.BACKGROUND SERVICE 24 11.TELEPHONY .24 12.SQLITE 24 13 ANDROID & WEBSERVICE 25 13.1 Khái niệm Web service và SOAP 25 13.2 Giới thiệu XStream 26 CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 28 2.1.Các xử lý liên quan đến đăng nhập .28 2.1.1.Xử lý đăng nhập: 28 2.1.2.Xử lý đăng xuất: 28 2.2.Các xử lý đối với việc gởi tin nhắn .29 2.3.Các xử lý đối với FriendList .31 2.3.1.Thêm một Friend vào FriendList: 31 2.3.2.Xóa một Friend khỏi FriendList: 32 1.Tổng quan hệ thống Chat .34 Một số hình ảnh giao diện chương trình .36 b Giao diện đăng ký 36 c Màn hình chat .37 [...]... xmlns :android= "http://schemas .android. com/apk/res /android" >