29 Mar

Android Select BuildIn Gallery


Ambil Gallery Build In di Android

Tutorial berikutnya adalah bagaimana cara mengambil gambar dari Gallery Image di Android. Sebenarnya, Build In Gallery adalah sebuah Activity yang bisa kita panggil dan kita ketahui hasil pilihannya.

Caranya cukup mudah, yang pertama kita buat penanganan (trigger) misalnya ketika button di click. maka tampilan pilihan gambar dari Gallery akan ditampilkan.

Intent intent = new Intent(
    Intent.ACTION_PICK,
    android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI
);
startActivityForResult(intent, 0);

nilai 0 digunakan sebagai titik kembalian (result).
selanjutnya kita membuat penanganan result atau pilihan gambarnya dengan cara:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
 // TODO Auto-generated method stub
 super.onActivityResult(requestCode, resultCode, data);

 if (resultCode == RESULT_OK){
  Uri targetUri = data.getData();
  Toast.makeText(this, targetUri.toString(), Toast.LONG_SHORT).show();
 }
}

Selesai sudah tutorial cara pengambilan gambar dari gallery di Android.
Semoga bermanfaat!!!

28 Mar

Android Inisialisasi Spinner

Android Inisialisasi Spinner

Untuk melakukan inisialisasi Spinner kita bisa membuat tambahan di strings.xml seperti berikut ini:

<string-array name="arymonth">
    	 <item>1-January</item>
         <item>2-February</item>
         <item>3-March</item>
         <item>4-April</item>
         <item>5-May</item>
         <item>6-June</item>
         <item>7-July</item>
         <item>8-August</item>
         <item>9-September</item>
         <item>10-October</item>
         <item>11-November</item>
         <item>12-December</item>
</string-array>

Berikutnya, kita masukkan ke dalam layout spinner yang akan menggunakan data tersebut:

<Spinner android:id="@+id/spnMonth" android:layout_width="fill_parent" android:layout_height="wrap_content" android:entries="@array/arymonth" />

Hasilnya, spinner tersebut otomatis isinya akan sesuai dengan string-array yang ada di strings.xml

Semoga bermanfaat!

22 Mar

Android dan Versinya

Bagi yang ingin mengetahui versi-versi android dan nama uniknya, bisa melihat daftar berikut:
Android versi 1.1 (maret 2009)
Android versi 1.5 (Cupcake)
Android versi 1.5 (Donut)
Android versi 2.0/2.1 (EClair)
Android versi 2.2 (Froyo = Frozen Yogurt)
Android versi 2.3 (Gingerbread)
Android versi 3.0/3.1 (Honeycomb)
Android versi 4.0 (ICS = Ice Cream Sandwich)

Sumber: http://id.wikipedia.org/wiki/Android_(sistem_operasi)

21 Mar

Android Konversi Desimal ke Biner

Tutorial Android Konversi Desimal ke Biner

Bagi yang masih belajar Android, penulis sudah menerbitkan ebook baru yang berisi contoh pembuatan aplikasi konversi dari desimal ke biner. Semoga bermanfaat:

Dapat diunduh di: Tutorial Android Konversi Desimal ke Biner.pdf

Tutorial Lainnya:
Instalasi Android
Pemrograman Android Dasar
Pemrograman Android Widget
Pemrograman Android OpenGL

20 Mar

Android JSON Parse

Android Parsing JSON menggunakan Gson
Untuk mengambil dari dari mobile Android ke server, salah satu caranya adalah menggunakan format data “json”.

Untuk melakukan parsing JSON dari android kita bisa menggunakan pustaka tambahan bernama “Gson”
Bisa diunduh dari: http://code.google.com/p/google-gson/

Cara menggunakannya pun cukup mudah, mari kita lihat contoh berikut ini:

(Serialization)

Gson gson = new Gson();
gson.toJson(1);            ==> prints 1
gson.toJson("abcd");       ==> prints "abcd"
gson.toJson(new Long(10)); ==> prints 10
int[] values = { 1 };
gson.toJson(values);       ==> prints [1]

(Deserialization)

int one = gson.fromJson("1", int.class);
Integer one = gson.fromJson("1", Integer.class);
Long one = gson.fromJson("1", Long.class);
Boolean false = gson.fromJson("false", Boolean.class);
String str = gson.fromJson("\"abc\"", String.class);
String anotherStr = gson.fromJson("[\"abc\"]", String.class)

19 Mar

Set Layout Landscape

secara default layout android adalah potrait. ada 2 cara mengeset layout android menjadi Landscape atau Mendatar:

1) AndroidManifest.xml
kita bisa mengeset screenOrientation dengan mengisikan “landscape”, pada activity launcher

<activity android:name=".ActivityUtama"
              android:label="@string/app_name"
              android:screenOrientation="landscape" />

2) Activity kita bisa menambahkan kode program pada activity sebelum memanggil fungsi setContentView()

setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

Semoga bermanfaat. Alamat tutorial Android lainnya: Pemrograman Android Dasar

18 Mar

Android DDMS

Android DDMS merupakan kependekan dari Dalvik Debug Monitor Server. Sangat bermanfaat untuk melakukan debugging dan testing pemrograman Android melalui Emulator.

Kadang-kadang pembaca akan merasa kesulitan untuk mencari letak error ketika di dalam program yang kita buat hanya menampilkan force close. Nah, untuk itu kita perlu menggunakan DDMS ini untuk melihat error, caranya:

Dari Eclipse kita pilih Window > Open Perspective > Other.. > DDMS

Selain untuk melihat error, kita juga bisa menggunakan emulator untuk mengeset posisi GPS, mencoba memanggil sebagai incoming telp atau bisa juga mengirim sms ke emulator. Menarik bukan?

android-ddms

12 Mar

Android OpenGL Touch

Cara mendeteksi Event Touch di dalam OpenGL Android adalah sebagai berikut:

Pertama, kita buat dulu class Activitynya (Main.java)

public class Main extends Activity {
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        TaruView view = new TaruView(this);
        setContentView(view);
    }
}

Kedua, kita buat dulu class Renderernya (TaruRenderer.java)

public class TaruRenderer implements GLSurfaceView.Renderer {
    @Override
    public void onSurfaceCreated(GL10 gl, EGLConfig config) {
        // Do nothing
    }
 
    @Override
    public void onSurfaceChanged(GL10 gl, int w, int h) {
        gl.glViewport(0, 0, w, h);
    }
 
    @Override
    public void onDrawFrame(GL10 gl) {        
        gl.glClearColor(_red, _green, _blue, 1.0f);
        gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
    }
}

Ketiga, kita buat class View (TaruView.java)

public class TaruView extends GLSurfaceView {
    private TaruRenderer tr;
 
    public TaruView(Context context) {
        super(context);
        tr = new TaruRenderer();
        setRenderer(tr);
    }

    // letakkan event on touch di sini
    public boolean onTouchEvent(final MotionEvent event) {
        queueEvent(new Runnable() {
            public void run() {
                  // event ketika di touch
            }
        });
        return true;
    }
}

12 Mar

Android Input Dialog

Kadang kita perlu membuat dialog untuk menginputkan data. Misalnya kita meminta inputan nama dari suatu proses. Kita tidak perlu membuat layout baru, kita cukup memanggil kode program berikut:

AlertDialog.Builder alert = new AlertDialog.Builder(this);

alert.setTitle("Title");
alert.setMessage("Message");

// Set an EditText view to get user input
final EditText input = new EditText(this);
alert.setView(input);

alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
String value = input.getText().toString();
// Do something with value!
}
});

alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
// Canceled.
}
});

alert.show();

09 Mar

OpenGL Tutorial – Bind Texture

How enabling openGL texture?

gl.glEnable(GL10.GL_TEXTURE_2D);

How load texture from android drawable?

gl.glGenTextures(1, textureIDs, 0);
gl.glBindTexture(GL10.GL_TEXTURE_2D, textureIDs);
GLUtils.texImage2D(GL10.GL_TEXTURE_2D, 0, bitmap, 0);
bitmap.recycle();

How to Set Texture in every Mesh / Polygon?

gl.glBindTexture(GL10.GL_TEXTURE_2D, textureIDs[0]);
gl.glDrawArrays(GL10.GL_TRIANGLE_STRIP, 0, 4);
gl.glBindTexture(GL10.GL_TEXTURE_2D, textureIDs[1]);
gl.glDrawArrays(GL10.GL_TRIANGLE_STRIP, 4, 4);