1. Trang chủ
  2. » Công Nghệ Thông Tin

Android Programing Bài 4: Tài nguyên ứng dụng cơ bản

12 95 2

Đ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 12
Dung lượng 73,72 KB

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

Nội dung

Truy xu t tai nguyên hinh nh:â aJava code: R.drawable.ic_laucher XML : @drawable/ic_laucher 1.3 Truy xu t tai nguyên â Cu phap dung chung khi truy xu tâ : Java code: []R.... %d book foun

Trang 1

BÀI 4:TÀI NGUYÊN NG D NG C B N Ứ Ụ Ơ Ả

1 Khai ni m ê

1.1 Tai nguyên va tinh t ươ ng thich

Tai nguyên: m t d ng d li u đô a ư ê ươc xây d ng nh m đap ng cac yêuư ă ư

c u v hi n th bao g m hinh nh, âm thanh, văn b n, cac bâ ê ê i ô a a ô

c c….tu ương thich cho t ng thi t b riêng bi t.ư ê i ê

Cho phep khai bao m t l n va s d ng trong ph m vi toan ng d ng,ô â ư u a ư u

d dang thay đ i theo ng c nh.ê ô ư a

Tinh tương thich: đ co th t i u hoa tinh tê ê ô ư ương thich thi t b taiê i nguyên đươc chia lam hai d ng:a

• Tai nguyên m c đ nh : không quan tâm đ n c u hinh c a thi tă i ê â u ê

b ho c không co tai nguyên đ l a ch n.i ă ê ư o

• Tai nguyên đ c tr ng: đă ư ươc s d ng trên thi t b riêng bi tư u ê i ê thông qua cac t h n đ nh va đư a i ương d n.â

ng d ng t l a ch n tai nguyên phu h p v i thông tin c u hinh

thi t b , tai nguyên m c đ nh đê i ă i ươc ch n n u không co tai nguyên phuo ê

h pơ

1.2 Đ nh nghia tai nguyên i

Trang 2

Tai nguyên ng d ng đư u ươc đ nh nghia trong th m c i ư u res c a d an,u ư bao g m cac d ng tai nguyên sau:ô a

• Animator

• Anim

• Color

• Drawable

• Layout

• Menu

• Raw

• Values

• XML

V n đ v đ nh nghia tai nguyên:â ê ê i

• Co qua nhi u thi t b co c u hinh khac nhau v kich thê ê i â ê ươc man hinh, đ phân gi i, phim v t ly….ô a â

• M i thi t b co th ho t đ ng nhi u ch đ khac nhau:ô ê i ê a ô ơ ê ê ô năm ngang, n m đ ng, thay đ i ngôn ng ….ă ư ô ư

T h n đ nh: dung đ t o ra cac tai nguyên khac nhau co nhi uư a i ê a ê thi t b co c u hinh khac nhau ho t đ ng cac ch đ khac nhau.ê i â a ô ơ ê ô

• Vi d :u

Drawable

Ic_laucher.png Drawable-hdpi

Ic_laucher.png Cac d ng t h n đ nh:a ư a i

• MCC – MNC

 Mcc452-mnc04

• Language & Region

 Vi-rVN

• Layout Diretion( API 17)

 Ldltr – ldrtl

• Samilest Width

 Sw320dp – sw480dp – sw600dp – sw720dp

• Available Width

 W720dp – w1024dp

• Available Height

 H720dp – h2014dp

Cac d ng t h n đ nh:a ư a i

• Screen Size

 Small – normal – large – xlarge

• Screen Aspect

 Long – notlong

• Screen Orientation

 Port – land

Trang 3

• UI Mode

 Car – desk – television – appliance

• Night Mode

 Night – notnight

• Screen pixel density

 Idpi – mdpi – hdpi – xhdpi – nodpi – tvdpi Cac d ng t h n đ nh:a ư a i

• Touch Screen

 Notouch – finger

• Keyboard

 Keysexposed – keyshidden – keyssoft

• Input Method

 Nokeys – qwerty – 12key

• Navigation Key

 Navexposed – navhidden

• Non- Touch Navigation

 Nonav – dpad – trackball – wheel

• Platform Version

 V3 – v4 – v7 – v11…

Cach t o tai nguyên:a

• T o th m c m i trong th m c a ư u ơ ư u res v i đ nh d ng:ơ i a

<tên tai nguyên>-<t h n đ nh>ư a i

• Vi d :u

Drawable-vi-rVN

Quy tăc đăth tên cho th m c tai nguyên:ư u

• Co th co nhi u t h n đ nh cho m t th m c tai nguyên cach nhauê ê ư a i ô ư u

b ng d u g ch ngang(“-“).ă â a

• Cac t h n đ nh ph i theo th t u tiên.ư a i a ư ư ư

• Cac th m c tai nguyên không đư u ươc ch th m c tai nguyên khacư ư u

• Không cho phep hai t h n đ nh gi ng nhau trên cung m t th m cư a i ô ô ư u

1.3 Truy xu t tai nguyên â

T t c tai nguyên ng d ng đâ a ư u ươc truy xu t thông qua l p R.â ơ

L p R:ơ

• L p tinh/ơ

• Ch a trong th m c gen, t đ ng t o cac đ nh d ng cho tai nguyênư ư u ư ô a i a (ID) thông qua AAPT( android Application Project Tool)

• Ch a cac l p tai nguyên, m i d ng tai nguyên la m t l p tinhư ơ ô a ô ơ

 Vi d :u

Trang 4

Truy xu t tai nguyên hinh nh:â a

Java code: R.drawable.ic_laucher XML : @drawable/ic_laucher

1.3 Truy xu t tai nguyên â

Cu phap dung chung khi truy xu tâ :

Java code:

[<package_name.>]R.<resource_type>.<resource_name>

XML:

@[<package_name.>]<resource_type>/<resource_name>

Trong đo:

• Package_name: tên goi ng d ngư u

• Resource_type: d ng tai nguyêna

• Resource_name:

 Tên tai nguyên c n truy xu t không bao g m ph n m r ngâ â ô â ơ ô

t p tinâ

 Thu c tinh ô android:name danh cho cac tai nguyên cơ

b n( string, color… ).a

1.4 Tai nguyên Alias

Cho phep t o ra tai nguyên t tai nguyên co s n, ph c v cho nhi u c ua ư ă u u ê â hinh thi t b nh ng không ph i la tai nguyên m c đ nh.ê i ư a ă i

Vi d :u

• V n đ : t o bi u tâ ê a ê ương ng d ng khac nhau cho cac ngôn ng khacư u ư nhau, đ i v i ti ng Anh va ti ng Vi t thi cung biêu tô ơ ê ê ê ương

*Gi i quy t v n đ ( không dung Alias):a ê â ê

• T o th m c tai nguyên cho t ng ngôn ng a ư u ư ư

• Chep hinh nh khac nhau cho t ng th m c, hai th m c co t h na ư ư u ư u ư a

đ nh i en va vi co hinh nh gi ng nhau.a ô

* Gi i quy t v n đ ( dung Alias):a ê â ê

• T o th m c tai nguyên cho t ng ngôn ng a ư u ư ư

• Chep hinh nh khac nhau cho t ng th m c.a ư ư u

• Th m c co t h n đ nh ư u ư a i en t o tai nguyên Alias t th m c a ư ư u vi.

Trang 5

2 Cac tai nguyên c b n ơ a

Cac tai nguyên c b n đơ a ươ ưc l u tr trong th m c res/Values.ư ư u

Đ nh danh tai nguyên đi ươc kh i t o thông qua thu c tinh name khôngơ a ô

ph i tên t p tina ê

Co th l u tr nhi u tai nguyên vao trong m t t p tin.ê ư ư ê ô â

M t s tên t p tin đ xu t trong values:ô ô â ê â

• String.xml

• Arrays.xml

• Colors.xml

• Dimens.xml

T t c cac t p tin xml trong values, đâ a â ươc m đ u va k t thuc b ng c pơ â ê ă ă

th <resource></resource>.e

2.1 String

• Cung c p tai nguyên d ng văn b n cho ng d ng , cho phep th c hi n cacâ a a ư u ư ê thao tac đ nh d ng va thi t k khac nhau, bao g m ba d ng:i a ê ê ô a

• String

• Stringarray

• QuantityString(Plural)

• String:

• Khai bao:

<String name=”string_name”>Text_string</string>

Trong đo:

String_name: đ nh danh dung đ truy xu t trong XML va Java Code.i ê â Text_string: n i dung l u tr ô ư ư

• Vi d : t p tin strings.xmlu â

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

<resource>

<string name=”hello”>Hello world!</string>

</resource>

• String:

• Vi d truy xu t va s d ng: khai bao Textview va g n văn b n chou â ư u ă a thu c tinh text.ô

*Truy xu t trong XML:â

<TextView

Trang 6

*truy xu t trong Java Code:â

Truy xu t tr c ti pâ ư ê

TextView.setText(R.string.hello) ; Dung phương th c getString:ư

textView.setText(getString(R.string.hello));

• StringArray:

• Khai bao:

<String-array name=”String_array_name”>

<item>Text_string</item>

</string-array>

Trong đo:

String_array_name: đ nh d ng dung đ truy xu t trong XML va Javai a ê â Code

Text_string: n i dung l u tr cho t ng item.ô ư ư ư

• Vi d :u

<String-array name=”android_courses”>

<item>Basic Android</item>

<item>Advanced Android</item>

</String-array>

StringArray:

• Truy xu t trong Java Code:â

Resources res = getResources() ;

String[] androidCourses =

Res.getStringArray(R.array.android_courses) ; Quantity : đươ ư uc s d ng cung b s đ m tuy thu c vao quy ô ô ê ô ươ u ưc c a t ng ngôn ng , bao g m cac b đ mư ô ô ê :

Trang 7

• Zero

• One

• Two

• Few

• Many

• Other

Thương đươc dung k t h p v i cac đ nh d ng s nguyên.ê ơ ơ i a ô

H th ng t đ ng l a ch n tuy ch n b đ m tuy thu c vao s ngôn ngê ô ư ô ư o o ô ê ô ô ư

s d ng trên thi t b ư u ê i

Quantity:

• Khai bao:

<Plurals name=”plural_name”>

<item quantity=”count”>Text_string</item>

</plurals>

Trong đo:

Plural_name: đ nh dang dung đ truy xu t trong XML va Java Code.i ê â Count: b đ m s d ng.ô ê ư u

Text_string: n i dung l u tr cho t ng item.ô ư ư ư Quantity:

• Vi d :u

<plurals name=”numberOfBooks”>

<item quantity=”one”>One Book found.</item>

<item quantity=”other”>%d book found.</item>

</plurals>

• Truy xuât trong java code:

Resources res = getResources() ; String booksFound =

Res.getQuantityString(R.plurals.numberOfBooks, 2, 2);

Đ nh d ng String:i a

• Truy n tham s : cho phep th c hi n t o cac đo n văn b n co ch aê ô ư ê a a a ư tham s truy n vao.ô ê

• Vi du:

<String name=”Messages”>

Chao%1$s !B n co a %2$d tin nh n m i.ă ơ

</String>

• Truy xu t trong Java Code:â

String messages = getString(R.string.massages) ; Messages = String.format(messages, “HTSI”, 10);

Log.d(”HTSI ”, messages) ; //chao HTSI ! B n co 10 tin nh n m i.a ă ơ

2.2 Color

Trang 8

Khai bao tai nguyên s d ng cho cac hi n th mau s c nh phông n n,ư u ê i ă ư ê hinh nh, mau ch … a ư

Co th s d ng cac đ nh d ng mau s cê ư u i a ă :

• #RGB

• #ARGB

• #RRGGBB

• #AARRGGBB

Khai bao :

<color name=“color_name “>hex_color</color>

Trong đo:

Color_name : đ nh d ng dung đ truy xu t trong XML va Java Code.i a ê â Hex_color: đ nh d ng mau s c.i a ă

• Vi d : t p tin u â colors.xml

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

<resource>

<color name=“my_blue“>#33B5E5</color>

<color name=”my_green”>#99CC00</color>

</resource>

Vi d : truy xu t va s d ng: Khai bao TextView va thi t l p mau văn b nu â ư u ê â a thông qua thu c tinh textcolor.ô

• Truy xu t trong XMLâ :

<textView

… Android :textColor= ’’@color/my_blu ’’/>

• Truy xu t trong Java Codeâ :

Dung phương th c getcolorư :

Resource res = getResources() ; Int myBlu = res.getColor(R.color.my_blue) ; textView.setTextColor(myblue);

ColorStateList: đ i tô ương cho phep xây d ng m t t p cac s c mau khacư ô â ă nhau hi n th cho cac tr ng thai khac nhauê i a :

• Pressed

• Focused

• Selected

• Checkable

• Checked

• Enable

• Window_focused

Trang 9

Khai bao trong th m c res/color, t p tin XML khai bao trong th m c nayư u â ư u

b t đ u va k t thuc b ng c p th <Selector></selector>ă â ê ă ă e

Đ nh danh ColorStateList đi ươc truy xu t thông tên t p tin ( không baoâ â

g m ph n m r ng).ô â ơ ô

ColorStateList

• Khai bao

<selector

Xmlns :android= http://schemas.android.com/apk/res/android>

<item [android :state=“true/false “]

Android:color=“hex_color“/>

</selector>

Trong đo:

State: ch đ nh tr ng thai thông qua true ho c false, n u không co ch đ nhi i a ă ê i i

tr ng thai la binh tha ương

Hex_color: mau tương ng v i tr ng thai.ư ơ a

ColorStateList:

• Vi d : t p tin button_text_selector.xml trong res/coloru â

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

<item android:state_pressec=”true” android:color=”@color/my_green”/>

<item android:color=”@color/my_blue”/>

</selector>

• Truy xu t s d ng XMLâ ư u

<Button

… Android:textColor=”@color/button_text_selector” />

2.3 Dimen

Khai bao tai nguyên s d ng cho cac đ i lư u a ương kich thươc trong ng d ng.ư u

Co th s d ng cac đ i lê ư u a ương kich thươc sau:

• Dp – dip

• Sp

• Pt

• Px

• Mm

• in

Khai bao:

<dimen name=”dimen_name”>size</dimen>

Trang 10

Trong đo:

Dimen_name: đ nh d ng dung đ truy xu t trong XML va Java Codei a ê â Size: đ i la ương đi kem đ nh d ngi a

• Vi d : t p tin dimens.xmlu â

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

<resource>

<dimen name=”text_size”>20sp</dimen>

</resource>

Vi d truy xu t va s d ng: Khai bao Button va thi t l p kich thu â ư u ê â ươc văn

b n thông qua thu c tinh textSize.a ô

* Truy xu t trong XML:â

<TextView

… Android:textSize=”@dimen/text_size”/>

* Truy xu t trong Java Code:â Dung phương th c getDimensionư :

Resource res = getResource() ; Float textSize = res.getDimension(R.dimen.text_size) ; textView.setTextSize(textsize);

2.4 TypedArray

Khai bao tai nguyên cho phep xây d ng t p h p ( m ng) l u tr cac lo iư â ơ a ư ư a tai nguyên nh hinh nh, mau s c… ho c co th l u tr cung luc nhi uư a ă ă ê ư ư ê

d ng tai nguyên khac nhau.a

Khai bao:

<array name=”array_name”>

<item>value</item>

</array>

Trong đo:

Trang 11

Array_name: đ nh danh dung đ truy xu t trong XML va Java Code.i ê â Value: gia tr l u tri ư ư

Vi d : t p tin arrays.xmlu â

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

<resource>

<array name = “color”>

<item>@color/my_blue</item>

<item>@color/my_green</item>

<item>#FFBB33</item>

</array>

</resource>

Truy xu t va s d ng trong Java Code:â ư u

typedArray colors = res.obtainTypedArray(R.array.colors);

int myBlue = colors.getColor(2,0);

Ngày đăng: 22/07/2019, 14:56

TỪ KHÓA LIÊN QUAN

w