• Jadilah orang yang sesederhana mungkin yang kamu bisa
  • Jadilah orang yang sesederhana mungkin yang kamu bisa
  • Jadilah orang yang sesederhana mungkin yang kamu bisa
  • Jadilah orang yang sesederhana mungkin yang kamu bisa

Search

Loading...

Membuat splash screen android

Yeahhh... Akhirnya kmaren selesai presentasi 2 project sekaligus. Sesuatu banget pokoknya :p Sekarang tanggung jawab saya tinggal PSBO (Pengembangan Sistem Berorientasi Objek), tapi projectnya belum saya kerjain padahal senin ini sudah mau UAS. Ckckck, semangatlahh...

Oke langsung saja ke topik utama yaitu bikin splash screen pada android. Sebelumnya teman-teman sudah pada tahu kan apa itu splash screen? Nahh splash screen itu adalah tampilan awal sebelum program dijalankan. Splash screen juga bisa digunakan untuk mempercantik aplikasi yang dibuat supaya aplikasinya kelihatan lebih professional gitu :p

Langsung saja ke kodingannya ya, supaya saya tidak panjang lebar lagi ngomongnya. hehe

Pertama kita buat splash.java


import jie.belajar.android.BuserActivity;
import android.app.Activity;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.os.Bundle;
import android.view.MotionEvent;

public class Splash extends Activity {
    protected boolean _active = true;
    protected int _splashTime = 2000;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        setContentView(R.layout.splash);

        // thread for displaying the SplashScreen
        Thread splashTread = new Thread() {
            @Override
            public void run() {
                try {
                    int waited = 0;
                    while(_active && (waited < _splashTime)) {
                        sleep(100);
                        if(_active) {
                            waited += 100;
                        }
                    }
                } catch(InterruptedException e) {
                    // do nothing
                } finally {
                    finish();
                    Intent newIntent=new Intent(Splash.this,BuserActivity.class);
                    startActivityForResult(newIntent,0);
                }
            }
        };
        splashTread.start();
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        if (event.getAction() == MotionEvent.ACTION_DOWN) {
            _active = false;
        }
        return true;
    }
}

Selanjutnya kita buat splash.xml
Untuk splash.xml saya tambahin progressBar, supaya tampilannya lebih menarik :D

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center|center_horizontal"
    android:background="@drawable/splash">

    <ProgressBar
        android:id="@+id/progressBar2"
        style="?android:attr/progressBarStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</LinearLayout>
NB : Untuk yang berwarna Merah berarti saya membuat splash screen dari gambar dari folder drawable dengan nama splash.png.

 Terakhir untuk AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="jie.belajar.android"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="10" />
    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
      
        <activity
            android:name=".Splash"
            android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
             </intent-filter>
        </activity>
       
        <activity
            android:name=".BuserActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
       
     </application>
</manifest>

 Oke sudah selesai, segitu saja... hehe




Related Post



24 comments:

  1. gan, maksudnya import jie.belajar.android.BuserActivity; itu buat apa?
    thanks

    ReplyDelete
  2. @Oliver Jordan : Itu buat ngimpor activitynya mas, kebetulan nama package yang saya buat jie.belajar.android.

    ReplyDelete
  3. Gan,, ak dah cba Copas scriptnya di Eclipse tp error pas
    Intent newIntent=new Intent(Splash.this,SplashActivity.class);
    apanya ya??'

    ReplyDelete
    Replies
    1. Itu supaya setelah splash screen langsung menuju ke halaman yang kita inginkan. Misal setelah splash screen kita mau ntar langsung ke halaman beranda, maka kita buat
      Intent newIntent=new Intent(Splash.this,Beranda.class);

      Delete
    2. Sorry, mau tanya. kenapa ngarahnya ke class, kenapa gak ngarahnya ke xml layout?

      Delete
  4. gan...
    startActivityForResult(newIntent,0);
    sama
    startActivity(newIntent);
    apa bedanya ya gan??
    0 = requestcode..
    buat apa??
    thx

    ReplyDelete
    Replies
    1. Hmm... Sebenarnya ane juga gak terlalu paham sih. Setahu saya untuk fungsinya sendiri antara startActivityForResult(newIntent,0)tidak terlalu jauh berbeda dengan method startActivity(newIntent). Keduanya biasa digunakan untuk navigasi perpindahan dari satu activity ke activity lain, yang membedakan adalah dengan menggunakan method startActivityForResult() kita dapat mengembalikan data dari sebuah activity yang kita panggil. Mau lebih jelasnya coba baca http://developer.android.com/reference/android/app/Activity.html

      Mohon maaf gan kalo penjelasannya masih ada yang salah-salah. Ane juga masih neubie :)

      Delete
  5. gan, knp yah di bagin R.layout.splash eror ??
    padahal di res/layout udah ada kok splash xml nya..

    mohon solusinya gan ^_^

    thx b4

    ReplyDelete
    Replies
    1. Kayaknya belum kebaca, coba di run aja...

      Delete
    2. hmm
      udah coba di run, tp nda berhasil gan..
      erornya di gambar yg saya simpan di drawable.
      "Invalid file name: must contain only [a-z0-9_.]"

      mohon pencerahan lg yaa gan ^_^

      Delete
    3. Berarti penamaan filenya yang salah, katanya gak boleh selain a-z, 0-9, _ dan .

      Delete
    4. hmm ok lah..
      tapi masih tetap eror di R.layout.splash gan..
      gmna nih ??

      Delete
    5. Nahh R.layout.splas itu kudu kamu bikin dulu file xml yang namanya splash.xml

      Delete
    6. huaaaaa...
      udah ada kok splash.xml nya..

      kyaknya dr awal saya bkin program di android, masalahnya kyak gni trus gan...

      gmna donk gan.. ??
      mohon bantuannya lagi ^_^

      Delete
    7. Itu udah saya kasih link downloadnya supaya gak repot lagi XD

      Delete
  6. Saya berhasil dan aplikasi berjalan lancar, tapi kenapa ada 2 icon yg sama saling terhubung? saya compile langsung di Device (smartphone). Biasanya klo misal buat hello world, lalu run.. hanya akan ada 1 icon. Help.. gimana mengetasinya? krn jika di hapus salah satu, maka hilang semua... Trims

    ReplyDelete
    Replies
    1. This comment has been removed by the author.

      Delete
    2. menambahkan gan, itu script yang di androidManifest.xml tepatnya di activity "BuserActivity" ada intent-filter dalamnya ada script MAIN sama LAUNCHER smpai intent-filter lagi dihapus aja gan, karena udah ada di script atasnya, kalau dua nanti iconnya ada 2. thx

      Delete
  7. Maaf gan mau nanya itu adroid manifestnya di edit juga nda?

    ReplyDelete
  8. Very nice article :-)

    FREE Create, Upload dan Publish APK ke Google Play Store GRATIS via SantriPlay
    visit: gontorpedia.com/SantriPlay

    ReplyDelete
  9. kalau supaya splash screen-nya sampai menemukan titik lokasi gps latitude & longitude gimana ya ? dan kalau udah lebih dari 5 menit tidak bisa menemukan muncul alert "lokasi tidak ditemukan" gt. makasih bantuannya.

    ReplyDelete

Copyright © 2015 priawadi.com All Rights Reserved.