مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

hmovaghari

عضویت از 1394/01/29

ساخت صفحه splash

  • سه شنبه 3 فروردین 1395
  • 23:57
تشکر میکنم

سلام

من برای نرم افزار خودم یه splash screen ساختم.

روی امولاتور خوب جواب میده و پس از 5 ثانیه وارد صفحه اصلی نرم افزار میشه. ولی زمانی که فایل نصبی نرم افزار رو روی گوشی نصب و اجرا می کنم روی صفحه splash می مونه و صفحه اصلی نرم افزار باز نمیشود!

دلیل این مشکل چیه؟ چطوری رفعش کنم؟

پاسخ های این پرسش

تعداد پاسخ ها : 9 پاسخ
کاربر سایت

نرجس اسماعیلی

عضویت از 1393/01/20

  • شنبه 14 فروردین 1395
  • 08:58

سلام یک thread تعریف کنید و یک مقدار برای  آن مشخص نمایید، به محض تمام شدن زمان صفحه ی اصلی باید نمایش داده شود، حتما هم داخل متد oncreate تعریف نمایید و activity مورد نظر را صدا بزنید.این چند مورد را تست کنید اگر مشکلی بود کد را قرار دهید.

کاربر سایت

hmovaghari

عضویت از 1394/01/29

  • شنبه 14 فروردین 1395
  • 19:43

کدی که نوشته ام به صورت زیر هست. روی شبیه ساز درست جواب میدهد. ولی روی گوشه نه! ( در صفحه مربوط به splash یا intro می ماند و صفحه بعد باز نمی شود!)

namespace App
{
[Activity(Label = "App", MainLauncher = true, Icon = "@drawable/icon", NoHistory = true)]
    public class SplashActivity : Activity
    {
        Timer timer = new Timer();
        
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            // Create your application here
            SetContentView(Resource.Layout.SplashScreen);

            timer.Interval = 5000;
            timer.Elapsed += timer_Elapsed;
            timer.Start();
        }

        void timer_Elapsed(object sender, ElapsedEventArgs e)
        {
            StartActivity(typeof(Activity1));
            timer.Stop();
        }
    }
}

لطفا کمک کنید

کاربر سایت

نرجس اسماعیلی

عضویت از 1393/01/20

  • یکشنبه 15 فروردین 1395
  • 08:40

شما activity که برای splash تعریف کردید فقط start کردید باید این activity بسته هم شود کد زیر را امتخان کنید به جای کد خودتون

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
 
public class SplashScreen extends Activity {
 
    // Splash screen timer
    private static int SPLASH_TIME_OUT = 3000;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash);
 
        new Handler().postDelayed(new Runnable() {
 
            /*
             * Showing splash screen with a timer. This will be useful when you
             * want to show case your app logo / company
             */
 
            @Override
            public void run() {
                // This method will be executed once the timer is over
                // Start your app main activity
                Intent i = new Intent(SplashScreen.this, MainActivity.class);
                startActivity(i);
 
                // close this activity
                finish();
            }
        }, SPLASH_TIME_OUT);
    }
 
}

 

کاربر سایت

hmovaghari

عضویت از 1394/01/29

  • دوشنبه 16 فروردین 1395
  • 23:04

این کد رو وارد کردم ارور داد نتونستم کامپایل کنم!

کاربر سایت

نرجس اسماعیلی

عضویت از 1393/01/20

  • دوشنبه 16 فروردین 1395
  • 23:58

چه اروری میده لطفا ارور و بزارید

کاربر سایت

نرجس اسماعیلی

عضویت از 1393/01/20

  • سه شنبه 17 فروردین 1395
  • 13:59

این لینک مقاله را مطالعه کنید نمونه کد هم قرار گرفته است سوالی بود بفرمایید.

کاربر سایت

hmovaghari

عضویت از 1394/01/29

  • چهارشنبه 25 فروردین 1395
  • 22:14

کدی که در آموزش بود را وارد کردم. فرقی نکرد! باز هم مثل قبل در شبیه ساز درست نشان میدهد! ولی در موبایل ظاهرا Time کار نمیکند و وارد صفحه بعد نمی شود

کاربر سایت

نرجس اسماعیلی

عضویت از 1393/01/20

  • یکشنبه 29 فروردین 1395
  • 12:06

من روی گوشی خودم امتحان کردم درست کار می کنه همین Apk من و روی گوشی خودتون نصب کنید ببینید درست کار میکنه یا نه ؟

شاید رویداد و داخل androidmanifest معرفی نکردید که زمانی که تایم تموم شد وارد activity دوم برود.

کاربر سایت

hmovaghari

عضویت از 1394/01/29

  • چهارشنبه 1 اردیبهشت 1395
  • 00:37

سلام

من همون کد قبلی رو که نوشته بودم رو در چندتا گوشی چک کردم گوشی هایی که اندوید 4 دارند درست کار میکنه! ولی اندوید 5 و 6 روی صفحه splash گیر میکنه! دلیلش چی میتونه باشه؟

کد رو یک با ر دیگه میزارم :

namespace SLink
{
    [Activity(Label = "SLink", MainLauncher = true,Theme = "@android:style/Theme.Black.NoTitleBar.Fullscreen", Icon = "@drawable/icon", NoHistory = true)]
    public class SplashActivity : Activity
    {
        Timer timer = new Timer();
        
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            // Create your application here
            SetContentView(Resource.Layout.SplashScreen);

            timer.Interval = 5000;
            timer.Elapsed += timer_Elapsed;
            timer.Start();
        }

        void timer_Elapsed(object sender, ElapsedEventArgs e)
        {
            StartActivity(typeof(Activity1));
            timer.Stop();
        }
    }
}

فایل apk رو هم قرار میدم چک کنید

خانم اسماعیلی فایل apk رو که قرار دادین رو چطوری دانلود و تست کنم من هیچ لینکی ندیدم!

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)