24
Nguyễn Văn Dương – K51CB Bộ môn Khoa học máy tính

Android presentation

Embed Size (px)

DESCRIPTION

Presentation about Android

Citation preview

Page 1: Android presentation

Nguyễn Văn Dương – K51CB Bộ môn Khoa học máy tính

Page 2: Android presentation

Nguyễn Văn Dương - K51CB - KHMT

TỔNG QUAN1.Open Handset Alliance

2.Giới thiệu về Android

3.Giới thiệu về nền

4.Kiến trúc Android

5.Anatomy Of An Android Application

6.Android Building Blocks

7.Các công cụ phát triển

8.Vòng đời của một ứng dụng Android

9.Tổng kết

Page 3: Android presentation

Est. 2007, dẫn bởi Google,nguồn mở

Sản phẩm chính: AndroidPlatform

Hăng hái hỗ trợ từ cộng đồng: both equipmentmakers 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

Page 4: Android presentation

Nguyễn Văn Dương - K51CB - KHMT

Open Handset Alliance Members

Page 5: Android presentation

Nguyễn Văn Dương - K51CB - KHMT

GIỚI THIỆUVỀ

ANDROID

Page 6: Android presentation

ANDROID là gì?

oMột hệ điều hành nhúng hoàn thiện và hiện đại

o A cutting-edge mobile user experience

o A world-class software stack for building applications

oMộ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

Page 7: Android presentation

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

Page 8: Android presentation

LỊCH SỬ

July 2005

Google mua được Android Inc. 5 Nov 2007

Open HandSet Alliance formed-

Google, HTC, Intel, Motorola, Qualcomm,T-MobileAndroid là sản phẩm OHA đầu tiên12 Nov 2007

OHA ra bản thử nghiệm của Android OHA

Nguyễn Văn Dương - K51CB - KHMT

Page 9: Android presentation

GIỚI THIỆUVỀ

NỀN TẢNG : ANDROID

Nguyễn Văn Dương - K51CB - KHMT

Page 10: Android presentation

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

Page 11: Android presentation

ANDROID ARCHITECTURE

Nguyễn Văn Dương - K51CB - KHMT

Page 12: Android presentation

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

Page 13: Android presentation

Đượ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

Page 14: Android presentation

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

Page 15: Android presentation

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

Page 16: Android presentation

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

Page 17: Android presentation

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

Page 18: Android presentation

Nguyễn Văn Dương - K51CB - KHMT

Các công cụ phát triểnAndroid 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

Page 19: Android presentation

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ọngTổ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“

Page 20: Android presentation

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)

Page 21: Android presentation

Nguyễn Văn Dương - K51CB - KHMT

Các ứng dụng

Page 22: Android presentation

Màn hình khởi động Trình duyệtBản đồ

Nguyễn Văn Dương - K51CB - KHMT

Page 23: Android presentation

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

Page 24: Android presentation

THANK YOU

?

Nguyễn Văn Dương - K51CB - KHMT