Add the loading screen in starting of the android application

My app is loading the start page in 10 seconds. In that time of 10 sec android screen is blank.
In that time I want to add the loading screen. How to add it?
And tell me in app how to know the starting page is loading? And tell me how to do in my app?

  • How to make a nested Json object in Java?
  • How to add source of 'Android Private Libraries' to ADT eclipse?
  • OCR library to recognize numbers on meter device
  • Android Studio: “Could not reserve enough space for object heap” when making module
  • Execution failed for task 'app:mergeDebugResources' Crunching Cruncher…png failed
  • How to update version number of react native app
  • AsyncTask.executeOnExecutor() before API Level 11
  • IllegalArgumentException: Window type can not be changed after the window is added
  • Android: View.setID(int id) programmatically - how to avoid ID conflicts?
  • Calendar Intent field Title/Description not working in Motorola Xoom Honeycomb 3.1 and Acer Iconia
  • Styles and themes on values, values-v11 and values-v14 folders
  • Monkey made my app meow
  • 7 Solutions collect form web for “Add the loading screen in starting of the android application”

    You can use splash screen in your first loading Activity like this:

    @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.splash);
    
            Thread welcomeThread = new Thread() {
    
                @Override
                public void run() {
                    try {
                        super.run();
                        sleep(10000);  //Delay of 10 seconds
                    } catch (Exception e) {
    
                    } finally {
    
                        Intent i = new Intent(SplashActivity.this,
                                MainActivity.class);
                        startActivity(i);
                        finish();
                    }
                }
            };
            welcomeThread.start();
        }
    

    Hope this code helps you.

    use ProgressDialog.

    ProgressDialog dialog=new ProgressDialog(context);
    dialog.setMessage("message");
    dialog.setCancelable(false);
    dialog.setInverseBackgroundForced(false);
    dialog.show();
    

    hide it whenever your UI is ready with data. call :

    dialog.hide();
    

    You can create a custom loading screen instead of splash screen. if you show a splash screen for 10 sec, it’s not a good idea for user experience. So it’s better to add a custom loading screen. For a custom loading screen you may need some different images to make that feel like a gif. after that add the images in the res folder and make a class like this :-

    public class LoadingScreen {private ImageView loading;
    
    LoadingScreen(ImageView loading) {
        this.loading = loading;
    }
    
    public void setLoadScreen(){
        final Integer[] loadingImages = {R.mipmap.loading_1, R.mipmap.loading_2, R.mipmap.loading_3, R.mipmap.loading_4};
        final Handler loadingHandler = new Handler();
        Runnable runnable = new Runnable() {
            int loadingImgIndex = 0;
            public void run() {
                loading.setImageResource(loadingImages[loadingImgIndex]);
                loadingImgIndex++;
                if (loadingImgIndex >= loadingImages.length)
                    loadingImgIndex = 0;
                loadingHandler.postDelayed(this, 500);
            }
        };
        loadingHandler.postDelayed(runnable, 500);
    }}
    

    In your MainActivity, you can pass a to the LoadingScreen class like this :-

    private ImageView loadingImage;
    

    Don’t forget to add an ImageView in activity_main.
    After that call the LoadingScreen class like this;

    LoadingScreen loadingscreen = new LoadingScreen(loadingImage);
    loadingscreen.setLoadScreen();
    

    I hope this will help you

    Please read this article

    Splash screens just waste your time, right? As an Android developer, when I see a splash screen, I know that some poor dev had to add a three-second delay to the code.

    Then, I have to stare at some picture for three seconds until I can use the app. And I have to do this every time it’s launched. I know which app I opened. I know what it does. Just let me use it!

    Splash Screens the Right Way

    I believe that Google isn’t contradicting itself; the old advice and the new stand together. (That said, it’s still not a good idea to use a splash screen that wastes a user’s time. Please don’t do that.)

    However, Android apps do take some amount of time to start up, especially on a cold start. There is a delay there that you may not be able to avoid. Instead of leaving a blank screen during this time, why not show the user something nice? This is the approach Google is advocating. Don’t waste the user’s time, but don’t show them a blank, unconfigured section of the app the first time they launch it, either.

    If you look at recent updates to Google apps, you’ll see appropriate uses of the splash screen. Take a look at the YouTube app, for example.

    enter image description here

    public class Splash extends Activity {
    
        private final int SPLASH_DISPLAY_LENGHT = 3000;            //set your time here......
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.splash);
    
            new Handler().postDelayed(new Runnable(){
                @Override
                public void run() {
                    /* Create an Intent that will start the Menu-Activity. */
                    Intent mainIntent = new Intent(Splash.this,MainActivity.class);
                    Splash.this.startActivity(mainIntent);
                    Splash.this.finish();
                }
            }, SPLASH_DISPLAY_LENGHT);
        }
    }
    

    If the application is not doing anything in that 10 seconds, this will form a bad design only to make the user wait for 10 seconds doing nothing.

    If there is something going on in that, or if you wish to implement 10 seconds delay splash screen,Here is the Code :

    ProgressDialog pd;
    pd = ProgressDialog.show(this,"Please Wait...", "Loading Application..", false, true);
    pd.setCanceledOnTouchOutside(false);
    Thread t = new Thread()
    { 
          @Override
          public void run()
          {
                    try
                    {
                        sleep(10000)  //Delay of 10 seconds
                    } 
            catch (Exception e) {}
            handler.sendEmptyMessage(0);
            }
    } ;
    t.start();
    
    //Handles the thread result of the Backup being executed.
    private Handler handler = new Handler()
    {
        @Override
        public void handleMessage(Message msg) 
        {
            pd.dismiss();
            //Start the Next Activity here...
    
        }
    };
    

    Write the code:

      @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.splash);
    
            Thread welcomeThread = new Thread() {
    
                @Override
                public void run() {
                    try {
                        super.run();
                        sleep(10000)  //Delay of 10 seconds
                    } catch (Exception e) {
    
                    } finally {
    
                        Intent i = new Intent(SplashActivity.this,
                                MainActivity.class);
                        startActivity(i);
                        finish();
                    }
                }
            };
            welcomeThread.start();
        }
    
    Android Babe is a Google Android Fan, All about Android Phones, Android Wear, Android Dev and Android Games Apps and so on.