Nguyễn Văn Dương – K51CB Bộ môn Khoa học máy tính
Nguyễn Văn Dương - K51CB - KHMT TỔNG QUAN Open Handset Alliance Giới thiệu về Android Giới thiệu về nền Kiến trúc Android Anatomy Of An Android Application Android Building Blocks Các công cụ phát triển Vòng đời của một ứng dụng Android Tổng kết
Est. 2007, dẫn bởi  Google,nguồn mở Sản phẩm chính: Android Platform Hăng hái hỗ trợ từ cộng đồng: both equipment makers and network operators HTC phân phối các thiết bị Android sớm! Open Handset Alliance Nguyễn Văn Dương - K51CB - KHMT
Nguyễn Văn Dương - K51CB - KHMT Open Handset Alliance Members
Nguyễn Văn Dương - K51CB - KHMT GIỚI THIỆU VỀ ANDROID
ANDROID là gì? Một hệ điều hành nhúng hoàn thiện và hiện đại A cutting-edge mobile user experience A world-class software stack for building applications Một nền mở cho các nhà phát triển, người dùng và công nghiệp máy tính Nguyễn Văn Dương - K51CB - KHMT
Tại sao ANDROID được tạo ra? Full phone software stack including applications Được thế kế như một nền cho phát triển phần mềm Android là mã nguồn mở Android là miễn phí Cộng đồng hỗ trợ Được viết bằng Java Nguyễn Văn Dương - K51CB - KHMT
LỊCH SỬ July 2005  Google mua được Android Inc. 5 Nov 2007 Open HandSet Alliance formed- Google, HTC, Intel, Motorola, Qualcomm,T-Mobile Android là sản phẩm OHA đầu tiên 12 Nov 2007 OHA ra bản thử nghiệm của Android OHA Nguyễn Văn Dương - K51CB - KHMT
GIỚI THIỆU VỀ NỀN TẢNG : ANDROID Nguyễn Văn Dương - K51CB - KHMT
Nguyễn Văn Dương - K51CB - KHMT Cellular networking : GSM, EDGE, 3G (hardware dependent) LAN : Bluetooth, and Wi-Fi (hardware dependent) Graphics Hardware Acceleration Camera, GPS and Compass (hardware dependent) Touch screen  and  accelerometer  for motion sensing Integrated browser based on the open source  WebKit  engine SQLite  for relational data storage Media support for common audio, video, and still image formats ( MPEG4 , H.264,  MP3 , AAC, AMR,  JPG , PNG,  GIF ) Dalvik Virtual Machine  optimized for mobile devices Các tính năng của ANDROID
ANDROID ARCHITECTURE Nguyễn Văn Dương - K51CB - KHMT
Cho phép các ứng dụng  truy cập dữ liệu  từ các ứng dụng chia sẻ khác Cho phép truy nhập các tài nguyên không phải là code Cho phép các ứng dụng gửi thông báo lên thanh trạng thái Quản lí vòng đời của các ứng dụng Nguyễn Văn Dương - K51CB - KHMT Application Framework
Được biết bằng C/C++ - System C Library(libc) Display/Graphics(SGL) Media Libraries SQLite –RDB engine-light weight LibWebCore–web browser engine–embeddable web view Nguyễn Văn Dương - K51CB - KHMT Các thư viện
Linux Version 2.6 Security, Memory & Process Management Proven driver model Efficient computing resource management Stable and proven OS for mobile platform Nguyễn Văn Dương - K51CB - KHMT Nhân Linux
Bao gồm một tập các thư viện lõi, cung cấp hầu hết các chức năng - JAVA Mọi ứng dụng Android chạy trên tiến trình của chính nó Dalvik VM thực thi các file định dạng .dex Thiết bị có thể chạy nhiều máy ảo một cách hiệu quả Nguyễn Văn Dương - K51CB - KHMT Android Runtime
Nguyễn Văn Dương - K51CB - KHMT Anatomy of an Android Application Có bốn thành phần chính cho một ứng dụng Android: Activity   - một màn hình đơn Intent Receiver - thực hiện một hành động khi có sự kiện ngoài(ví dụ: Phone Ring) Service   - đoạn mã chạy liên tục không cần có UI(Media Player) Content Provider   - dữ liệu của một chương trình có thể chia sẻ với chương trình khác
Nguyễn Văn Dương - K51CB - KHMT Android Building Blocks Đây là những thành phần quan trọng nhất của Android APIs: AndroidManifest.xml   -file điều khiển-báo cho hệ thống biết cần làm gì với các thành phần top-level  Activities   -một đối tượng mà có vòng đời-1 đoạn code thực hiện việc gì đó Views   -một đối tượng biết nó cần phải vẽ gì lên màn hình Intents   -một đối tượng đơn giản biểu diễn một "intention" để làm gì đó Notifications   -một biểu tượng nhỏ xuất hiện trong thanh trạng thái(SMS messages) -thông báo với người dùng Services   -phần thân của đoạn mã chạy nền
Nguyễn Văn Dương - K51CB - KHMT Các công cụ phát triển Android SDK chứa nhiều công cụ tùy biến giúp bạn phát triển các ứng dụng di động trên nền Android.  Ba công cụ quan trọng nhất là: Android Emulator   –Một thiết bị di động ảo chạy trên máy tính – dùng để thiết kế, debug, và test các ứng dụng trong một máy Android chạy trong môi trường thật Android Development Tools Plugin   -cho  Eclipse IDE –  thêm các mở rộng mạnh mẽ vào môi trường tích hợp của Eclipse. Dalvik Debug Monitor Service   (DDMS) –Được tích hợp với  Dalvik  –công cụ này cho phép ta quản lí tiến trình trên một emulatorvà hỗ trợ việc gỡ lỗi
Nguyễn Văn Dương - K51CB - KHMT Vòng đời của một ứng dụng Android An unusual and fundamental feature  - thời gian sống của  tiến trình  is  không được điều khiển trực tiếp bởi chính tiến trình Các thành phần quyết định: Mức độ quan trọng Tổng bộ nhớ hợp lệ Để xác định tiến trình nào sẽ được kill khi bộ nhớ còn ít:  "importance hierarchy“
Nguyễn Văn Dương - K51CB - KHMT “ Importance Hierarchy”( mức độ quan trọng ) Foreground   Process  –cần cho những gì người dùng hiện tại đang làm Visible   Process  –giữ một  Activity  – hiện với người dùng trên màn hình nhưng không trong foreground(on  pause )  Service   Process  –giữ một  Service  –  không hiện trực tiếp  với người dùng- các nhiệm vụ liên quan Background   Process  –giữ một  Activity  – không hiện với người dùng – có thể kill bất cứ khi nào( stopped ) Empty   Process  –không giữ một thành phần ứng dụng đang hoạt động nào(như  cache  để tăng thời gian khởi động)
Nguyễn Văn Dương - K51CB - KHMT Các ứng dụng
Màn hình khởi động Trình duyệt Bản đồ Nguyễn Văn Dương - K51CB - KHMT
TỔNG KẾT Android mở cho tất cả: công nghiệp, các nhà phát triển và người dùng. Participating  in  many  of  the successful open  source projects Nhắm tới việc dễ xây dựng ứng dụng  web . Google  Android  đang bước vào một tầm cao mới của Mobile  Internet Nguyễn Văn Dương - K51CB - KHMT
THANK YOU ? Nguyễn Văn Dương - K51CB - KHMT

Android presentation

  • 1.
    Nguyễn Văn Dương– K51CB Bộ môn Khoa học máy tính
  • 2.
    Nguyễn Văn Dương- K51CB - KHMT TỔNG QUAN Open Handset Alliance Giới thiệu về Android Giới thiệu về nền Kiến trúc Android Anatomy Of An Android Application Android Building Blocks Các công cụ phát triển Vòng đời của một ứng dụng Android Tổng kết
  • 3.
    Est. 2007, dẫnbởi Google,nguồn mở Sản phẩm chính: Android Platform Hăng hái hỗ trợ từ cộng đồng: both equipment makers and network operators HTC phân phối các thiết bị Android sớm! Open Handset Alliance Nguyễn Văn Dương - K51CB - KHMT
  • 4.
    Nguyễn Văn Dương- K51CB - KHMT Open Handset Alliance Members
  • 5.
    Nguyễn Văn Dương- K51CB - KHMT GIỚI THIỆU VỀ ANDROID
  • 6.
    ANDROID là gì?Một hệ điều hành nhúng hoàn thiện và hiện đại A cutting-edge mobile user experience A world-class software stack for building applications Một nền mở cho các nhà phát triển, người dùng và công nghiệp máy tính Nguyễn Văn Dương - K51CB - KHMT
  • 7.
    Tại sao ANDROIDđược tạo ra? Full phone software stack including applications Được thế kế như một nền cho phát triển phần mềm Android là mã nguồn mở Android là miễn phí Cộng đồng hỗ trợ Được viết bằng Java Nguyễn Văn Dương - K51CB - KHMT
  • 8.
    LỊCH SỬ July2005 Google mua được Android Inc. 5 Nov 2007 Open HandSet Alliance formed- Google, HTC, Intel, Motorola, Qualcomm,T-Mobile Android là sản phẩm OHA đầu tiên 12 Nov 2007 OHA ra bản thử nghiệm của Android OHA Nguyễn Văn Dương - K51CB - KHMT
  • 9.
    GIỚI THIỆU VỀNỀN TẢNG : ANDROID Nguyễn Văn Dương - K51CB - KHMT
  • 10.
    Nguyễn Văn Dương- K51CB - KHMT Cellular networking : GSM, EDGE, 3G (hardware dependent) LAN : Bluetooth, and Wi-Fi (hardware dependent) Graphics Hardware Acceleration Camera, GPS and Compass (hardware dependent) Touch screen and accelerometer for motion sensing Integrated browser based on the open source WebKit engine SQLite for relational data storage Media support for common audio, video, and still image formats ( MPEG4 , H.264, MP3 , AAC, AMR, JPG , PNG, GIF ) Dalvik Virtual Machine optimized for mobile devices Các tính năng của ANDROID
  • 11.
    ANDROID ARCHITECTURE NguyễnVăn Dương - K51CB - KHMT
  • 12.
    Cho phép cácứng dụng truy cập dữ liệu từ các ứng dụng chia sẻ khác Cho phép truy nhập các tài nguyên không phải là code Cho phép các ứng dụng gửi thông báo lên thanh trạng thái Quản lí vòng đời của các ứng dụng Nguyễn Văn Dương - K51CB - KHMT Application Framework
  • 13.
    Được biết bằngC/C++ - System C Library(libc) Display/Graphics(SGL) Media Libraries SQLite –RDB engine-light weight LibWebCore–web browser engine–embeddable web view Nguyễn Văn Dương - K51CB - KHMT Các thư viện
  • 14.
    Linux Version 2.6Security, Memory & Process Management Proven driver model Efficient computing resource management Stable and proven OS for mobile platform Nguyễn Văn Dương - K51CB - KHMT Nhân Linux
  • 15.
    Bao gồm mộttập các thư viện lõi, cung cấp hầu hết các chức năng - JAVA Mọi ứng dụng Android chạy trên tiến trình của chính nó Dalvik VM thực thi các file định dạng .dex Thiết bị có thể chạy nhiều máy ảo một cách hiệu quả Nguyễn Văn Dương - K51CB - KHMT Android Runtime
  • 16.
    Nguyễn Văn Dương- K51CB - KHMT Anatomy of an Android Application Có bốn thành phần chính cho một ứng dụng Android: Activity - một màn hình đơn Intent Receiver - thực hiện một hành động khi có sự kiện ngoài(ví dụ: Phone Ring) Service - đoạn mã chạy liên tục không cần có UI(Media Player) Content Provider - dữ liệu của một chương trình có thể chia sẻ với chương trình khác
  • 17.
    Nguyễn Văn Dương- K51CB - KHMT Android Building Blocks Đây là những thành phần quan trọng nhất của Android APIs: AndroidManifest.xml -file điều khiển-báo cho hệ thống biết cần làm gì với các thành phần top-level Activities -một đối tượng mà có vòng đời-1 đoạn code thực hiện việc gì đó Views -một đối tượng biết nó cần phải vẽ gì lên màn hình Intents -một đối tượng đơn giản biểu diễn một "intention" để làm gì đó Notifications -một biểu tượng nhỏ xuất hiện trong thanh trạng thái(SMS messages) -thông báo với người dùng Services -phần thân của đoạn mã chạy nền
  • 18.
    Nguyễn Văn Dương- K51CB - KHMT Các công cụ phát triển Android SDK chứa nhiều công cụ tùy biến giúp bạn phát triển các ứng dụng di động trên nền Android. Ba công cụ quan trọng nhất là: Android Emulator –Một thiết bị di động ảo chạy trên máy tính – dùng để thiết kế, debug, và test các ứng dụng trong một máy Android chạy trong môi trường thật Android Development Tools Plugin -cho Eclipse IDE – thêm các mở rộng mạnh mẽ vào môi trường tích hợp của Eclipse. Dalvik Debug Monitor Service (DDMS) –Được tích hợp với Dalvik –công cụ này cho phép ta quản lí tiến trình trên một emulatorvà hỗ trợ việc gỡ lỗi
  • 19.
    Nguyễn Văn Dương- K51CB - KHMT Vòng đời của một ứng dụng Android An unusual and fundamental feature - thời gian sống của tiến trình is không được điều khiển trực tiếp bởi chính tiến trình Các thành phần quyết định: Mức độ quan trọng Tổng bộ nhớ hợp lệ Để xác định tiến trình nào sẽ được kill khi bộ nhớ còn ít: "importance hierarchy“
  • 20.
    Nguyễn Văn Dương- K51CB - KHMT “ Importance Hierarchy”( mức độ quan trọng ) Foreground Process –cần cho những gì người dùng hiện tại đang làm Visible Process –giữ một Activity – hiện với người dùng trên màn hình nhưng không trong foreground(on pause ) Service Process –giữ một Service – không hiện trực tiếp với người dùng- các nhiệm vụ liên quan Background Process –giữ một Activity – không hiện với người dùng – có thể kill bất cứ khi nào( stopped ) Empty Process –không giữ một thành phần ứng dụng đang hoạt động nào(như cache để tăng thời gian khởi động)
  • 21.
    Nguyễn Văn Dương- K51CB - KHMT Các ứng dụng
  • 22.
    Màn hình khởiđộng Trình duyệt Bản đồ Nguyễn Văn Dương - K51CB - KHMT
  • 23.
    TỔNG KẾT Androidmở cho tất cả: công nghiệp, các nhà phát triển và người dùng. Participating in many of the successful open source projects Nhắm tới việc dễ xây dựng ứng dụng web . Google Android đang bước vào một tầm cao mới của Mobile Internet Nguyễn Văn Dương - K51CB - KHMT
  • 24.
    THANK YOU ?Nguyễn Văn Dương - K51CB - KHMT