ساخت صفحه ی Splash در اندروید

ساخت صفحه ی Splash در اندروید
در بسیاری از برنامه های اندرویدی، صفحه ای وجود دارد که هنگام شروع برنامه برای چند ثانیه نشان داده میشود و سپس محو میشود، در این صفحه عموما لوگو و عنوان برنامه یا شرکت سازنده ی برنامه به کاربران نشان داده میشود. در این مقاله به توضیح و نحوه ایجاد اینگونه صفحات میپردازیم.
 
دارالترجمه رسمی
دارالترجمه رسمی پارسیس شامل خدمات ترجمه رسمی و تخصصی در بیش از 60 زبان زنده دنیا
جای بروشور دیواری
خرید جای بروشور دیواری و رومیزی
افزونه های سئو وردپرس
بهترین افزونه های سئو وردپرس به صورت کاملا فارسی
تعمیر لوازم خانگی
تعمیر جاروبرقی، مایکروفر، بخارشوی، ظرفشویی، لباسشویی، سولاردام، کولرگازی
خودتان را اینجا معرفی کنید

اگر برای اپلیکیشن اندروید خود صفحه ی Splash تعریف نکنید هنگام اجرای اپلیکیشن شما در موبایل کاربر، به صورت پیشفرض صفحه ای مشکی با عنوان برنامه شما به کاربر نمایش داده میشود و سپس به اکتیویتی اصلی برنامه میرود، برای جلوگیری از این کار باید صفحه ی Splash برای اپ خود بسازید، ، پس از دیدن صفحه ی Splash کاربران باید به اکتیویتی اصلی برنامه هدایت شوند و نکته ی مهمی که وجود دارد این میباشید که کاربران نباید با زدن دکمه ی Back گوشی بتوانند به صفحه ی Splash دسترسی پیدا کنند.

ابتدا یک صفحه xml میسازیم به اسم splashscreen.xml و صفحه ای که به عنوان صفحه ی splash میخواهیم نشان بدهیم را طراحی میکنیم، برای مثال میتوانیم از این قطعه کد ساده استفاده کنیم :  
<?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:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:text="Hello World, splash"/>

  </LinearLayout>

سپس باید کد Java را وارد کنیم، یک کلاس به اسم Splash بسازید، قطعه کد زیر را در آن وارد کنید، در ادامه نحوه کارکرد این کد را توضیح خواهم داد :
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;


public class Splash extends Activity {

    private final int SPLASH_DISPLAY_LENGTH = 2000;

    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.splashscreen);

        new Handler().postDelayed(new Runnable() {

            @Override
            public void run() {
                Intent mainIntent = new Intent(Splash.this, SplashScreenActivity.class);
                Splash.this.startActivity(mainIntent);
                Splash.this.finish();
            }
        }, SPLASH_DISPLAY_LENGTH);
    }
}
 یک متغیر به اسم SPLASH_DISPLAY_LENGTH تعریف کردیم که در آن زمان مورد نیاز برای نشان دادن صفحه Splash را به میلی ثانیه وارد میکنیم. سپس یک Handler میسازیم، استفاده از Handler و runnable به این دلیل است که اپلیکیشن ما ارورهای مربوط به Thread UI ندهد و روان اجرا شود، اگر به مفاهیم برنامه نویسی همزمانی یا Concurrent Programming تسلط ندارید میتوانید از این قسمت کد به صورت کلیشه در پروژه هایتان استفاده کنید. در نهایت هم در متد run با استفاده از intent در اندروید از اکتیویتی splash به اکتیویتی مورد نظرمان در برنامه میرویم.

نکته

فایل Manifest فراموش نشود وگرنه تمام زحمات شما به باد میرود !! در فایل منیفست باید اولین اکتیویتی که آغازگر برنامه میباشد را اکتیویتی Splash معرفی کنیم و بعد اکتیویتی های مربوط به برنامه خودمان را معرفی کنیم، برای مثال کد Manifest ما باید شبیه به کد زیر باشد :
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="splashscreen.me.here"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="8" />

    <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=".SplashScreenActivity"
            android:label="@string/app_name" >
        </activity>
        
                
    </application>

</manifest>

  نتیجه گیری

استفاده از صفحه Splash اغلب اوقات برای زیبایی اپلیکیشن بکار میرود، همچنین میتواند معرفی کوتاهی از شما، برنامه ی شما یا حتی شرکت شما باشد.  
 

محمد یه دانشجوی فناوری اطلاعات هست که از سال 92 فعالیتش رو شروع کرد، در حال حاضر در زمینه ی برنامه نویسی تحت وب و اندروید و شبکه های ارتباطی سیسکو فعالیت میکنه .

نظرات و سوالات کاربران

ارسال پاسخ leyla
leyla
دوشنبه ۱۹ مهر ۱۳۹۵ ۱۲:۴۹
ممنون به خاطر آموزشتون.
عالی بود!