Sharing Knowledge

« Android Container | Main | Change CheckBox... »
Thursday May 13, 2010

Android Resource

Resource termasuk salah satu arsitektur penting di Android (BAB 3 tentang Terminology Android). Resource adalah elemen externall yang kita gunakan dalam aplikasi. Resource disimpan dalam file xml yang berada dalam 'res' folder. Resource tersedia dalam kode java menggunakan 'R.java' file. File 'R.java' ini untuk menghubungkan sumber daya visual (dari main.xml) ke kode sumber java (file java yang berada di Activity kelas). Ada beberapa macam resource seperti String Resource, Image Resource dan Layout Resource.

1. String Resource
Sebuah resource di Android adalah file atau nilai yang terikat ke salah satu aplikasi yang dieksekusi. File ? file atau nilai ? nilai ini terikat dan di eksekusi sedemikian rupa sehingga anda dapat mengubahnya tanpa mengkompilasi ulang dan redeploying aplikasi.

Android memungkinkan anda untuk menentukan beberapa String dalam satu atau lebih xml resource files. File xml yang berisi String resource ini berada di / res / value. Untuk penamaan file bebas, namun nama defaultnya adalah Strings.xml

contoh isi Strings.xml file

 <?xml version="1.0" encoding="utf-8"?>
<resources>
      <string name="app_name">StringsDemo</string>
        <string name="btn_name">Name:</string>
        <string name="funky_format">My name is &lt;b&gt;%1$s&lt;/b&gt;</string>
</resources>

Ketika file ini dibuat atau diperbarui, ADT Eclipse plug-in secara otomatis akan memperbarui
kelas Java dalam paket root aplikasi yang disebut sebagai R.java, dengan ID unique untuk dua string
resource yang ditetapkan.

Contoh penggunaan String resource untuk pembuatan aplikasi sederhana Android

main.xml

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  >
  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    >
    <Button android:id="@+id/format"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Name"
      />
    <EditText android:id="@+id/name"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      />
  </LinearLayout>
  <TextView android:id="@+id/result"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    />
</LinearLayout>


StringResource.java
 package android.resource;

import android.app.Activity;
import android.os.Bundle;
import android.text.TextUtils;
import android.text.Html;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class StringResource extends Activity {
  EditText name;
  TextView result;
  @Override
  public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    setContentView(R.layout.main);
    name=(EditText)findViewById(R.id.name);
    result=(TextView)findViewById(R.id.result);
    Button btn=(Button)findViewById(R.id.format);
    
    btn.setOnClickListener(new Button.OnClickListener() {
        public void onClick(View v) {
          applyFormat();
        }
      });
    }
    private void applyFormat() {
      String format=getString(R.string.funky_format);
      String simpleResult=String.format(format,
                       TextUtils.htmlEncode(name.getText().toString()));
      result.setText(Html.fromHtml(simpleResult));
    }
}


                Gambar 1 String Resource

2. Images Resource

Android mendukung images dengan format PNG, JPEG dan GIF. Images ditaruh di res / drawable / dan kemudian di referensikan sebagai resource. Cara penulisan di layout file, images di referensikan sebagai @drawable/... (misalnya res/drawable/view.png ? maka nama resource nya menjadi @resource/view)

main.xml

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<ImageButton android:id="@+id/format"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/cat2"
/>
<EditText android:id="@+id/name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
<TextView android:id="@+id/result"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>

ImageResource.java

 package android.source;

import android.app.Activity;
import android.os.Bundle;
import android.text.TextUtils;
import android.text.Html;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.EditText;
import android.widget.TextView;

public class ImageResource extends Activity {
EditText name;
TextView result;
    @Override
    public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
        setContentView(R.layout.main);
        name=(EditText)findViewById(R.id.name);
        result=(TextView)findViewById(R.id.result);
        ImageButton btn=(ImageButton)findViewById(R.id.format);
        btn.setOnClickListener(new Button.OnClickListener() {
        public void onClick(View v) {
            applyFormat();
        }
        });
    }
    
    private void applyFormat() {
    String format=getString(R.string.app_name);
    String simpleResult=String.format(format,
    TextUtils.htmlEncode(name.getText().toString()));
    result.setText(Html.fromHtml(simpleResult));
    }
}


                    Gambar 2 Image Resource


3. Layout Resource
Adalah resource lain yang umum digunakan dalam Android programming. Di Android, View

untuk screen dimuat di file xml sebagai sebuah resource. File ini disebut Layout resource.
Contoh main.xml Layout file

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView android:id="@+id/text1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<Button android:id="@+id/b1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@+string/hello"
/>
</LinearLayout>


                Gambar 3 Layout Resource


_netoya_

Comments:

Post a Comment:
  • HTML Syntax: Allowed