1. Trang chủ
  2. » Giáo án - Bài giảng

Tạo ứng dụng cơ bản

64 417 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 64
Dung lượng 525,98 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Các thành phần chính của ứng dụng Activities  Tầng thể hiện của ứng dụng  Mỗi màn hình của ứng dụng là 1 Activity  Sử dụng View để hiển thị giao diện người dùng Activity View Hàm xử

Trang 1

Công nghệ mới trong phát triển hệ thống thông

tin

Chuyên đề: Phát triển ứng dụng

trên môi trường Android

Bài 3: Tạo ứng dụng cơ bản

TS Trần Minh Triết Khoa Công nghệ Thông tin Trường ĐH Khoa học Tự nhiên

Trang 2

Tham khảo

 Nội dung của bài giảng có sử dụng:

 Tài liệu, bài giảng của ThS Nguyễn Trung Hiếu, Trung tâm Tin học trường ĐH Khoa học Tự nhiên, ĐHQG-

Trang 3

Các thành phần chính của ứng dụng

 Activities

 Tầng thể hiện của ứng dụng

 Mỗi màn hình của ứng dụng là 1 Activity

 Sử dụng View để hiển thị giao diện người dùng

Activity

View

Hàm xử lý

Trang 5

 Đón nhận các thông điệp broadcast bởi Intent

 Khởi động ứng dụng để phản hồi một thông điệp Intent

Trang 6

Các thành phần chính của ứng dụng

 Services

 Chạy ở chế độ background để cập nhật các dữ liệu

nguồn, Activity và gửi Notification

 Widgets

 Thành phần ứng dụng được thêm ở màn hình chính

 Notifications

 Báo hiệu cho người dùng biết trong trường hợp tin

nhắn hay cuộc gọi

Trang 8

Manifest của ứng dụng

Trang 11

Manifest của ứng dụng

 Ví dụ: ứng dụng hỗ trợ finger touchscreen, bàn phím QWERTY

 <uses-configuration

android : reqTouchScreen =["finger"]

android : reqNavigation =["trackball"]

android : reqHardKeyboard =["true"]

android : reqKeyboardType =["qwerty"] />

Trang 14

Chu kỳ sống của ứng dụng Android

 Mỗi ứng dụng Android chạy trong một tiến trình (process)

 Mỗi tiến trình chạy trên một máy ảo Dalvik

 Ứng dụng có độ ưu tiên thấp sẽ bị đóng mà không cần thông báo để nhường tài nguyên cho ứng dụng có độ ưu tiên cao hơn.

Trang 15

Chu kỳ sống của ứng dụng Android

Source: http://mobworld.wordpress.com/2010/07/05/memory-management-in-android/

Trang 16

Chu kỳ sống của ứng dụng Android

 Started Service process

 Service vừa mới được khởi tạo

 Background process

 Process mà các activity không hiển thị với người dùng

 Empty process

Trang 17

Sử dụng lớp Activity

 Mỗi màn hình giao diện kế thừa từ Activity

 Sử dụng View để tạo giao diện

 Thêm các hàm xử lý tương tác người dùng

 Trong một ứng dụng, có thể có nhiều Activity

và có thể chuyển đổi giữa các Activity

Trang 18

Sử dụng lớp Activity

 Cách tạo một Activity đơn giản

 Gọi trực tiếp Activity đã định nghĩa

Intent intent = new Intent (this, MyActivity.class);

startActivity (intent);

Trang 19

Sử dụng lớp Activity

Source: http://stuffthathappens.com/blog/wp-content/uploads/2008/11/activity_lifecycle.png

Trang 20

Sử dụng lớp Activity

 Các trạng thái của Activity

Active/Resumed: Activity đang hiển thị ở ‘Foreground’

của màn hình, và đang được ‘focus’.

Paused: Activity khác đang hiển thị ở ‘Foreground’,

đang được ‘focus’, nhưng vẫn có thể thấy được

Stopped: không còn nhìn thấy ở màn hình, đang ở chể

độ ‘Background’ Vẫn có thể sống lại được, nhưng có thể bị tắt bởi hệ thống

Trang 21

Sử dụng lớp Activity

 Thời gian sống của Activity

 Full life time

 Visible life time

 Active life time

Trang 23

Tạo và sử dụng Resource

 Sự cần thiết cung cấp tài nguyên để lựa chọn cho cấu hình đặc thù của thiết bị, ví dụ ngôn ngữ, kích thước màn hình

 Để tương thích với những cấu hình khác nhau, cần tổ chức tài nguyên trong đường dẫn /res của ứng dụng

 Bất cứ loại tài nguyên nào,có thể chỉ ra loại mặc định và tài nguyên được lựa chọn cho ứng dụng

Trang 24

Tạo và sử dụng Resource

Trang 26

Tạo và sử dụng Resource

 Animation Resources - res/anim/, định nghĩa animation

 Color State List Resource - res/color/, định nghĩa màu

 Drawable Resources - res/drawable/, định nghĩa đồ họa khác nhau với bitmap,xml

 Layout Resource - res/layout/, định nghĩa layout của ứng dụng

 Menu Resource - res/menu/, định nghĩa nội dụng của Menu

 String Resources - res/values/, định nghĩa string , mảng string

 Style Resource - res/values/, định nghĩa kiểu, định dạng thành phần UI

 More Resource Types - res/values/, định nghĩa boolean, integers, dimensions, colors, …

Trang 28

 string: là loại tài nguyên,

 hello : là tên tài nguyên

Trang 29

Tạo và sử dụng Resource

Simple values

String

<string name="message"> Hello </string>

<string name="message"> <b> Hello </b> </string>

Color

<color name="transparent_green">#7700FF00</color>

<color name="opaque_blue">#00F</color>

Trang 30

Tạo và sử dụng Resource

Dimension

<dimen name="standard_border">5dp</dimen>

px (pixels) in (inches) pt (points)

mm (milimeters) dp (pixel/160dpi screen)

sp (scale independent pixels)

String array, integer array

<array>

<item> </item>

Trang 32

<item name="android:textSize"> 14sp </item>

<item name="android:textColor"> #111 </item>

Trang 33

Tạo và sử dụng Resource

 Minh họa việc sử dụng Resources trong ứng dụng To-Do List

 1 Thêm icon add và remove (16x16)

 2 Thêm các string add, remove, cancel

 3 Tạo theme cho ứng dụng, sử dụng theme chuẩn

android

 4 Sử dụng font chữ 12

Trang 34

Color State List Resource

 Dùng để miêu tả danh sách trạng thái trong xml tập tin Mỗi màu được định nghĩa trong 1 thành phần.

Vị trí tập tin: res/color/filename.xml

 Tham chiếu tài nguyên:

 Java code: R.color.filename

 XML tập tin: @[package:]color/filename

Trang 35

Color State List Resource

 Cú Pháp:

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android" > <item

Trang 36

Color State List Resource

Ví dụ: res/color/button_text.xml:

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true"

Trang 37

Drawable Resource

 Là khái niệm chung cho đồ họa mà có thể vẽ trên màn hình và có thể lấy lại với việc sử dụng getDrawable(int) hoặc gắn vào tài nguyên XML khác với thuộc tính android:drawable, android:icon

 Có vài loại Drawable khác nhau:

Trang 38

Resources res = getResources();

Drawable drawable = res.getDrawable(R.drawable.myimage);

Trang 39

XML Bitmap

 Là tài nguyên được định nghĩa trong XML, trỏ đến tập tin Bitmap XML có thể chỉ ra các thuộc tính thêm vào cho Bitmap

android:gravity=["top" | "bottom" | "left" | "right" | "center_vertical" |

"fill_vertical" | "center_horizontal" | "fill_horizontal" |

"center" | "fill" | "clip_vertical" | "clip_horizontal"]

android:tileMode=["disabled" | "clamp" | "repeat" | "mirror"] />

Trang 40

android:tileMode="repeat" />

Trang 41

Nine Patch

 Là loại tập tin Bitmap có thể định nghĩa vùng kéo dãn ra, khi nội dung trong View vượt trội giới hạn của một ảnh bình thường.

Trang 44

Layer List

Ví dụ: XML tập tin được lưu res/drawable/layers.xml:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item>

Trang 45

State List

 Là drawable định nghĩa trong XML vài hình ảnh khác nhau để trình bày cho chỉ một hình đồ họa, phụ thuộc vào trạng thái của đối tượng đó.

Trang 46

State List

Ví dụ XML được lưu như res/drawable/button.xml

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true"

android:drawable="@drawable/button_pressed" /> <! pressed > <item android:state_focused="true"

android:drawable="@drawable/button_focused" /> <! focused > <item android:drawable="@drawable/button_normal" /> <! default >

Trang 47

android:drawable="@drawable/drawable_resource"

android:maxLevel="integer"

android:minLevel="integer" />

</level-list>

Trang 48

Level List

 Ví dụ

<?xml version="1.0" encoding="utf-8"?>

<level-list xmlns:android="http://schemas.android.com/apk/res/android" > <item

Trang 50

Transition Drawable

Ví dụ: tập tin được lưu res/drawable/transition.xml

<?xml version="1.0" encoding="utf-8"?>

<transition xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/on" />

ImageButton button = (ImageButton) findViewById(R.id.button);

TransitionDrawable drawable = (TransitionDrawable) button.getDrawable();drawable.startTransition(500);

Trang 52

Inset Drawable

 Ví dụ

<?xml version="1.0" encoding="utf-8"?>

<inset xmlns:android="http://schemas.android.com/apk/res/android" android:drawable="@drawable/background"

android:insetTop="10dp"

android:insetLeft="10dp" />

Trang 54

Clip Drawable

Ví dụ res/drawable/clip.xml

<?xml version="1.0" encoding="utf-8"?>

<clip xmlns:android="http://schemas.android.com/apk/res/android" android:drawable="@drawable/android"

Trang 56

Scale Drawable

 Ví dụ

<?xml version="1.0" encoding="utf-8"?>

<scale xmlns:android="http://schemas.android.com/apk/res/android" android:drawable="@drawable/logo"

android:scaleGravity="center_vertical|center_horizontal"

android:scaleHeight="80%"

android:scaleWidth="80%" />

Trang 59

 <stroke>: mô tả đường kẻ ngoài của khối

 <padding>: đặt vị trí của khối trên canvas

 <solid>: màu background

Ngày đăng: 01/02/2015, 10:22

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w