Tải bản đầy đủ - 0 (trang)
Chương 1. CƠ SỞ LÝ THUYẾT

Chương 1. CƠ SỞ LÝ THUYẾT

Tải bản đầy đủ - 0trang

Xây dựng ứng dụng quản lý bán hàng điện tử trên android

Mơ hình sau thể hiện một cách tổng qt các thành phần của hệ điều hành

android



Hình 1-Thành phần của hệ điều hành android

1.1.1.1. Tầng ứng dụng



Android được tích hợp sẵn một số ứng dụng cần thiết cơ bản như: contacts,

browser, camera, Phone,… Tất cả các ứng dụng chạy trên hệ điều hành Android đều

được viết bằng Java.

1.1.1.2. Application framework



Bằng cách cung cấp một nền tảng phát triển 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 cực kỳ phong phú và sáng tạo. Nhà phát

triển được tự do 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 thanh trạng thái,

và nhiều, nhiều hơn nữa.

Nhà phát triển có thể truy cập vào các API cùng một khuôn khổ được sử dụng

bởi 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ả năng của mình và ứng

dụng nào khác sau đó có thể sử dụng những khả năng (có thể hạn chế bảo mật được

thực thi bởi khuôn khổ). Cơ chế này cho phép các thành phần tương tự sẽ được thay

thế bởi 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:

Nguoi lam do an



Trang 9



Xây dựng ứng dụng quản lý bán hàng điện tử trên android

- Một tập hợp rất nhiều các View có khả năng kế thừa lẫn nhau 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 dữ liệu từ các ứng

dụng khác (chẳng hạn nhu Contacts) hoặc là chia sẻ dữ liệu giữa 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 trong status bar.

Activity Manager duợc dùng dể quản lý chu trình sống của ứng dụng và điều huớng

các activity.

1.1.1.3. Library



Android bao gồm một tập hợp các thư viện C/C++ được sử dụng bởi nhiều

thànhphần khác nhau trong hệ thống Android. Ðiều này được thể hiện thông qua nền

tảng ứng dụng Android. Một số các thư viện cơ bản được liệt kê dưới đây:

System C library:a BSD-derived implementation of the standard C system library

(libc), tuned for embedded Linux-based devices. (Thư viện C chuẩn,được tối ưu cho

các thiết bị Linux-based)

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 Androidbrowser

and an embeddable web view.

SGL: the underlying 2D graphics engine.

3D libraries: an implementation based on OpenGL ES 1.0 APIs; the librariesuse

either hardware 3D acceleration (where available) or the included, highly optimized

3D software rasterizer.

OpenGL: Thư viện dùng để tạo ra các đồ họa 3D dựa vào chuẩn OpenGLES 1.0 API.

FreeType: Hỗ trợ xử lý bitmap và font vector.

GGL: Thư viện cơ bản, dùng để cung cấp các engine đồ họa 2D.

SQLite Engine: Cơ sở dữ liệu quan hệ gọn nhẹ, dùng để lưu trữ dữ liệu của ứng dụng.

SSL: Hỗ trợ sử dụng giao thức mã hóa Secure Sockets Layer trong bảo mật truyền

thông Internet.

Android cung cấp một số các APIs cho phát triển ứng dụng. Danh sách các API

cơ bản sau được cung cấp bởi tất cả các thiết bị trên nền Android:

android.util: Gói tiện ích cơ bản bao gồm nhiều lớp mức thấp như là các lớp quản lý

(List, Stack…) lớp xử lý chuỗi, lớp xử lý XML.



Nguoi lam do an



Trang 10



Xây dựng ứng dụng quản lý bán hàng điện tử trên android

android.graphics: Cung cấp các lớp đồ họa mức thấp thực hiện các chức năng đồ

họa, màu, vẽ cơ bản.

android.database: Cung cấp các lớp mức thấp bắt buộc cho việc điều khiển cursor

khi làm việc với các cơ sở dữ liệu.

android.content: Các giao tiếp lập trình nội dung được dùng để quản lý truy cập dữ

liệu và xuất bản bằng cách cung cấp các dịch vụ thao tác với tài nguyên, Content

Provider, và các gói.

android.view: View là lớp giao diện người dùng cơ bản nhất. Tất cả giao diện người

dùng được tạo ra đều phải sử dụng một tập các View để cung cấp cho các thành phần

tương tác người dùng.

android.widget: Xây dựng dựa trên gói View. Những lớp widget những thành phần

giao diện được tạo sẵn được sử dụng để tạo nên giao diện người dùng. Các widget

bao gồm danh sách, nút bấm, hộp nhập, các kiểu trình bày (layout).

com.google.android.maps: Bộ API mức cao cung cấp truy cập đến điều khiển bản đồ

sẵn trong Android từ ứng dụng được xây dựng. Bao gồm cả lớp MapView cũng như

Overlay và MapController để tương tác với bản đồ bên trong ứng dụng.

android.provider: Để tạo thuận lợi cho người phát triển truy cập đến các Content

Provider tiêu chuẩn (như là dữ liệu danh bạ), gói cung cấp (Provider) bao gồm các

lớp cho phép truy cập đến cơ sở dữ liệu chuẩn trong tất cả các bản phân phối

Android.

android.telephony: Các API điện đàm cung cấp khả năng tương tác trực tiếp với tầng

điện thoại trong các thiết bị, cho phép tạo, nhận, theo dõi các cuộc gọi, tình trạng các

cuộc gọi và tin nhắn SMS.

android.webkit: Gói WebKit cung cấp các API để làm việc với các nội dung Webbased bao gồm một lơp WebView để tạo ra giao diện web, nhúng trong ứng dụng và

một trình quản lý cookie.

Ngồi các thư viện chuẩn của Android, để đáp ứng tiêu chí phù hợp với nhiều

thiết bị khác nhau, Android còn có thể có các API phụ thuộc thiết bị như

android.location,

android.media,

android.opengl,

android.hardware,

android.bluetooth, android.net.wifi, và android.telephony.

1.1.1.4. Android Runtime



Phần này chứa các thư viện mà một chương trình viết bằng ngơn ngữ Java có

thể hoạt động. Phần này có 2 bộ phận tương tự như mơ hình chạy Java trên máy tính

thường. Thứ nhất là các thư viện lỗi (Core Library), chứa các lớp như JAVA IO,

Collections, File Access. Thứ hai là một máy ảo java(Dalvik Virtual Machine).

Mặc dù cũng được viết từ ngôn ngữ Java nhưng một ứng dụng Java của hệ điều

hành Android không được chạy bằng JRE(Java Runtime Enviroment) của Sun (nay là

Oracle)(JVM) mà là chạy bằng máy ảo Dalvik (máy ảo dalvik được đặt tên sau khi

Nguoi lam do an



Trang 11



Xây dựng ứng dụng quản lý bán hàng điện tử trên android

một nhà phát triển phần mềm của Google tạo ra nó sau khi đi thăm một ngôi làng ở

nơi tổ tiên ông sinh sống) do Google phát triển, máy ảo davik thực thi cái tập tin

davik(dex), khác với java là chuyển sang dạng bytecode. Định dạng này được tối ưu

hóa cho bộ nhớ tối thiểu, các VM Dalvik dựa vào nhân Linux cho các chức năng cơ

bản như luồng và quản lý bộ nhớ thấp.

1.1.1.5. Linux kernel



Android dựa trên Linux phiên bản 2.6 cho hệ thống dịch vụ cốt lõi như security,

memory management, process management, network stack, and driver model. Kernel

Linux hoạt động như một lớp trừu tuợng hóa giữa phần cứng và phần còn lại của

phần mềm stack.

Các thành phần của nhân Linux:

- Display Driver : Điều khiển việc hiển thị lên màn hình cũng như thu nhận những

điều khiển của người dùng lên màn hình ( di chuyển, cảm ứng…).

- Camera Driver : điều khiển hoạt động của camera, nhận luồng dữ liệu từ camera

về.

- Bluetooth Driver : Điều khiển thiết bị phát và thu sóng Bluetooth.

- USB Driver : Điều khiển bàn phím.

- Wifi Driver : Chịu trách nhiệm về việc thu phát sóng wifi.

- Audio Driver : Điều khiển các bộ thu phí phát âm thanh, giải mã các tính hiệu

dạng audio thành tín hiệu số và ngược lại.

- Power Management : Giám sát việc tiêu thụ điện năng.

- M-system Driver : Quản lý việc đọc ghi… lên các thiết bị nhớ như thẻ SD, flash.

- Binder IPC Driver : Chịu trách nhiệm về việc kết nối và liên lạc với mạng vô

tuyến như CDMA, GSM, 3G, 4G, E để đảm bảo những chức năng truyền thông

được thực hiện.

1.1.2. Máy ảo Dalvik và Android SDK

1.1.2.1. Máy ảo Dalvik



Dalvik là máy ảo để thực hiện các ứng dụng phần lớn viết bằng java trên

android dưới dịnh dạng là tập tin (.dex) . Về cơ bản có thể nhận thấy máy ảo Dalvik

có phần giống với máy ảo java trên desktop , tuy nhiên có phần khác là khi ta viết các

ứng dụng trên java thì mã nguồn sẽ được chuyển thành mã bytecode . Tại đây , một

công cũ có sẵn trên android là dx sẽ chuyển dạng mã bytecode này thành dạng tập tin

.dex ( viết tắt là Dalvik excutable ) và được thực thi trên máy ảo Dalvik để chạy các

ứng dụng android.



Nguoi lam do an



Trang 12



Xây dựng ứng dụng quản lý bán hàng điện tử trên android



Hình 2 -Cơ chế hoạt động của máy ảo Dalvik và java

Các ứng dụng Android và các thành phần cơ bản hầu hết được viết bằng Java.

Thay vì sử dụng máy ảo Java, Android sử dụng máy ảo riêng. Máy ảo của Android

được thiết kế và tối ưu cho các hệ thống nhỏ, khơng tương thích với máy ảo Java của

Java ME. Những hệ thống nhỏ này có dung lượng RAM nhỏ, CPU chậm và hầu hết

khơng có chỗ để tráo đổi dữ liệu bù đắp cho dung lượng bộ nhớ nhỏ.Đây là điểm

khác biệt giữa Android với các hệ điều hành cho di động khác như Symbian, iOS của

Apple, webOS của Palm. Ngơn ngữ lập trình được sử dụng chính là C, C++ và

objective C, trong khi với webOS sử dụng chủ yếu ngơn ngữ web như Javascript hay

HTML.

Trình biên dịch byte code là máy ảo Dalvik. Thay vì sử dụng dạng byte code

thơng thường, Dalvik có định dạng riêng để phù hợp với yêu cầu đối với thiết bị cho

Android. Mã của Android nhỏ hơn so với mã của Java và file dex được tạo ra cũng

nhỏ.

1.1.2.2. Android SDK



Android SDK là bộ công cụ phát triển phần mềm cho phép lập trình viên tạo ra

các ứng dụng cho các thiết bị sử dụng nền tảng Android. Android SDK bao gồm nền

tảng Android, các cơng cụ, chương trình mẫu và các tài liệu hỗ trợ. Nó cũng là thành

phần bổ sung trong bộ phát triển Java và có thể tích hợp vào Eclipse.

Android chứa các gói hỗ trợ các chức năng tính tốn cơ bản như quản lí xâu, quản lí

vào ra, tính tốn từ các gói cơ bản trong Java:

- Java.lang – lớp ngôn ngữ cơ bản của java.

- Java.io – quản lí vào ra.

- Java.net – quản lí kết nối mạng.

- Java.text – tiện ích xử lí văn bản.

- Java.math – hỗ trợ tính tốn.

- Java.sercurity – quản lí các thành phần bảo mật.

- Java.xml – các lớp về XML.

Nguoi lam do an



Trang 13



Xây dựng ứng dụng quản lý bán hàng điện tử trên android

- org.apache – các lớp liên quan HTTP.



Ngồi ra Android có các lớp riêng như:

- android.app – truy cập mơ hình ứng dụng Android.

- android. bluetooth – chức năng bluetooth của Android.

- android.content - quản lí dữ liệu trong Android.

- android.net – chứa các lớp Uri dùng để truy cập dữ liệu.

- android.graphics – các thành phần đồ hoạ.

- android .location – các dịch vụ liên quan đến vị trí (ví dụ như GPS).

- android.opengl – các lớp OpenGL.

- android.view – chứa các thành phần giao diện.

- android.webkit – chức năng của trình duyệt web.

- android.widget – các thành phần giao diện khác.

Ở đây chúng ta xem xét lập trình Android với Eclipse vì Eclipse cung cấp phong phú

các thành phần hỗ trợ biên soạn java và mơi trường debug mà còn có thể quản lí và

điều khiển các yếu tố khác của ứng dụng Android trực tiếp từ Eclipse IDE.



Hình 3- Mơi trường phát triển ứng dụng Android trong Eclipse

1.1.2.3. Android Emulator



Android SDK cung cấp một bộ giả lập thiết bị di động ảo. Máy ảo này cho phép

chúng ta phát triển và kiểm tra các ứng dụng mà không cần một thiết bị Android thật.

Máy ảo Android có đầy đủ các thành phần từ phần cứng đến phần mềm giống như

một thiết bị thật ngoại trừ nó khơng thể thực hiện được một cuộc gọi. Máy ảo

Android cho phép sử dụng chuột để định hướng hay bàn phím để tạo các sự kiện.

Người dùng có thể cài đặt để kiểm thử phần mềm trên máy ảo với từng phiên bản

khác nhau của Android. Khi ứng dụng được cài đặt nó có thể sử dụng các ứng dụng

đã được cung cấp trong Android như nghe nhạc, xem video hay vào mạng. Máy ảo

cũng có khả năng debug, truy cập vào đầu ra của nhân, giả lập các ngắt như khi nhân



Nguoi lam do an



Trang 14



Xây dựng ứng dụng quản lý bán hàng điện tử trên android

cuộc gọi hay tin nhắn thậm chí là các ảnh hượng độ trễ của mạng và ngắt trên kênh

truyền dữ liệu.



Hình 4- Android Emulator

THÀNH PHẦN CỦA ỨNG DỤNG ANDROID

Ứng dụng Android bao gồm nhiều thành phần liên kết với nhau được giới hạn

trong kiến trúc ứng dụng. Kiến trúc ứng dụng mô tả chi tiết mỗi thành phần và sự

tương tác giữa các thành phần này cũng như siêu dữ liệu về yêu cầu phần cứng.

Các thành phần sau đây tạo nên một ứng dụng Android:

1.2.1.

Activity

Là lớp thể hiện ứng dụng. Mỗi màn hình trong ứng dụng là một mở rộng của lớp

Activity. Các Activity sử dụng các View tạo thành giao diện đồ họa tương tác người

dùng để thể hiện thông tin và phản hồi hành động của người dùng.

Một ứng dụng không nhất thiết phải gồm tất cả các thành phần trên nhưng để có

một giao diện với người dùng thì ít nhất ứng dụng đó phải có một Activity. Mã đã

được biên dịch của các thành phần của ứng dụng, tài nguyên liên quan như thư viện,

hình ảnh và các dữ liệu cần thiết khác được đóng gói trong một file apk duy nhất chính

là dạng file thực thi của ứng dụng Android.Activity là thành phần quan trọng nhất và

đóng vai trò chính trong việc xây dựng ứng dụng Android. Hệ điều hành Android quản

lí ứng dụng dưới dạng stack : khi một Activity mới được khởi tạo, nó được xếp lên đầu

stack và trở thành running activity, các Actitivy trước đó sẽ bị tạm dừng vả chỉ hoạt

động trở lại khi Activity mới được giải phóng.

 Activity có 4 trạng thái:

- Active (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. VD: một

activity mới xuất hiện hiển thị giao diện đè lên trên activity cũ, nhưng giao diện

này vẫn nhỏ hơn giao diện activity cũ. Do đó ta vẫn thấy được một phần giao

diện của activity cũ nhưng không tương tác được với nó.

- Stop: Activity bị thay thế hồn tồn bởi Activity mới sẽ tiến đến trạng thái stop.

1.2.



Nguoi lam do an



Trang 15



Xây dựng ứng dụng quản lý bán hàng điện tử trên android

- Killed: Khi hệ thống thiếu bộ nhớ, nó sẽ giải phóng các tiến trình theo ngun tắc



ưu tiên ở trên. Các Activity ở trạng thái stop hoặc paused cũng có thể bị giải

phóng và khi nó được hiển thị lại thì các Activity này phải khởi động lại hồn

tồn và phục hồi trạng thái trước đó.

Tuỳ từng sự kiện mà các phương thức được gọi để đảm bảo trạng thái các

Activity được hoạt động đúng. Chi tiết từng phương thức và sự kiện thay đổi trạng thái

tương ứng:

 Vòng đời của một Activity



Hình 5 - Mơ hình hoạt động của Activity

- onCreate(): Phương thức này khởi tạo Activity. Nó có thể bỏ qua trạng thái cũ để

-



-



trở lại hoạt động. Phương thức tiếp theo luôn là onStart().

onRestart(): Được gọi sau khi một Activity dừng và muốn bắt đầu lại.

onStart(): Được gọi khi ứng dụng chuyển sang visible nhưng chưa tương tác

được với người dùng.

onResume(): Activity có tương tác với người sử dụng và có thể nhận thơng tin

đầu vào. Kiểu tiến trình của ứng dụng được chuyển sang dạng hiển thị

(foreground).

onPause(): Nếu ứng dụng khơng còn tương tác hay thiết bị không hoạt động,

phương thức này được gọi và kiểu tiến trình ứng dụng sẽ được chuyển sang dạng



Nguoi lam do an



Trang 16



Xây dựng ứng dụng quản lý bán hàng điện tử trên android

visible. Sau khi thực hiện phương thức này, hệ thống cho phép giải phóng ứng

dụng bất cứ lúc nào. Các thao tác sử dụng CPU và dữ liệu đều được lưu lại.

Activity sẽ có thể được hoạt động trở lại hoặc dừng lại.

- onStop(): Khi Activity khơng còn tương tác nữa thì kiểu tiến trình được chủn

sang chạy nền (background) và ứng dụng có thể bị giải phóng bất cứ lúc nào bởi

hệ thống để lấy lại bộ nhớ. Activity sẽ bị giải phóng hoặc khởi động lại.

- onDestroy(): Phương thức cuối cùng này được hệ thống gọi trước khi giải phóng

ứng dụng hay ứng dụng loại bỏ Activity. Tiến trình của ứng dụng có thể chuyển

sang kiểu rỗng nếu hệ thống muốn giữ lại ứng dụng để tiếp tục lại ứng dụng cho

lần sau.

1.2.2.

Service

Là thành phần chạy ẩn, cập nhật nguồn dữ liệu và thể hiện các Activity, kích hoạt

các Notification, làm những công việc không cần tới giao diện như chơi nhạc,

download, xử lí tính tốn… . Các Service thường thực hiện các xử lí thơng thường như

tiếp tục Activity sau khi các Activity này không hoạt động hoặc hiển thị.Service là 1

trong 4 thành phần chính trong 1 ứng dụng Android (Activity, Service,

BroadcastReceiver, ContentProvider).

1.2.3.

Content Provider

Là thành phần lưu trữ dữ liệu chia sẻ. Content Provider quản lí và chia sẻ cơ sở

dữ liệu của ứng dụng. Chúng được coi như là phương tiện chia sẻ dữ liệu giữa các ứng

dụng.

1.2.4.

Intent

Là cấu trúc truyền thông điệp giữa các ứng dụng. Chúng ta có thể sử dụng Intent

để trùn một thơng tin tới toàn hệ thống hay tới Activity hay Service định trước để

thực thi một hoạt động. Hệ thống sau đó sẽ xác định đối tượng nào sẽ thực hiện các

hoạt động phù hợp.

Là cầu nối giữa các Activity: ứng dụng Android thường bao gồm nhiều Activity, mỗi

Activity hoạt động độc lập với nhau và thực hiện những công việc khác nhau. Intent

chính là người đưa thư, giúp các Activity có thể triệu gọi cũng như truyền các dữ liệu

cần thiết tới một Activity khác.



Hình 6 - Truyền dữ liệu giữa 2 Activity

Dữ liệu của Intent:

Nguoi lam do an



Trang 17



Xây dựng ứng dụng quản lý bán hàng điện tử trên android

Intent về cơ bản là một cấu trúc dữ liệu, được mô tả trong lớp android.content.Intent

Các thuộc tính của một đối tượng Intent:

Các Action được định nghĩa sẵn:

Dưới dây là những hằng String đã được định nghĩa sẵn trong lớp Intent. Ði kèm với nó

là các Activity hay Application được xây dựng sẵn sẽ được triệu gọi mỗi khi Intent

tuong ứng được gửi (tất nhiên khi duợc cung cấp dúng data). VD: Gọi tới một số diện

thoại:

Intent dialIntent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:123456"));

startActivity(dialIntent);

Broadcast Receiver

Là nơi nhận các Intent. Chúng ta có thể tự tạo một Broadcast Receiver để ứng

dụng có thể nhận được các Intent phù hợp với bộ lọc đặt trước. Broadcast Receiver tự

động bắt đầu khi ứng dụng phản hồi với Intent nhận được và biến ứng dụng trở thành

hướng sự kiện một cách hoàn hảo

1.2.6.

Widget

Thành phần trực quan của ứng dụng có thể thêm vào màn hình chính. Là một

dạng Broadcast Receiver, Widget cho phép người dùng tạo ra các ứng dụng động,

tương tác được nhúng ngay trên màn hình chính.

1.2.7.

Notification

Là thành phần thơng báo cho người dùng. Hộp thoại thông báo cho người dùng

mà không gián đoạn các Activity hiện thời. Đây là kĩ thuật thông báo cho người dùng

năm trong một Service hay một Broadcast Receiver. Ví dụ như khi nhận được một tin

nhắn hay cuộc gọi đến có thể thơng báo cho người dùng bằng nhấp nháy đèn hay bằng

âm thanh…

1.3. MỘT SỐ THÀNH PHẦN GIAO DIỆN TRONG ANDORID

1.3.1.

View

Trong một ứng dụng Android, giao diện nguời dùng được xây dựng từ các đối

tượng View và ViewGroup. Có nhiều kiểu View và ViewGroup. Mỗi một kiểu là một

hậu duệ của class View và tất cả các kiểu đó được gọi là các Widget.

Tất cả mọi widget đều có chung các thuộc tính cơ bản như là cách trình bày vị trí,

background, kích thước, lề,… Tất cả những thuộc tính chung này được thể hiện hết ở

trong đối tượng View. Trong Android Platform, các screen ln được bố trí theo một

kiểu cấu trúc phân cấp như hình dưới. Một screen là một tập hợp các Layout và các

widget được bố trí có thứ tự. Ðể thể hiện một screen thì trong hàm onCreate của mỗi

Activity cần phải được gọi một hàm là setContentView(R.layout.main); hàm này sẽ

load giao diện từ file XML lên để phân tích thành mã bytecode.

1.2.5.



Nguoi lam do an



Trang 18



Xây dựng ứng dụng quản lý bán hàng điện tử trên android



Hình 7- Cấu trúc một giao diện ứng dụng Android

ViewGroup

ViewGroup thực ra chính là View hay nói đúng hơn thì ViewGroup chính là các

widget Layout được dùng để bố trí các đối tuợng khác trong một screen. Có một số

loại ViewGroup như sau:

 LinearLayout

LinearLayout được dùng để bố trí các thành phần giao diện theo chiều ngang

hoặc chiều dọc nhưng trên một line duy nhất mà không có xuống dòng.

LinearLayout làm cho các thành phần trong nó khơng bị phụ thuộc vào kích thuớc

của màn hình. Các thành phần trong LinearLayout duợc dàn theo những tỷ lệ cân

xứng dựa vào các ràng buộc giữa các thành phần.



1.3.2.



Hình 8- Bố trí các widget sử dụng LinearLayout

 FrameLayout



FrameLayout được dùng để bố trí các đối tuợng theo kiểu giống như là các

Layer trong Photoshop. Những đối tượng nào thuộc Layer bên dưới thì sẽ bị che

khuất bởi các đối tượng thuộc Layer nằm trên. FrameLayer thường được sử dụng

khi muốn tạo ra các đối tuợng có khung hình bên ngoài chẳng hạn như contact

image button.



Nguoi lam do an



Trang 19



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Chương 1. CƠ SỞ LÝ THUYẾT

Tải bản đầy đủ ngay(0 tr)

×