Android Tutorial : Membuat animasi nyeleneh



Akhirnya gw bisa mencicipi hidangan penutup dari Google, menikmati dinginnya Android froyo 2.2 dan menjajal membuat aplikasi mobile dengan prosesor 800 mhz.


Sebagai programer sesuka hati yang jarang makan froyo, ngeliat prosesor 800 mhz dan memory 160, seperti melihat tanah lapang luas 1000 ha yang siap di tanemin pohon duren disetiap ujungnya. Bisa berjorok jorok ria, cangkul sana cangkul sini, sebodo amat yang penting pohon duren siap kunikmati.

Tapi sialnya gak bisa begitu, gw coba bikin aplikasi jorok, asal tanem batang, gali lobang, sebar benih, dan coba di jalanin di handphone android 800 mhz, cuma kuat beberapa menit, langsung goyang patah patah, abis itu KO, ngeBlank no response, nunggu sentuhan maut dari Aniza Bahar.

Jadi tetap butuh optimasisasi sasasa sisisi, tetap mengedepankan optimasi dalam desain aplikasi, jadi ini lah hasilnya yang sudah di optimasi sasa sisi.

Sebenernya apa sih yang di bikin ?

Karena handpone android nya bisa touch screen, gw cuma mau jajal touch screen nya aja, penasaran, kok bisa layar di tutul tutul, bisa gerakin apa yang ada di layar, apa sie informasi tutul me nutul yang di dapet, sampe bisa di buat aplikasinya.

Perlu di ketahui basic Androidnya sendiri gw gak punya pondasi yang kokoh, tapi kalo untuk bikin yang nyeleneh nyeleneh gw rasa cukup lah.

Kita mulai aja, gw pake eclipse dan instal SDK yang di wajibkan Google untuk membuat aplikasi di Android, lebih lengkap ke sini.

Gambar di atas adalah struktur project di eclipse untuk AnimasiNyeleneh, folder src terdiri dari 3 file java, sebagai berikut :

MainActivity.java adalah turunan Class Activity yang konon katanya merepresentasikan user interface yang terpampang di layar handphone.

Sprite.java adalah Class yang membungkus gambar dengan posisi X Y nya, biar gampang di operasikan untuk membuat animasi

ViewScreen1 adalah turunan Class View, kalo menurut gw ini untuk membuat low level UI, ada onDraw() nya gitu looh.

Mari kita bongkar filenya,

Utama adalah ViewScreen1.java tempat kita menggambar sesuka kita di Android,

Coba liat gambar di atas (Klik untuk memperbesar), dia turunan View implement Runnable untuk multi thread dan onTouchListener untuk mendapatkan response dari tutul me nutul.

Kalo yang private atributes :
Paint digunakan di onDraw() nanti, buat set Warna dan hal hal lainnya yang gw belum tau
int boxX dan boxY buat nyimpen kordinat sentuhan tangan.
Bitmap buat nyimpen gambar
ArrayList buat nyimpen Sprites yang akan seliweran dilayar
String[] nyimpen kumpulan String sampah
Date bahasa Indonesianya Tanggal

Lanjut ke konstruktornya, yang penting perhatikan setOnTouchListener(this) fungsinya memberi tahu bahwa Class ini yang akan menerima response dari sentuhan, dan bitmap dia ambil dari Class R, jadi R itu automatis di generate oleh eclipse kalo kita naroh gambar di folder res

Nah sampe juga kita ke onDraw() hmmm ada apa aja yah ?, di atas try ada kode buat menggambar backround jadi putih dan menulis long Date, nah di dalam try itu yang penting, ada kode untuk me loop semua Sprite yang ada di screenLayer dan menggambarkannya menggunakan drawBitmap() dengan melihat type nya, 1 menggambar String, selain itu menggambar Bitmap

Perhatikan juga catch gw pasang, karena muncul error gw mengupdate sesuatu secara bersamaan, dan itu tidak boleh, kemungkinan karena thread managment yang jelek by puputs.

Selanjutnya adalah method run() tapi karena gambarnya terlalu besar, maka nanti silahkan download aja file sourcenya, udah di kasih komentar seadanya kok, jadi bisa sekalian di maki maki.

Tapi secara garis besarnya di dalam method run() ada loop yang tidak akan habis sepanjang jalan kenangan, dengan jeda selama 1000/30 milisecond, lalu ada kode untuk memasukan Sprite secara Random, melakukan loop pengecekan masing masing Sprite, apakah di touch atau melewati batas atas layar, kalau iya maka taruh di tempat sementara dan di hapus dari layar, lalu ada juga kode menambahkan pesan, dan terakhir refresh layar[masih agak ragu apa benar teknik refreshnya].

Ahkirnya, yang di tunggu tunggu, gambar di atas adalah onTouch() method untuk menerima informasi sentuhan lembut kita, dan ternyata cuma begitu aja[somboooong].

Btw jangan lupa di start ya thread nya, kalo gak, gak bakal jalan run() nya

Kalau begitu kita lanjut ke Sprite.java, tapi karena ini cuma pembungkus aja silahkan di review sendiri kode nya, isinya kebanyakan cuma setter dan getter aja kok.

Jadi lanjut MainActivity.java, kita perhatikan gambar di bawah ini :

Gw cuma pake method onCreate() katanya sie dipanggil saat Activity kita di jalanin, isinya bikin Object vs trus di tampilin di layar dan di start().

Udah deh selesai, tapi kalo mau download file project buat tutorial Android ini dimana ? bisa kesini atau langsung kesini,

Trus kalo mau tau tampilah akhirnya kayak apa ?
lihat dibawah yah, kamu tutul tutul aja gambar roketnya


Kok icon aplikasinya menjijikan ?

biasakan diri anda :D

Tambahan yang perlu di baca

perlu di perhatikan, bahwa kode tutorial Android yang saya buat di atas, tidak ada kode yang bermaksud untuk merusak Handphone anda, tapi apabila handpone anda bermasalah karena kode tutorial android di atas, saya tidak mau bertanggung jawab untuk itu, apa lagi kalo tiba tiba handpone anda hilang, jatoh, meledak atau nyetel lagu dangdut automatis.

Jadi biar fair, sebaiknya review sendiri dulu kode yang ada di sini, kalo merasa kodenya mencurigakan, jangan download file Project nya, dan kasih tau saya, jadi kalo udah download berarti kita udah sepakat bahwa saya tidak bertanggung jawab atas masalah di handpone anda.

nb: kalo mau langsung download file apk nya bisa download project file kesini atau langsung kesini, nanti di dalam zip file ada file apk nya.

logoblog

Share this:

CONVERSATION

17 comments:

  1. wah sama ternyata pakai android juga ya

    BalasHapus
  2. wakakakak.... bisa juga di begitukan

    BalasHapus
  3. lagi demam buat aplikasi android neh sepertinya.. Teman2 kampus aku juga sering ngutak2 itu,, tapi buat yang gak ngerti itu terlihat ribet yak >.<

    BalasHapus
  4. Hati-hat ngehang lho put, kebanyakan diutak atik :)

    BalasHapus
  5. @Kojack
    maksudnya

    @niee
    gak demam, cuma iseng :p

    @Zee
    sudah hank kok :p

    BalasHapus
  6. aplikasi nya itu kn dari bawah k atas, gmn klo dari kiri ke kanan ? yg perlu dirubah apanya ? terima kasih

    BalasHapus
  7. @surabaya android community
    kalo vertikal yang dimainin sumbu Y
    kalo horizontal yang di mainin sumbu X,

    BalasHapus
  8. Syang belum punya hape Android

    BalasHapus
  9. @penuliscemen
    pakai emulatornya aja :)
    bisa juga kok

    BalasHapus
  10. Komentar ini telah dihapus oleh pengarang.

    BalasHapus
  11. klo nambah score gmn ya ?
    jadi icon diklik lalu score bertambah
    mohon sarannya

    BalasHapus
  12. @surabaya android comunity
    -buat variable penampung score,
    -buat drawString buat nampilin score
    -score=score+nilai saat object di touch

    begitu kira2..

    BalasHapus
  13. sudah saya coba tetapi tidak berpengaruh mas

    BalasHapus
  14. @surabaya android comunity
    :D berarti salah kodenya, kalo logic ya cuma seperti itu..

    ada variable, tampilin datanya, ada aksi tambah nya..

    BalasHapus
  15. mas...
    mau nanya ...

    kalau animasi nya horizontal gimana ya..?

    BalasHapus
  16. waaaaa..punyaku nyetel dangdut sndiri,,
    wakakaakaa... bagus,,like...like :D

    BalasHapus