Resources

Următorul pas în descrierea platformei Android este reprezentat de crearea resurselor.  Aşa cum am menţionat într-un tutorial anterior, în componenţa unui proiect Android se regăseşte şi un folder res care conţine toate resursele utilizate în respectiva aplicaţie.

ProiectulMeu/
    src/  
        Activitatea1.java
    res/
        drawable/
            icon.png
        layout/ 
            main.xml
            info.xml
        values/ 
            strings.xml

Un rol important în cadrul oricărui proiect este reprezentat de clasa R, ai cărei modificatori sunt public şi final. Acestă clasă este generată automat şi conţine referinţe la toate resursele existente în proiectul curent.

Clasa R se găseşte în folderul gen şi cuprinde mai multe alte clase finale pentru fiecare tip de resursă:

Exemplu:

public static final class attr {}
public static final class drawable {}
public static final class layout {}
public static final class string {} etc.

Fiecare componentă din fiecare folder aparţinând res are asociat în R un câmp  de tip int reprezentând id-ul.

Exemplu:

public static final int green_1=0x7f020001;
public static final int main=0x7f030000;

Atunci când trebuie să accesăm în cod o componentă aparţinând res utilizăm clasa R care o conţine.

Exemplu:

  • pentru a accesa un buton:
    Button b=(Button)findViewById(R.id.Button1);
  • pentru a accesa o imagine:
    ImageView image=(ImageView)findViewById(R.drawable.poza1);
  • pentru a accesa un layout:
     R.layout.main

De asemenea utile în alcătuirea unei interfeţe grafice sunt culorile. Pentru a crea un fişier conţinând culori se procedează astfel:

  • click-dreapta pe folderul values > New Android XML File >  adăugaţi un nume > Finish;

Un exemplu pentru un astfel de fişier:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<drawable name="red">#FF0000</drawable>
<drawable name="white">#FFFFFF</drawable>
<drawable name="light_blue">#C4DDE8</drawable>
<drawable name="green">#00B512</drawable>
<drawable name="blue">#0000FF</drawable>
</resources>

Pentru a exemplifica utilizarea culorilor declarate mai sus am realizat un fişier xml:

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

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:padding="15dip"
android:background="@drawable/white">
<LinearLayout android:id="@+id/layoutTop"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:paddingBottom="15dip">
<TextView android:id="@+id/txtName"
android:layout_alignParentTop="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@+id/EditText01"
android:text="EXEMPLE:"
android:textColor="@drawable/red"
android:textStyle="bold"
android:textSize="20dp">
</TextView>
</LinearLayout>
<LinearLayout android:layout_width="wrap_content"
android:layout_height= "wrap_content"
android:orientation="vertical"
android:layout_below="@id/layoutTop"
android:id="@+id/layout2"
android:paddingBottom="15dip">
<EditText
android:id= "@+id/EditText01"
android:layout_width= "150dip"
android:layout_height= "50dip"
android:text= "EditText "
android:padding="10dip"
android:background="@drawable/light_blue">
</EditText>
</LinearLayout>
<LinearLayout android:layout_width="wrap_content"
android:layout_height= "wrap_content"
android:layout_below="@id/layout2">
<Button
android:id= "@+id/Button01"
android:layout_width= "100dip"
android:layout_height= "50dip"
android:text= "Buton "
android:textColor="@drawable/green">
</Button>
<CheckBox android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CheckBox"
android:textColor="@drawable/blue">
</CheckBox>
</LinearLayout>
</RelativeLayout>

După deploy se obţine o interfaţă grafică de forma:

*Utilizaţi cu încredere resursele,  iar dacă apar manifestări neplăcute consultaţi google.com sau lăsaţi un comment.

Advertisements
Resources

2 thoughts on “Resources

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s