Подтвердить что ты не робот

Как отображать одноразовый экран приветствия?

В моем приложении для Android мне нужно создать экран приветствия, который будет показан пользователю только один раз после того, как приложение будет установлено и открыто. Это приложение, основанное на базе данных, и я хотел бы включить некоторые 3 - 4 экрана, чтобы помочь пользователю создать повторно используемые ресурсы для использования в приложении и несколько советов. Они были бы оповещением о диалоговом окне с последним диалоговым окном приветствия, который показывает флажок "Не показывать снова".

Проблема в том, как показать экран приветствия только один раз. Любая помощь или указатели на этот эффект очень ценятся.

4b9b3361

Ответ 1

Сохраните флаг в настройках при запуске приложения после того, как вы сделали материал приветственного экрана. Проверьте этот флаг, прежде чем показывать экран приветствия. Если флаг присутствует (другими словами, если он не первый раз), не показывайте его.

Ответ 2

Вот какой код из моего приложения, который делает именно это.

В вашей деятельности:

SharedPreferences mPrefs;
final String welcomeScreenShownPref = "welcomeScreenShown";

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

    mPrefs = PreferenceManager.getDefaultSharedPreferences(this);

    // second argument is the default to use if the preference can't be found
    Boolean welcomeScreenShown = mPrefs.getBoolean(welcomeScreenShownPref, false);

    if (!welcomeScreenShown) {
        // here you can launch another activity if you like
        // the code below will display a popup

        String whatsNewTitle = getResources().getString(R.string.whatsNewTitle);
        String whatsNewText = getResources().getString(R.string.whatsNewText);
        new AlertDialog.Builder(this).setIcon(android.R.drawable.ic_dialog_alert).setTitle(whatsNewTitle).setMessage(whatsNewText).setPositiveButton(
                R.string.ok, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.dismiss();
                    }
                }).show();
        SharedPreferences.Editor editor = mPrefs.edit();
        editor.putBoolean(welcomeScreenShownPref, true);
        editor.commit(); // Very important to save the preference
    }

}

Ответ 3

Я создал SplashScreen с этим:

package com.olidroide;


import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;


public class SplashScreen extends Activity{
/** Called when the activity is first created. */
     public ProgressDialog myDialog; 

    @Override
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.splashscreen);

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

            public void run() { 
                myDialog = ProgressDialog.show(SplashScreen.this,"", "Loading", true);

                Intent intent=new Intent(SplashScreen.this,OtherActivity.class);
                SplashScreen.this.startActivity(intent);
                myDialog.dismiss();
                SplashScreen.this.finish();     
            }

        }, 3000);// 3 Seconds
    }
};